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