Odyssey Apps

FetchMLS

The MLS data your work runs on, delivered before you have to go looking for it.

FetchMLS is designed to watch your MLS under your own Flexmls login, pull what matches your buyers' active criteria, and put it in front of you.

FetchMLS: new matchesTue 7:04 AM
K. Whitmore · 3bd · to $500k · TillamookR. & T. Deleon · to $540k · BayoceanM. Aldous · acreage · Trask River
AddressList priceMatched brief
812 Alder Ct, TillamookNEW$486,000K. Whitmore
1240 Bayocean RdNEW$529,900R. & T. Deleon
47 Netarts Hwy$415,000 ▾ 12kK. Whitmore
88 Trask River RdNEW$597,500M. Aldous
615 Stillwell Ave$449,000K. Whitmore
Watching under your own Flexmls login ·  Spark API  ·  no scraping, no mirror
Concept panel: the interface is in development.

The same morning search, every morning

I log into my MLS and see if there's any new properties on the market
A working agent, from the interview record this module is built on.

That daily search is necessary work, but it's also repetitive work that a machine can do faster and more consistently than a person toggling between browser tabs at 7 a.m. FetchMLS is designed to run those queries under your own Flexmls login, match against criteria you've already set for each buyer, and surface what's new. You still decide what to send and who to call. The tool handles the looking.

Built on the Spark API, under your own login

FetchMLS is designed to connect through FBS's sanctioned Spark API, the same platform your MLS already uses. No scraping. No screen recording. No workaround.

Your data stays yours

One login, one agent's data

Each agent reaches only their own MLS's data, under their own Flexmls login. FetchMLS is designed with one developer key per MLS, and each member authorizes through that login. The tool stores access and refresh tokens, never passwords. Turning off a connection deletes those tokens.

Data stays with the agent who authorized it. It's not pooled, not cached across accounts, and not shared outside the authorized member's own use. There's no global cache. One agent's authorization can't surface another agent's data.

What the AI sees

FetchMLS's AI features, including matching and drafting, are designed to send listing data to Anthropic's Claude API. Anthropic acts as a subprocessor under its Commercial Terms, not the consumer claude.ai product. Under those terms, your data isn't used to train AI models. This is a disclosed, well-scoped subprocessor processing data for your own client work.

How the connection works

When an agent leaves or their MLS membership lapses, their stored authorization is invalidated rather than left to linger. A lapsed connection produces a clear re-authorization prompt, not a silent stale read.

What gets displayed, and why

FetchMLS selects and displays listings on objective criteria only: location, price, property type. Any listing the tool displays honors the source MLS's own compliance rules delivered through the API, including required fields, disclaimer text, and source-MLS logo and tracking.

Built for agents who work alone

FetchMLS is being built by Odyssey Apps. It's not live yet, and it doesn't connect to any MLS yet. What you've read on this page is a description of what the tool is designed to do, built against the Spark API's published documentation and a working agent's actual daily routine.

Join the Beta