RESO Web API Overview
The documentation we provide does not fully document the RESO Web API itself; rather, it's meant to get you up and running on our implementation of the standard.
- Making Requests
- Response Description
The RESO Web API endpoint is at:
Because our RESO Web API shares the same authentication and authorization infrastructure as the Spark API, you can use the same API keys provided for the Spark API to access the RESO Web API endpoints.
The method for obtaining authorization from end users and making authenticated requests is identical to accessing the Spark API directly. See our authentication documentation for more information.
3. Making Requests
Our RESO Web API provides the following distinct endpoints:
Metadata is accessible at:
Using the Property resource as our example, all properties can be retrieved at:
An individual property can be retrieved at:
<PropertyId> is the same data as
Id when using the Spark API listings service.
If a listing's
20100000000000000000000000, your request should be:
Note that the Media endpoint is accessed as a subresource of listings. So, to find the
media for listing
20100000000000000000000000, your would hit the URI:
Each service supports some or all of the request parameters documented on our RESO request parameters page.
This OData service only responds to JSON format except for the
$metadata endpoint, which returns XML.
OData specifications that the RESO Web API is built upon dictate that certain values can't contain spaces, non-alpha-numeric characters, etc. When they do, the values need to be encoded. Some field values and all custom field names are encoded. These values start with
b__, and the corresponding human-readable values can be looked up in the metadata. A text search for the encoded
b__ value in the metadata will highlight the corresponding display value, which should be swapped in for the encoded value. Here's an example of a metadata entry that connects an encoded value and a display value:
<Property Name="b__59d9ijzegz196o3kefjd2ts0436qcbskxgs6wstjyz3jv23mg52g0vlbszpq4o5o02t4cuz7uwhsz8z" Type="Edm.Int64"> <Annotation Term="MLS.OData.Metadata.LocalName" String="Main House # of Generators"/> </Property>
Do not hardcode the specific encoded values to translations. The encoded translation values are subject to change without notice. As such, a dynamic process to pull metadata in real-time and use it for the translations is required.