flexmls API

The documentation for the Flexmls IDX API has moved to the Spark Platform website. Please click here to view.
Please note that, even though the Flexmls IDX API shares the the same API as the Spark Platform, signing up for and using the Flexmls IDX API is separate from the Spark Platform. The Spark Platform is only for products sold through the Spark Store. There currently isn’t a way for developers to use the Spark API other than for products sold through the Spark Store. Further, the Flexmls IDX API is only available for MLSs that use the Flexmls Web system. On a related note, for MLSs only using the Spark Platform (but not the Flexmls Web system), the Flexmls IDX API is not available and the only way to use the Spark API is for products sold through the Spark Store. If you have any questions about the difference between Flexmls IDX and the Spark Platform, please email inquiry at spark platform dot com.

The flexmls API, hosted from http://api.flexmls.com/, provides a RESTful JSON API for developers.

To be authorized to use the API, please first read the Getting Started page, which contains details on how to obtain an API key. You also must agree to the Terms of Service.

Background Information

Some of the services provided by the flexmls API are as follows:

  • Performing searches of listings, open houses, and other listing-related data
  • Retrieving listing data from listing searches, including links to photos and other attachments
  • Retrieving market statistics for specified geographical regions
  • Adding contacts to and retrieving contacts from the contact manager within flexmls
  • See the API Services documentation for a complete list

The API is versioned, meaning that future enhancements that alter the API in a non-backwards-compatible fashion will be released as a new version rather than just releasing the updates and breaking any clients that are using the old version. The version is required in each request and is specified in the URI (e.g. http://api.flexmls.com/v1/….) The API also is rate limited. If your key exceeds the rate limit, an HTTP 503 is returned along with the corresponding flexmls API error code and a Retry-After header indicating the retry period. The limits are designed to be reasonable, but if you need a higher limit, please contact us.

Note: The latest API version is /v1/.


All requests must be authenticated.

We’d like it if you would tell us what your application is with user agent identifiers. So, each request supports up to two headers to track that information, as follows:

Header Description
User-Agent Specifies the client library being used, such as one of the supported API clients listed below. If you are using one of the API clients, there is no need to set this header manually.
X-flexmlsApi-User-Agent Specifies the name of the software built on top of the client library. One example is the flexmls WordPress IDX plugin, which is built on the PHP API client linked below.

Requests and responses contain an outermost object, D, which ensures JSON payloads returned from the flexmls API are valid JSON statements, but not valid JavaScript statements. This prevents a flexmls API JSON response from being executed as the result of a cross site scripting (XSS) attack. This security concept was inspired by the OData JSON Protocol.

Development Using the flexmls API

While you are developing your application, please use the API endpoint of http://api.developers.flexmls.com/ . When your application will be going live, please use http://api.flexmls.com/ .

API Clients

Feel free to use one of the following API clients to make working with the flexmls API easier.

API Services and Supporting Documentation

Comments on this entry are closed.