Rightmove API endpoint
Search Rightmove's commercial property listings for sale or to let, with price, floor-area (sq ft), and commercial-property-type filters. For to-let listings the price amount follows the listing's own frequency (monthly or yearly).
/rightmove/commercial/searchSearches Rightmove's commercial-property surface (offices, retail, industrial, warehouses, land, hotels, and more) for sale or to let. For to-let listings the price amount follows the listing's own frequency (monthly or yearly).
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
location | string | yes | — | Rightmove location identifier (from autocomplete, e.g., REGION^87490) |
page | integer | no | 1 | Result page (1-indexed) |
status | string | no | buy | Listing status: buy, let |
min_price | integer | no | — | Minimum price in whole GBP units, not pence |
max_price | integer | no | — | Maximum price in whole GBP units, not pence |
min_size | integer | no | — | Minimum floor area in square feet |
max_size | integer | no | — | Maximum floor area in square feet |
property_type | string | no | — | Commercial property type filter. Accepts one or more comma-separated values. Allowed values: business-park, office, serviced-office, convenience-store, hairdresser-barber-shop, post-office, retail_property_high_street_, retail_property_out_of_town_, retail_property_pop_up_, retail_property_retail_park_, retail_property_shopping_centre_, shop, showroom, trade-counter, bar-nightclub, cafe, leisure-facility, guest-house, hotel, hospitality, pub, restaurant, takeaway, other, distribution-warehouse, factory, heavy-industrial, industrial-park, light-industrial, storage, warehouse, workshop, industrial-development, land, farm, residential-development, healthcare-facility, childcare-facility, commercial-property, garage, mixed-use, commercial-development, petrol_station, place_of_worship. Shared identically across status=buy and status=let. |
| Field | Type | Description |
|---|---|---|
location | string | Echo of the input location |
page | integer | Current page number |
total | integer | Total number of matching properties |
results[].id | string | Rightmove property ID |
results[].title | string | Full property description |
results[].address | string | Display address |
results[].url | string | Direct link to property on Rightmove |
results[].image | string | Main property image URL |
results[].price | integer | Price in whole currency units; for GBP, 1300000 means £1,300,000. For to-let listings the amount follows the listing's own frequency |
results[].price_text | string | Formatted price string |
results[].price_frequency | string | Price frequency for to-let listings (monthly or yearly); empty for sale listings |
results[].currency | string | Currency code (always GBP) |
results[].property_type | string | Commercial subtype (e.g., Office, Warehouse, Retail Property (high street), Land, Hotel) |
results[].status | string | Transaction type (buy or rent) |
results[].size | string | Floor area as displayed by Rightmove, e.g. 3,800 sq. ft. |
400 — Invalid or missing location parameter, invalid status, invalid filter ranges, or property_type not in the allowed value list503 — Upstream error (Rightmove unreachable or response format changed)500 — Internal server error/commercial-property-for-sale/find.html with channel=COMMERCIAL_BUY, or /commercial-property-to-let/find.html with channel=COMMERCIAL_RENT)/rightmove/properties/{id} resolves commercial listings too| Field | Filled in, of 29 checked | Values in the sample |
|---|---|---|
| id | 29 | |
| title | 29 | “Commercial property for sale” and 11 other values |
| address | 29 | |
| url | 29 | rightmove.co.uk |
| image | 28 | media.rightmove.co.uk |
| price | 28 | 175,000 to 65,000,000, median 11,500,000 |
| price_text | 29 | “POA” and 17 other values |
| currency | 29 | GBP in all 29 |
| property_type | 29 | “Commercial Property” and 10 other values |
| status | 29 | buy in all 29 |
| tenure | 27 | FREEHOLD (26), LEASEHOLD (1) |
| size | 20 | “2,792 sq. ft.” and 19 other values |
| bathrooms | 1 | 1 |
| bedrooms | 1 | 23 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| location | string | Yes | Rightmove location identifier from autocomplete | REGION^87490 | |
| page | integer | No | Result page (default 1) | ||
| status | string | No | Listing status (default buy) Allowed values: buy, let. | ||
| min_price | integer | No | Minimum price in whole GBP units, not pence | ||
| max_price | integer | No | Maximum price in whole GBP units, not pence | ||
| min_size | integer | No | Minimum floor area in square feet | ||
| max_size | integer | No | Maximum floor area in square feet | ||
| property_type | string | No | Commercial property type filter. Accepts one or more comma-separated values. Allowed values: business-park, office, serviced-office, convenience-store, hairdresser-barber-shop, post-office, retail_property_high_street_, retail_property_out_of_town_, retail_property_pop_up_, retail_property_retail_park_, retail_property_shopping_centre_, shop, showroom, trade-counter, bar-nightclub, cafe, leisure-facility, guest-house, hotel, hospitality, pub, restaurant, takeaway, other, distribution-warehouse, factory, heavy-industrial, industrial-park, light-industrial, storage, warehouse, workshop, industrial-development, land, farm, residential-development, healthcare-facility, childcare-facility, commercial-property, garage, mixed-use, commercial-development, petrol_station, place_of_worship. | ||
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/rightmove/commercial/search?location=REGION%5E87490&page=1&status=buy&property_type=business-park" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"location": "REGION^87490",
"page": 1,
"total": 1298,
"results": [
{
"id": "750588460242321",
"title": "Commercial property for sale",
"address": "The Vabel Chamberlayne, 750 - 756 Harrow Road, NW10",
"url": "https://www.rightmove.co.uk/properties/750588460242321#/?channel=COM_BUY",
"image": "https://media.rightmove.co.uk/property-photo/750588460242321.jpg",
"price": 1300000,
"price_text": "£1,300,000",
"currency": "GBP",
"property_type": "Commercial Property",
"status": "buy",
"size": "3,800 sq. ft."
}
]
}
}Request schema
No body schema
Response schema
Inline response schema
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | Code is the HTTP status code or a custom code used to indicate the result of the request @example 200 | |||
| data | rightmove.SearchResponse | No | ||||
| data.location | string | No | REGION^87490 | |||
| data.page | integer | No | 1 | |||
| data.results | array | No | PropertyItem record, 19 fields: added_or_reduced, address, bathrooms, bedrooms, currency, days_on_market, development, id, image, price, price_frequency, price_text and 7 more. Described under Rightmove Property Search API. | |||
| data.total | integer | No | 1245 | |||
| msg | unknown | No | Msg is the message that describes the result of the request @example "Request successful" |
| Status | Description | Schema |
|---|---|---|
| 400 | Invalid query parameter | #/definitions/app.Response |
| 500 | Internal server error | #/definitions/app.Response |
| 503 | Upstream error | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/rightmove/commercial/search?location=REGION%5E87490&page=1&status=buy&property_type=business-park" \
-H "x-api-key: $CRAWLORA_API_KEY"