Authentication
To access the Realtyfeed API, authentication is required. The API uses the OAuth2 Client Credentials flow for authentication.
...
Once you've authenticated, the next step for building a client is finding out what data you can get out of MLS Router Realtyfeed API. To do this, you query the metadata endpoint.
...
Now that we know what fields are available via MLS Router Realtyfeed API, it's time to start fetching property data.
...
To retrieve data from the MLS Router Realtyfeed API, please include the following headers in each request:
Authorization
: Set this header with the value "Bearer <access_token>" (replace<access_token>
with the actual access token obtained during authentication).x-api-key
: Include this header with the API key provided by Realtyna. (Optional)Origin
: Include this header with the API key provided by Realtyna. (Optional)Referer
: Include this header with the API key provided by Realtyna. (Optional)
The endpoint structure of all search requests is:
...
Valid resource
values include the names of the valid RESO resources: Property, Member, Office, PropertyRooms and OpenHouse.
Sample for Property Search:
...
Info |
---|
RESO Media is nested within the Property Resource. |
Info |
---|
Realtyfeed API excludes any fields with null value from the payload to keep that as small as possible. |
By default, MLS Router Realtyfeed API returns 10 20 records per query. If this is your first foray into MLS Router Realtyfeed API, it will be enough for you to learn about the structure of the data that's returned.
Parameter | Description |
---|---|
| URI for getting the next set of records. Will only be present when there are more records to retrieve. |
| An array of objects. The data you came for. |
| Max number of returned records |
| Total number of pages to get all the records |
| Total number of the records |
While you look through the data you have pulled back, there is one field that you should pay special attention to: ListingKey. This field is the unique identifier for the Property record.
ListingKey is the unique identifier for Property records
Request Parameters
The MLS Router Realtyfeed API supports the following parameters for search requests:
Parameter | Description |
---|---|
$top | To get more records per query, we use the $top parameter. If you want just one record, you can specify $top=1, or if you want one hundred, $top=100. (default is 20 - max value is 200) |
$skip | Use $skip to skip over a number of records. This is most useful in combination with $top to iterate over the results of a query. (default is 0) |
$select | You can limit the fields you want with $select. For example, if you want just the ListingKey and the StandardStatus, you would use $select=ListingKey, StandardStatus Realtyfeed API returns only important fields by default. use $select=ALL to get all the available fields. |
$filter | You can get specific records you want with the $filter. Check Searchable fields section. |
$expand | Pull in data from related resources. For example, $expand=OpenHouse would retrieve associated Openhouses data. |
$apply | to perform data transformation operations. Sample: $apply=groupby((CountyOrParish), (aggregate($count as ListingCount))) will return number of records in each available County |
$feature | It’s a RealtyFeed exclusive parameter which will prioritize the response. |
...
Strings are relatively straightforward in MLS Router Realtyfeed API. They are always enclosed in single quotes (') and if you need a single quote in the string, you simply double it up, e.g. 'O''Brien'.
...
Code Block |
---|
GET https://api.realtyfeed.com/reso/odata/Property('ListingKey') or GET https://api.realtyfeed.com/reso/odata/Member('MemberKey') |
Don’t hesitate to contact Realtyna Support, if you have any questions.
Errors
401 Unauthorized
A 401 http response results when authentication fails. This is likely due to using an invalid x-api-key or account suspension.
...