MLS Grid Web API v2

MLS Grid's RESO Web API — a replication-oriented OData v4 surface over listing data normalized to the RESO Data Dictionary and pooled from the participating MLSs. Documented entity sets are Property, Member, Office, OpenHouse and Lookup, with Media, Rooms and UnitTypes available through $expand (and Media standalone where the originating MLS permits). Replication is driven by $filter on OriginatingSystemName plus ModificationTimestamp, paged with @odata.nextLink. Authentication is a long-lived OAuth 2.0 bearer token issued through the MLS Grid web application after a subscription, a licensee and MLS approval are in place; the service requires an Accept-Encoding header containing gzip on every request. Documented rate limits are 2 requests/second, 7,200 requests/hour, 40,000 requests/24 hours and 4 GB/hour, enforced with HTTP 429 and token suspension. Probed anonymously on 2026-07-26: the service root, /Property and $metadata all returned HTTP 401, so no machine-readable contract could be downloaded.

Documentation

Other Resources

API entry from apis.yml

apis.yml Raw ↑
aid: mls-grid:mls-grid-web-api
name: MLS Grid Web API v2
description: 'MLS Grid''s RESO Web API — a replication-oriented OData v4 surface over listing data normalized
  to the RESO Data Dictionary and pooled from the participating MLSs. Documented entity sets are Property,
  Member, Office, OpenHouse and Lookup, with Media, Rooms and UnitTypes available through $expand (and
  Media standalone where the originating MLS permits). Replication is driven by $filter on OriginatingSystemName
  plus ModificationTimestamp, paged with @odata.nextLink. Authentication is a long-lived OAuth 2.0 bearer
  token issued through the MLS Grid web application after a subscription, a licensee and MLS approval
  are in place; the service requires an Accept-Encoding header containing gzip on every request. Documented
  rate limits are 2 requests/second, 7,200 requests/hour, 40,000 requests/24 hours and 4 GB/hour, enforced
  with HTTP 429 and token suspension. Probed anonymously on 2026-07-26: the service root, /Property and
  $metadata all returned HTTP 401, so no machine-readable contract could be downloaded.'
humanURL: https://docs.mlsgrid.com/api-documentation/api-version-2.0.md
baseURL: https://api.mlsgrid.com/v2/
tags:
- Real Estate
- MLS
- RESO
- OData
- Property Listings
- Replication
properties:
- type: Documentation
  url: https://docs.mlsgrid.com/api-documentation/api-version-2.0.md
- type: Documentation
  url: https://docs.mlsgrid.com/master.md
- type: APIReference
  name: API Version 2.0 reference
  url: https://docs.mlsgrid.com/api-documentation/api-version-2.0.md
- type: GettingStarted
  name: MLS Grid Documentation — overview and how to start replicating
  url: https://docs.mlsgrid.com/master.md
- type: Metadata
  url: https://api.mlsgrid.com/v2/$metadata
- type: RateLimits
  name: Documented rate limits and data caps
  url: rate-limits/mls-grid-rate-limits.yml
- type: Authentication
  name: Authentication profile
  url: authentication/mls-grid-authentication.yml
- type: Conventions
  name: API conventions (OData replication semantics)
  url: conventions/mls-grid-conventions.yml
- type: ErrorCatalog
  name: Error conditions and envelope
  url: errors/mls-grid-problem-types.yml
- type: DataModel
  name: Entity model and relationships
  url: data-model/mls-grid-data-model.yml
- type: Examples
  name: Documented request and response examples
  url: examples/_index.yml
- type: LicenseAgreement
  url: https://www.mlsgrid.com/s/MLS-GRID-Data-License-Agreement.pdf
- type: Support
  url: mailto:support@mlsgrid.com