The MLSTM RESO WebApi

Credential

Contact CLAW MLS to request an access token. (see request form below*)

An access token can be embedded in
(For example, an access token is RsT5OjbzRn430zqMLgV3Ia)

  1. Request header
    i.e.: Authorization: Bearer RsT5OjbzRn430zqMLgV3Ia
  2. Or in URL
    I.e.: ?access_token=RsT5OjbzRn430zqMLgV3Ia

Endpoint

https://rets2.themls.com/CLAWResoApi-v1

Metadata

https://rets2.themls.com/CLAWResoApi-v1/$metadata?access_token=[access_token]

Resources

Property*

Member

Office

Openhouse

*media is always embedded in Property.

$filter

Operator

Meaning

Example

eq

Equal To

ListingKey eq '17-297532'

ne

Not Equal To

ViewYN ne false

gt

Greater Than

BathsTotal gt 3

ge

Greater Than or Equal To

ModificationTimestamp gt 2022-02-09T08:50:11-08:00

lt

Less Than

ListPrice lt 350000

le

Less Than or Equal To

LotSizeArea le 1000

and

Both conditions are true

Beds ge 3 and BathsTotal ge 3

or

Either condition is true

Beds ge 3 or BathsTotal ge 3

not

Condition is not true

not (Beds eq 2)

has

Multi-Select Has Value

Amenities has 'Biking'

$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. One caveat is that if you only select an expanded value (e.g., $select=Rooms), you will get all of the fields back in addition to the expanded value.

$count

Using $count=true will return the total number of results that match your query. Because of the limits on how many records you get per query, the total count will often be more than the number of records returned by the query. To account for this, you can use $top and $skip or the replication endpoint to iterate through the records until you download the total number of records.

$top

Use $top to specify the number of records you want returned. For most queries, the maximum you can return for most queries is 1,000 for non-property resources or 100 for property resources.

$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 that returns more than 1,000 records. $top+$skip must be no more than 500,000.

$expand

You can use $expand to pull in data from related resources. In its simplest form, it looks like $expand=ListAgent, which would pull in all of the associated rooms data. You can pull in data for more than one resource by listing them out separated by commas, e.g., $expand=ListAgent ,OpenHouses.

$orderby

Use $orderby to specify a custom sort order for search results.
If you are using nextLink (or $skip), ensure that you incorporate
$orderby=ModificationTimestamp into your query to avoid any gaps or missing data.

Limits

Resource

Default

Maximum $top

Maximum ($top + $skip)

Property

10

100

500,000

Member

10

100-1000

500,000

Office

10

100-1000

500,000

Openhouse

10

100-1000

500,000

Sample searches

(w/o access_token)

https://rets2.themls.com/CLAWResoApi-v1/Property?$filter=ModificationTimestamp gt 2022-02-09T08:50:11-08:00

https://rets2.themls.com/CLAWResoApi-v1/Property?$filter=ModificationTimestamp gt 2022-02-09T08:50:11-08:00 and ListingStatus eq 'Active'


*Sample request form

Username

<MLS Username> if available

User type

Choose one:  IDX, Datashare

Data usage

Choose one: Replication, Live search

MlsID list

Choose one or more: CLAW, PS, IMPERIAL, BridgeMLS, ITECH, VCRDS, CDAR, CRMLS, MLSL, CRISNET, SDMLS

Company Name

<Company Name>

Contact Name

<Contact Name>

Contact Position

<Contact Position>

Contact Email(s)

<Contact Person Email> to receive web api update info

Access token

[to be assigned by office]

Version 1 - February 9, 2022