Rather have us handle this? We set this up for clients every day.
See the Service
Guides / Real Estate

RESO Web API Setup

OAuth setup, endpoint configuration, and data dictionary for RESO Web API feeds.

Last verified: April 2026

What RESO Web API Is

RESO Web API is the modern standard for accessing MLS listing data. It replaces the older RETS protocol with a RESTful, OData-based API that uses standardized field names and OAuth 2.0 authentication.

If your MLS has migrated to RESO Web API (most major ones have or are in the process), this is what we’ll use to pull listing data for your integration.

How It Differs from RETS

If you’ve worked with MLS data before, you may be familiar with RETS. Here’s what changed:

RETSRESO Web API
ProtocolCustom XML-basedRESTful (JSON/OData)
AuthUsername/password per sessionOAuth 2.0
Field namesVary by MLSStandardized (Data Dictionary)
Data formatCOMPACT or XMLJSON
Media/photosSeparate download processDirect URL access

The biggest practical improvement is the Data Dictionary — standardized field names across MLSs. Instead of every MLS using different names for “list price” or “square footage,” RESO defines standard names. This makes integrations more portable between MLSs.

For a full walkthrough of the RETS approach, see our RETS Connection Setup guide.

Authentication: OAuth 2.0

1. Get Your Credentials

Each MLS issues OAuth credentials through their developer or data access program. You’ll receive:

  • Client ID (sometimes called Consumer Key)
  • Client Secret (sometimes called Consumer Secret)
  • Token endpoint URL — where we exchange credentials for an access token
  • API base URL — the endpoint for data queries

The process for requesting these varies by MLS. Some have a developer portal with self-service registration, others require a formal application.

2. Token Exchange

The OAuth flow for RESO Web API is typically client credentials:

  1. We send the client ID and secret to the token endpoint
  2. The MLS returns an access token (and usually a refresh token)
  3. We include the access token in all API requests
  4. When the token expires, we refresh it automatically

This is all handled by our integration — you just need to provide the initial credentials.

The Data Dictionary

The RESO Data Dictionary defines standardized names for common real estate fields:

  • ListPrice instead of MLS-specific names like LP or list_price or ListingPrice
  • BedroomsTotal instead of BR or num_beds
  • StandardStatus for listing status (Active, Pending, Closed, etc.)
  • ListingKey as the unique identifier

Your MLS may also include local fields beyond the standard dictionary. We’ll map both standard and local fields based on your integration requirements.

Common Queries

Once authenticated, we query data using OData syntax. The most common queries we build:

  • Active listings filtered by status, area, or property type
  • Recently modified listings using the ModificationTimestamp field for incremental syncs
  • Single listing lookup by ListingKey or MLS number
  • Media/photos associated with listings

We also use the $select parameter to request only the fields we need, keeping responses fast and data transfer minimal.

Let's talk about your systems. Tell us what tools you're using and what's not working. We'll tell you what's possible.
Get in touch

Common Issues

MLS Still on RETS

Not all MLSs have completed the migration. Some offer both RETS and RESO Web API during a transition period. If your MLS only supports RETS, see our RETS Connection Setup guide.

Credential Application Takes Time

MLS credential applications can take days to weeks depending on the MLS. Start this process early — it’s often the longest lead time in an MLS integration project.

Rate Limits and Query Limits

Each MLS sets their own rate limits and may restrict the number of records per query. We design our sync process to work within these limits, but unusually restrictive MLSs can slow down initial data loads.

Local Fields Not in the Data Dictionary

If your integration needs MLS-specific fields that aren’t part of the RESO standard, we’ll need to identify the local field names. The MLS metadata endpoint usually provides this information.

Next Steps

Need help with the full integration?

This guide covers the setup. If you want us to handle the integration end to end, we can do that.

See Integration Services