RESO Web API

The RESO Web API is the ratified transport standard for real estate data, defined as a profile of OData 4.0/4.01 (Web API Core 2.0.0 and 2.1.0). Servers MUST expose an OData XML metadata document at /$metadata relative to their service root, MUST return JSON for data requests, MUST use TLS 1.2 or above, and MUST authenticate with OAuth2 Bearer tokens or the Client Credentials grant (RCP-026). RESO publishes the specification, the reference Data Dictionary EDMX metadata and the RESO Commander testing tool, but RESO operates NO endpoint of its own and no base URL is documented here for that reason - every conformant server is run by an individual MLS or data provider. Access is not self-serve: RESO states that "access to data from the Web API is gained through local MLSs" and that "RESO does not provide MLS real estate data. RESO creates data standards." The api.reso.org host that appears in the specification text is an illustrative example only and does not resolve.

Documentation

Other Resources

🔗
Specification
https://github.com/RESOStandards/transport/blob/main/proposals/web-api-core.md
🔗
Metadata
https://raw.githubusercontent.com/api-evangelist/reso/refs/heads/main/openapi/reso-dd-2.1-enum.xml
🔗
Metadata
https://raw.githubusercontent.com/api-evangelist/reso/refs/heads/main/openapi/reso-dd-2.1-lookup-resource.xml
🔗
Metadata
https://raw.githubusercontent.com/api-evangelist/reso/refs/heads/main/openapi/reso-dd-2.0-enum.xml
🔗
Metadata
https://raw.githubusercontent.com/api-evangelist/reso/refs/heads/main/openapi/reso-dd-2.0-lookup-resource.xml
🔗
Metadata
https://raw.githubusercontent.com/api-evangelist/reso/refs/heads/main/openapi/reso-dd-1.7-enum.xml
🔗
Metadata
https://raw.githubusercontent.com/api-evangelist/reso/refs/heads/main/openapi/reso-dd-1.7-lookup-resource.xml
🔗
DataModel
https://raw.githubusercontent.com/api-evangelist/reso/refs/heads/main/openapi/reso-dd-2.1.json
🔗
DataModel
https://raw.githubusercontent.com/api-evangelist/reso/refs/heads/main/openapi/reso-dd-2.0.json
🔗
DataModel
https://raw.githubusercontent.com/api-evangelist/reso/refs/heads/main/openapi/reso-dd-1.7.json
🔗
Webhooks
https://github.com/RESOStandards/transport/blob/main/proposals/webhooks-push.md
🔗
Specification
https://github.com/RESOStandards/transport/blob/main/proposals/entity-events.md
🔗
Specification
https://github.com/RESOStandards/transport/blob/main/proposals/data-dictionary.md
🔗
Tooling
https://github.com/RESOStandards/web-api-commander
🔗
ReferenceImplementation
https://github.com/RESOStandards/reso-web-api-reference-server
🔗
Certification
https://www.reso.org/certificates/
🔗
Conventions
https://raw.githubusercontent.com/api-evangelist/reso/refs/heads/main/conventions/reso-conventions.yml
🔗
ErrorCatalog
https://raw.githubusercontent.com/api-evangelist/reso/refs/heads/main/errors/reso-problem-types.yml
🔗
DataModel
https://raw.githubusercontent.com/api-evangelist/reso/refs/heads/main/data-model/reso-data-model.yml
🔗
Webhooks
https://raw.githubusercontent.com/api-evangelist/reso/refs/heads/main/asyncapi/reso-webhooks.yml
🔗
APIsJSON
https://raw.githubusercontent.com/api-evangelist/reso/refs/heads/main/apis.yml

API entry from apis.yml

apis.yml Raw ↑
aid: reso:reso-web-api
name: RESO Web API
description: 'The RESO Web API is the ratified transport standard for real estate data, defined as a profile
  of OData 4.0/4.01 (Web API Core 2.0.0 and 2.1.0). Servers MUST expose an OData XML metadata document
  at /$metadata relative to their service root, MUST return JSON for data requests, MUST use TLS 1.2 or
  above, and MUST authenticate with OAuth2 Bearer tokens or the Client Credentials grant (RCP-026). RESO
  publishes the specification, the reference Data Dictionary EDMX metadata and the RESO Commander testing
  tool, but RESO operates NO endpoint of its own and no base URL is documented here for that reason -
  every conformant server is run by an individual MLS or data provider. Access is not self-serve: RESO
  states that "access to data from the Web API is gained through local MLSs" and that "RESO does not provide
  MLS real estate data. RESO creates data standards." The api.reso.org host that appears in the specification
  text is an illustrative example only and does not resolve.'
