Overview

Jump Right In!

Already Have an API Key?

We've written a simple PHP application demonstrating end-user authorization and data retrieval. Check out the project on github, poke around the source code, and run the application. If you're already set up with a web server and PHP, you should have this application up and running in minutes.

No API Key?

You can still interact with the API right now using our API Explorer. You'll find links to the explorer on the bottom of the documentation for many API Services .

Examples

We have a growing set of API examples that will guide as you become familiar with our API. Check them out now, and check back often.

Listing Display

Be aware from the start that when you display listing data, you must follow the compliance rules defined by the MLS.

Not all listing data is suitable for display.
When using the Listings Service, you must consult the corresponding meta data services (e.g. Property Types and Standard Fields) for the PropertyType standard field and any other field where the HasList is true in the meta data.

See an example here.

MLS Data Sharing Agreements

Some MLSs having data sharing agreements, allowing a user to search listings in other MLSs. Consult the MlsId field in the standard fields service to see the MLSs whose listing data can be accessed.

API URIs

The production API endpoint is located at https://sparkapi.com/. The Authentication endpoint, as well as the Spark Bar Service and Tile Information Service is located at https://sparkplatform.com.

The API is versioned. The Listings resource for Spark API version 1, for example, will be located at http://sparkapi.com/v1/listings.

Note: The latest API version is /v1/.

Rate Limit

The API also is rate limited. If your key exceeds the rate limit, an HTTP 503 is returned along with the corresponding Spark 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.

HTTP Headers

Please include the following user agent identifiers with each API request:
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-SparkApi-User-Agent You must supply this request header, or your request will not be successful. 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.

API Clients

Check out our list of Spark API clients.

Notifications

Certain actions in the API will trigger a notification to the end user to inform them of the event. Please review the current notification types to understand what events spawn these notifications as well as the types of notifications you can deliver to the end user manually.