Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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

@odata.nextLink

URI for getting the next set of records. Will only be present when there are more records to retrieve.

value

An array of objects. The data you came for.

page_size

Max number of returned records

page_count

Total number of pages to get all the records

@odata.count

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.
Sample: /Property?$filter=StandardStatus eq ‘Active'&$feature=ListAgentMlsId eq ‘1234' will return active listings and prioritize listings of agent# 1234 at the beginning of 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.

...