BulkData User document(Beta)

Summary

IDX BulkData provides a convenient, programmable resource for users who want to access, store, and manage MLS data on their own. You can use the BulkData API to access over 600+ MLS’ data with multiple usable endpoints. The data has been sanitized to follow industry standard, so users can be confident they are getting consistent data even across different MLS systems. The data is updated hourly, but it is also possible to do full and/or incremental updates of the resources as needed.

API Endpoints (Beta)

EndpointsDescription
TokenThis endpoint is used to obtain an AccessToken, which is required for downloading listings, images, agents, and offices. This token can also be used to check MLS permission and is different than x-api-key. This token will expire hourly.
MLSInfoThis endpoint is used to obtain overall MLS feed info including property count, property statuses, property types, property sub-types, agent count, office count, and last updated.
ListingsThis endpoint provides data for individual listings, such as acres, square feet, price, bedrooms, and bathrooms.
ImagesThis endpoint provides image data such as high resolution url, thumbnail URL, and captions.
AgentsThis endpoint provides agent data such as agent name, agent ID, office ID, email, and phone number.
OfficesThis endpoint provides office data such as office name, office ID, and phone number.

Token endpoint

https://data-services.idxbroker.com/beta/live/token

The Token endpoint requires a POST request as well as username and password in the request body, and x-api-key in the header. This will return an AccessToken, which is required for the mlsinfo and property resource endpoints. The AccessToken is set to expire every hour and must be replaced in order to continue using mlsinfo and property resource endpoints.

Request Headers

ParameterRequired
x-api-key

Request Body parameters

ParameterRequired
username
password

Response

MLS info endpoint

https://data-services.idxbroker.com/beta/live/mlsinfo

The Mlsinfo endpoint requires AccessToken and x-api-key in the request headers. The mlsinfo provides an overview of MLS data, such as listing count, agent count, office count, and last updated date.

Request Headers

ParameterRequired
AccessToken
x-api-key

Request URL parameters

ParameterRequiredAddtional
idxIDAllow one or multiple
e.g. idxID=a001 or idxID=a001,a002
limitOnly allow one and maximum is 10.
e.g. limit=5
offsete.g. offset=20

Response

Property Resource endpoints

All property resource endpoints (listings, images, agents, and offices) require an AccessToken and x-api-key in the request headers.

Listings endpoint

https://data-services.idxbroker.com/beta/live/listings

Request Headers

ParameterRequired
AccessToken
x-api-key

Request URL parameters

ParameterRequiredAddtional
idxIDOnly allow one
e.g. https://data-services.idxbroker.com/beta/live/listings?idxID=a001
listingIDAllow one or multiple listingID
e.g. listingID=x0000001 or listingID=x0000001,x0000002
statusCategoryAllow one or multiple statusCategory - active, sold, offmarket
e.g. statusCategory=active or statusCategory=active,sold
mlsPtIDAllow one or multiple mlsPtID
e.g. mlsPtID=1 or mlsPtID=1,2
updated(gt, gte, lt, lte):YYYY-MM-DDThh:mm:SS
Allow one or multiple updated
e.g. updated=gt:2017-01-01 or updated=gt:2017-01-01,lt:2017-02-01
limitOnly allow one and maximum is 500.
e.g. limit=499
offsete.g. offset=1000
selectAllow one or multiple select.
e.g. select=listingID or select=listingID,idxID

Response

Images endpoint

https://data-services.idxbroker.com/beta/live/images

Request Headers

ParameterRequired
AccessToken
x-api-key

Request URL parameters

ParameterRequiredAddtional
idxIDOnly allow one, e.g. idxID=a001
listingIDAllow one or multiple listingID
e.g. listingID=x0000001ororlistingID=x0000001,x0000002
updated(gt, gte, lt, lte):YYYY-MM-DDThh:mm:SS
Allow one or multiple updated
e.g. updated=gt:2017-01-01 or updated=gt:2017-01-01,lt:2017-02-01
limitOnly allow one and maximum is 500.e.g.limit=499
offsete.g. offset=1000

Response

Images data uses listing ids and priorties as keys.

Agents endpoint

https://data-services.idxbroker.com/beta/live/agents

Request Headers

ParameterRequired
AccessToken
x-api-key

Request URL parameters

ParameterRequiredAddtional
idxIDOnly allow one, e.g. idxID=a001
agentIDAllow one or multiple agentID
e.g. agentID=V211511918 or agentID=V211511918,V211512197
officeIDAllow one or multiple officeID
e.g. officeID=V3600 or officeID=V3600,V6241
updated(gt, gte, lt, lte):YYYY-MM-DDThh:mm:SS
Allow one or multiple updated
e.g. updated=gt:2017-01-01 or updated=gt:2017-01-01,lt:2017-02-01
limitOnly allow one and maximum is 500.
e.g. limit=499
offsete.g. offset=1000
selectAllow one or multiple select.
e.g. select=agentID or select=agentID,idxID

Response

Offices endpoint

https://data-services.idxbroker.com/beta/live/offices

Request Headers

ParameterRequired
AccessToken
x-api-key

Request URL parameters

ParameterRequiredAddtional
idxIDOnly allow one, e.g. idxID=a001
officeIDAllow one or multiple officeID
e.g. officeID=V3600 or officeID=V3600,V6241
updated(gt, gte, lt, lte):YYYY-MM-DDThh:mm:SS
Allow one or multiple updated
e.g. updated=gt:2017-01-01 or updated=gt:2017-01-01,lt:2017-02-01
limitOnly allow one and maximum is 500.
e.g. limit=499
offsete.g. offset=1000
selectAllow one or multiple select.
e.g. select=officeID or select=officeID,idxID

Response

Status Codes

200 OK

Good request.

401 Unauthorized

Missing AccessToken or Invalid AccessToken

403 Forbidden

The HTTP resource may not be supported (URL may be incorrect).

410 Gone

The MLS has undergone migration. If there is an equivalent MLS, the response will return the new idxid. If there is no equivalent MLS, the idxid will be null and you should contact developers@idxbroker.com.

422 Unprocessable entity

The query value is invalid. The response will include the specific value.

500 Internal Server Error

The backend service is down. Please contact developers@idxbroker.com.

Recommendation

We recommend beginning with a full update, and then running incremental updates every hour rather than hourly full updates.

Resources

Postman

The BulkData API postman collection is an easy way to look at data.

Starter

Changelog

2021-01-28

2020-08-17

2019-06-17