humanURL: https://www.reso.org/reso-web-api/
tags:
- Web API
- OData
- MLS
- Transport
- Certification
properties:
- type: Specification
  url: https://github.com/RESOStandards/transport/blob/main/proposals/web-api-core.md
  name: RESO Web API Core specification (RCP-37)
- type: Documentation
  url: https://www.reso.org/reso-web-api/
- type: Documentation
  url: https://transport.reso.org/
- type: Metadata
  url: openapi/reso-dd-2.1-enum.xml
  name: RESO Data Dictionary 2.1 reference OData EDMX metadata (enumerations)
- type: Metadata
  url: openapi/reso-dd-2.1-lookup-resource.xml
  name: RESO Data Dictionary 2.1 reference OData EDMX metadata (Lookup Resource)
- type: Metadata
  url: openapi/reso-dd-2.0-enum.xml
  name: RESO Data Dictionary 2.0 reference OData EDMX metadata (enumerations)
- type: Metadata
  url: openapi/reso-dd-2.0-lookup-resource.xml
  name: RESO Data Dictionary 2.0 reference OData EDMX metadata (Lookup Resource)
- type: Metadata
  url: openapi/reso-dd-1.7-enum.xml
  name: RESO Data Dictionary 1.7 reference OData EDMX metadata (enumerations)
- type: Metadata
  url: openapi/reso-dd-1.7-lookup-resource.xml
  name: RESO Data Dictionary 1.7 reference OData EDMX metadata (Lookup Resource)
- type: DataModel
  url: openapi/reso-dd-2.1.json
  name: RESO Data Dictionary 2.1 machine-readable reference (JSON)
- type: DataModel
  url: openapi/reso-dd-2.0.json
  name: RESO Data Dictionary 2.0 machine-readable reference (JSON)
- type: DataModel
  url: openapi/reso-dd-1.7.json
  name: RESO Data Dictionary 1.7 machine-readable reference (JSON)
- type: Webhooks
  url: https://github.com/RESOStandards/transport/blob/main/proposals/webhooks-push.md
  name: Push Replication with EntityEvent and Webhooks (RCP-28)
- type: Specification
  url: https://github.com/RESOStandards/transport/blob/main/proposals/entity-events.md
  name: EntityEvent Resource and Replication (RCP-27)
- type: Specification
  url: https://github.com/RESOStandards/transport/blob/main/proposals/data-dictionary.md
  name: RESO Data Dictionary specification (RCP-36)
- type: Tooling
  url: https://github.com/RESOStandards/web-api-commander
  name: RESO Commander - Web API certification and testing tool
- type: ReferenceImplementation
  url: https://github.com/RESOStandards/reso-web-api-reference-server
  name: RESO Web API and Data Dictionary compliant reference server (self-hosted, localhost only)
- type: Certification
  url: https://www.reso.org/certificates/
  name: Public directory of RESO-certified organizations
- type: Conventions
  url: conventions/reso-conventions.yml
  name: RESO Web API cross-cutting conventions (OData query options, pagination, versioning, errors)
- type: ErrorCatalog
  url: errors/reso-problem-types.yml
  name: OData JSON error envelope and Web API Core response-code table
- type: Authentication
  url: authentication/reso-authentication.yml
  name: RESO Web API authentication profile (OAuth2 Bearer / Client Credentials, RCP-026)
- type: DataModel
  url: data-model/reso-data-model.yml
  name: Derived Data Dictionary 2.1 entity-relationship graph (44 entities, 146 relationships)
- type: Webhooks
  url: asyncapi/reso-webhooks.yml
  name: EntityEvent (RCP-27) and Push Replication with Webhooks (RCP-28) event surface