Listings Changes

Track changes on specific listings since a given date. Detects price drops (ListPrice vs PreviousListPrice) and status changes (Active → Closed/Sold). Useful for building alerts like 'this listing dropped $50K' or 'your saved property just sold'.

GET/v1/listings/changes

Authentication

OAuthAuthorization: Bearer

Requires OAuth access token (scope: listings)

Query Parameters

Sincestring
required

ISO 8601 timestamp. Returns listings modified after this date (e.g., 2026-03-15T00:00:00Z)

ListingIdsstring
required

Comma-separated MLS numbers to track (e.g., A11855701,A11923847)

ChangeTypeenum
optional

Filter by change type

price_changestatus_change
Offsetnumber
optional

Skip results for pagination

Default:0
Limitnumber
optional

Results per page (max 50)

Default:20

Responses

200Success
application/json
totalnumber
offsetnumber
limitnumber
sincestring
changesarray[object]

Define the listings and time window

Supply ListingIds as the comma-separated MLS numbers you want to monitor and Since as an ISO 8601 timestamp. This endpoint is designed for a known set of listings rather than an unrestricted search across every property. Use the listings scope on your OAuth token. Keep the original list of monitored identifiers in your application so a missing result is not mistaken for a deleted property.

Process changes deliberately

Choose price_change or status_change when your workflow needs only one change category. Use Offset and Limit to page through the results, keeping the same Since value and filters while processing a batch. Read the returned price and status fields before composing client messages. A modified record is evidence to inspect, not a reason to assume that every tracked property has changed.

Build reliable alerts

Store the records you have processed and avoid sending duplicate notifications when a job is retried. Test your integration against a small known set of listings before enabling client alerts. If a request fails, preserve the last successful checkpoint and investigate the response rather than advancing the checkpoint and silently skipping data.

OAuth authorization · Check the connected account · API setup guide