Developer Documentation
Platform Overview
Authentication
API Services
Overview Accounts Accounts: Associations Accounts: Metadata Accounts: Profile Appstore: Users Broker Distributions Broker Tours Consumers Consumers: Linked Agents Contacts Contacts: Activity Contacts: Export Contacts: Tags Contacts: Portal Accounts Developers: Identities Developers: Keys Developers: Authorizations Developers: Billing Summary Developers: Change History Developers: Domains Developers: News Feed Webhooks Developers: Roles Developers: Syndications Developers: Templates Developers: Usage Detail Developers: Usage Summary Devices Flexmls: Email Links Flexmls: Listing Meta Origins Flexmls: Listing Meta Translations Flexmls: Listing Meta Field List Translations Flexmls: Listing Reports Flexmls: Listing Updates Flexmls: Mapping Layers Flexmls: Mapping Shapegen IDX IDX Links Listing Carts Listing Carts: Portal/VOW Carts Incomplete Listings Incomplete Listings: Documents Incomplete Listings: Documents Metadata Incomplete Listings: Document Uploads Incomplete Listings: FloPlans Incomplete Listings: Photos Incomplete Listings: Photos Metadata Incomplete Listings: Photo Uploads Incomplete Listings: Rooms Incomplete Listings: Tickets Incomplete Listings: Units Incomplete Listings: Videos Incomplete Listings: Videos Metadata Incomplete Listings: Virtual Tours Incomplete Listings: Virtual Tours Metadata Listings Listings: Clusters Listings: Documents Listings: Documents Metadata Listings: FloPlans Listings: Historical Listings: History Listings: Hot Sheet Parameters Listings: Notes Listings: Search Parameters Listings: Open Houses Listings: Photos Listings: Photos Metadata Listings: Photo Uploads Listings: Document Uploads Listings: Rental Calendar Listings: Rooms Listings: Rules Listings: Tour of Homes Listings: Tickets Listings: Units Listings: Validation Listings: Videos Listings: Videos Metadata Listings: Virtual Tours Listings: Virtual Tours Metadata Listing Meta: Custom Fields Listing Meta: Custom Field Groups Listing Meta: Field Order Listing Meta: Field Relations Listing Meta: Property Types Listing Meta: Rooms Listing Meta: Standard Fields Listing Meta: Units Registered Listings Market Statistics Messages News Feed News Feed: Curation News Feed: Events News Feed: Groups News Feed: Metadata News Feed: Restrictions News Feed: Schedule News Feed: Settings News Feed: Templates Notifications Open Houses Overlays Overlays: Shapes Portals Portal Groups Portal Groups: Current Portal Groups: Tags Portals: Listing Categories Portals: Metadata Preferences Properties Properties: Clusters Properties Meta: Standard Fields Saved Searches Saved Searches: Provided Saved Searches: Restrictions Saved Searches: Tags Search Templates: Quick Searches Search Templates: Views Search Templates: Sorts Shared Links System Info System Info: Languages System Info: Search Templates
API Explorer
Supporting Documentation
Examples
RESO Web API
RETS
FloPlan
Terms of Use

Advantages of Spark®/RESO Web APIs Over RETS

There are two options for accessing Flexmls data outside Flexmls:

Although RETS is still widely used, the industry is shifting away from RETS towards APIs as the new standard for data exchange. Some MLSs are beginning to retire RETS and provide data access only via APIs. The Real Estate Standards Organization also no longer updates their RETS specs, having shifted their standards and certification efforts entirely to the RESO Web API. We encourage all developers and vendors to make the transition from RETS to the APIs - the standard for the foreseeable future - as soon as feasible. Beyond keeping up-to-date with industry standards, our APIs come with many advantages over RETS.

The advantages of the Spark and RESO Web APIs over RETS include:

API field name standardization

RETS field names are not human-readable and apply only to one MLS, but the APIs offer a greater level of standardization. The Spark API supports descriptive, human readable field names, with a large set of standard fields that apply to all MLSs. The RESO Web API offers the highest degree of field standardization, with mappings from Flexmls fields to RESO Data Dictionary fields wherever possible.

More standardization results in faster time to get up and running or expand to new markets. It also helps guard against field changes in the MLS system, whereas these usually require manual updates for RETS feeds.

Real-time, specific queries via the APIs

RETS requires users to download listings to their own local database for use. The APIs support live queries, allowing users to request data from our APIs in real-time and pass the response straight through to their website or app’s user. This ensures users see the very latest, up-to-the-minute accurate data with no lag. There’s no need to replicate and store data locally unless you choose to do so. The APIs also allow for much more specific requests than RETS, allowing developers to better target their requests and pull only the exact data they need.

Modern architecture for accessing data

Today, most programmers and apps not specifically familiar with RETS would expect to receive data via an API. RETS is a years-old, legacy system built on outdated technology. The APIs allow for seamless integration into modern technology stacks, without the overhead of learning an unfamiliar system.

More features available with the APIs

The Spark API provides access to a lot of data which is not available via RETS, including but not limited to:

...and more.

Automated API key request and issuance via the Spark Datamart

The Spark Datamart automates the process of developers and agents requesting API credentials, bringing licensing terms, pricing, and approvals together in one secure, convenient online space. MLSs can offer data plans (VOW, IDX, etc.) in the Spark Datamart and make them accessible for brokers, agents, and third-party developers to license.

More reliably pull data via the APIs

RETS requires many individual requests to pull all the data for a specific property. With the Spark API and our RESO Web API, far more listing data is accessible with a single request, reducing the chances of failed requests leaving holes in your data.