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)
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)
*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