RESO, the Real Estate Standards Organization, is the United States industry body that writes and certifies the machine-readable contract for residential real estate data. It publishes the RESO Data Dictionary (the field, enumeration and lookup vocabulary) and the RESO Web API (an OData 4.0/4.01 profile, Web API Core 2.0.0 ratified Jan 2021 and 2.1.0 ratified Dec 2023), plus the RESO Common Format, EntityEvent replication, Push Replication with Webhooks, Validation Expressions and the URN-based Universal Parcel Identifier (UPI). NAR Policy Statement 7.90 requires MLSs owned and operated by associations of REALTORS to implement the Data Dictionary and the Web API and to adopt new releases within one year of ratification, which makes this the only mandated machine-readable API contract in the API Evangelist sector study that is imposed by an industry body rather than a regulator. RESO itself operates no production API and holds no listing data: it certifies other people's servers. Its specifications, reference OData EDMX metadata and Data Dictionary JSON are freely and anonymously downloadable from transport.reso.org and the RESOStandards GitHub organization (a EULA click-through wraps the reso.org copies), and the certification directory at reso.org/certificates and certification.reso.org is public without login. Reachability is the separate fact: a RESO-certified endpoint is run by a local MLS, and credentials for it are issued only after a data licence with that MLS is signed, so certification here means conformance, never public access.
RESO (Real Estate Standards Organization) publishes 2 APIs on the APIs.io network. Tagged areas include Real Estate, United States, RESO, MLS, and Property Listings.
The RESO (Real Estate Standards Organization) catalog on APIs.io includes 1 event-driven AsyncAPI specification.
RESO (Real Estate Standards Organization)’s developer surface includes documentation, pricing, engineering blog, API reference, getting-started guide, support, signup flow, and 43 more developer resources.
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...
The RESO Cloud MCP Server is the one production API endpoint RESO itself operates. It speaks the Model Context Protocol over Streamable HTTP at https://services.reso.org/mcp and...
aid: reso
url: https://raw.githubusercontent.com/api-evangelist/reso/refs/heads/main/apis.yml
name: RESO (Real Estate Standards Organization)
kind: company
description: 'RESO, the Real Estate Standards Organization, is the United States industry body that writes and certifies the
machine-readable contract for residential real estate data. It publishes the RESO Data Dictionary (the field, enumeration
and lookup vocabulary) and the RESO Web API (an OData 4.0/4.01 profile, Web API Core 2.0.0 ratified Jan 2021 and 2.1.0 ratified
Dec 2023), plus the RESO Common Format, EntityEvent replication, Push Replication with Webhooks, Validation Expressions
and the URN-based Universal Parcel Identifier (UPI). NAR Policy Statement 7.90 requires MLSs owned and operated by associations
of REALTORS to implement the Data Dictionary and the Web API and to adopt new releases within one year of ratification,
which makes this the only mandated machine-readable API contract in the API Evangelist sector study that is imposed by an
industry body rather than a regulator. RESO itself operates no production API and holds no listing data: it certifies other
people''s servers. Its specifications, reference OData EDMX metadata and Data Dictionary JSON are freely and anonymously
downloadable from transport.reso.org and the RESOStandards GitHub organization (a EULA click-through wraps the reso.org
copies), and the certification directory at reso.org/certificates and certification.reso.org is public without login. Reachability
is the separate fact: a RESO-certified endpoint is run by a local MLS, and credentials for it are issued only after a data
licence with that MLS is signed, so certification here means conformance, never public access.'
image: https://www.reso.org/wp-content/uploads/2021/04/RESO-Logo-Fullname_Horizontal_Blue.png
tags:
- Real Estate
- United States
- RESO
- MLS
- Property Listings
- Data Standards
- OData
- Industry Body
- IDX
- PropTech
created: '2026-07-26'
modified: '2026-07-26'
specificationVersion: '0.19'
apis:
- 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
- aid: reso:reso-cloud-mcp
name: RESO Cloud MCP Server
description: 'The RESO Cloud MCP Server is the one production API endpoint RESO itself operates. It speaks the Model Context
Protocol over Streamable HTTP at https://services.reso.org/mcp and exposes the RESO toolchain to AI agents - authenticate,
query, metadata, create, update, delete and parse-filter - so an agent can work against any RESO-certified OData server
without knowing OData syntax. It is a broker, not a data source: every tool call takes a target server URL and that server''s
credentials, and RESO stores no listing data behind it. Access is beta and gated on an API key issued by RESO on request
to dev@reso.org, available to RESO members and conference attendees; an anonymous tools/list returns HTTP 401 with a JSON-RPC
error pointing at that address. The same tool interfaces are available offline via the local stdio server (@reso-standards/reso-mcp-server),
which adds the validate, run-compliance and metadata-report certification tools.'
humanURL: https://tools.reso.org/packages/reso-mcp-server
baseURL: https://services.reso.org/mcp
tags:
- MCP
- AI Agents
- OData
- Certification
- Tooling
properties:
- type: MCPServer
url: mcp/reso-mcp.yml
name: RESO MCP server manifest (hosted cloud server + local stdio server)
- type: ToolCrosswalk
url: mcp/reso-tool-crosswalk.yml
name: MCP tool to OData request-form crosswalk
- type: Documentation
url: https://github.com/RESOStandards/reso-tools/blob/main/reso-mcp-server/doc/GUIDE.md
name: RESO MCP Server User Guide
- type: Documentation
url: https://github.com/RESOStandards/reso-tools/blob/main/reso-mcp-server/README.md
name: RESO MCP Server README
- type: Authentication
url: authentication/reso-authentication.yml
name: API-key bearer auth on the cloud server; OAuth2 pass-through to target servers
- type: SourceCode
url: https://github.com/RESOStandards/reso-tools/tree/main/reso-mcp-server
common:
- type: DomainSecurity
url: security/reso-domain-security.yml
- type: Website
url: https://www.reso.org/
- type: About
url: https://www.reso.org/about-reso/
- type: Documentation
url: https://transport.reso.org/
- type: Specification
url: https://www.reso.org/specs/
name: RESO specifications directory
- type: Specification
url: https://github.com/RESOStandards/transport/blob/main/proposals/reso-common-format.md
name: RESO Common Format (RCP-25)
- type: Specification
url: https://github.com/RESOStandards/transport/blob/main/proposals/validation-expressions.md
name: Web API Validation Expressions (RCP-19)
- type: DataDictionary
url: https://www.reso.org/data-dictionary/
- type: DataDictionary
url: https://dd.reso.org/
name: RESO Data Dictionary Wiki
- type: Identifiers
url: https://www.reso.org/universal-parcel-identifier/
name: Universal Parcel Identifier (UPI) 2.0, URN-based
- type: Tooling
url: https://upi.reso.org/builder/
name: RESO UPI Builder
- type: Certification
url: https://www.reso.org/certification/
- type: Certification
url: https://certification.reso.org/
name: RESO Analytics certification portal and endorsement directory
- type: Pricing
url: https://www.reso.org/certification-fee-schedule/
name: RESO certification fee schedule (complimentary for members)
- type: Membership
url: https://www.reso.org/membership/
- type: TermsOfService
url: https://www.reso.org/eula/
name: RESO End-user License Agreement gating spec downloads from reso.org
- type: GitHubOrganization
url: https://github.com/RESOStandards
- type: Blog
url: https://www.reso.org/blog/
- type: BlogRSS
url: https://www.reso.org/feed/
- type: Regulation
url: https://www.nar.realtor/handbook-on-multiple-listing-policy/operational-issues-section-12-real-estate-transaction-standards-rets-policy-statement-790
name: NAR Policy Statement 7.90 - RESO Standards implementation requirement for association-owned MLSs
- type: Email
url: mailto:dev@reso.org
name: RESO developer and certification contact
- type: DeveloperPortal
url: https://tools.reso.org/
name: RESO Tools - developer portal for the open-source RESO toolchain
- type: APIReference
url: https://dd.reso.org/
name: RESO Data Dictionary Wiki - per-resource, per-field reference
- type: GettingStarted
url: https://www.reso.org/developer-resources/
name: RESO developer resources
- type: Support
url: https://www.reso.org/support/
- type: HelpCenter
url: https://www.reso.org/developer-faqs/
name: RESO developer FAQs
- type: SignUp
url: https://www.reso.org/join/
name: Join RESO (membership is the gate on certification, not on reading the standards)
- type: Roadmap
url: https://transport.reso.org/
name: RESO Transport specifications - 7 ratified standards and 14 in-progress change proposals
- type: ChangeLog
url: https://tools.reso.org/releases/
name: RESO Tools release notes
- type: ChangeLog
url: changelog/reso-changelog.yml
name: Structured changelog - tooling releases, specification ratifications and policy milestones
- type: Lifecycle
url: lifecycle/reso-lifecycle.yml
name: Versioning policy, ratification process, deprecation notices and endorsement expiry
- type: Deprecation
url: https://transport.reso.org/versioning/
name: RESO versioning and breaking-change policy (the deprecation model for the standards)
- type: Conventions
url: conventions/reso-conventions.yml
name: RESO Web API cross-cutting conventions
- 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 authentication profile
- type: Conformance
url: conformance/reso-conformance.yml
name: Cross-cutting standards the RESO Web API profile conforms to
- type: Packages
url: packages/reso-packages.yml
name: First-party RESO client libraries and tools across npm, Packagist and GitHub Releases
- type: SDKs
url: packages/reso-packages.yml
name: Official RESO SDKs - TypeScript (@reso-standards/*), PHP (reso/reso-php), Java (RESO Commander)
- type: CLI
url: cli/reso-cli.yml
name: reso-cert certification CLI, reso-mcp and the legacy RESO Commander
- type: Sandbox
url: sandbox/reso-sandbox.yml
name: Self-hosted RESO reference server, seeded synthetic data and compliance profiles
- type: Components
url: components/reso-components.yml
name: Prebuilt client-side surfaces - web client, desktop client, proxy and the UPI Builder
- type: DataModel
url: data-model/reso-data-model.yml
name: Derived Data Dictionary 2.1 entity-relationship graph
- type: Webhooks
url: asyncapi/reso-webhooks.yml
name: EntityEvent and Push Replication webhook event surface
- type: AgentSkill
url: skills/_index.yml
name: RESO agent skills index
- type: AgentSkill
url: skills/reso-query-a-certified-server.md
name: Query a RESO-certified Web API server
- type: AgentSkill
url: skills/reso-replicate-with-entityevent.md
name: Replicate a RESO feed with EntityEvent and webhooks
- type: AgentSkill
url: skills/reso-certify-a-server.md
name: Certify a server against RESO standards
- type: LLMsTxt
url: llms/reso-llms.txt
name: Generated llms.txt for RESO (RESO publishes none)
- type: SecurityAudit
url: security/reso-security-audit.yml
name: RESO Tools published security audit log (findings, severities and accepted risks)
- type: SecurityAudit
url: https://tools.reso.org/security/
name: RESO Security Audit Log
maintainers:
- FN: Kin Lane
email: kin@apievangelist.com