Rightmove API endpoint
Search Rightmove's student-accommodation listings for a location, with monthly-rent, bedroom, and furnishing filters. Prices are monthly rents in whole GBP units.
/rightmove/student/search| 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) |
min_price | integer | no | — | Minimum monthly rent in whole GBP units, not pence |
max_price | integer | no | — | Maximum monthly rent in whole GBP units, not pence |
min_bedrooms | integer | no | — | Minimum number of bedrooms |
max_bedrooms | integer | no | — | Maximum number of bedrooms |
furnish_type | string | no | — | Furnishing filter: furnished, unfurnished, part_furnished |
| 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 | Monthly rent in whole currency units; 2629 means £2,629 per month |
results[].price_text | string | Formatted price string (e.g., £2,629 pcm) |
results[].price_frequency | string | Price frequency (monthly for student rents) |
results[].currency | string | Currency code (always GBP) |
results[].bedrooms | integer | Number of bedrooms (0 for studios) |
results[].bathrooms | integer | Number of bathrooms |
results[].property_type | string | Property subtype (e.g., Apartment) |
results[].status | string | Transaction type (rent) |
results[].size | string | Floor area as displayed by Rightmove, e.g. 451 sq. ft. |
results[].added_or_reduced | string | Listing update indicator, e.g. Added on 06/08/2026 |
400 — Invalid or missing location parameter, invalid furnish_type, or invalid filter ranges503 — Upstream error (Rightmove unreachable or response format changed)500 — Internal server error/student-accommodation/find.html with channel=STUDENTS_RENT)furnish_type maps part_furnished to Rightmove's own partFurnished value| Field | Filled in, of 25 checked | Values in the sample |
|---|---|---|
| id | 25 | |
| title | 25 | “2 bedroom apartment” and 8 other values |
| address | 25 | |
| url | 25 | rightmove.co.uk |
| image | 25 | media.rightmove.co.uk |
| price | 25 | 650 to 4,670, median 2,400 |
| price_text | 25 | “£2,750 pcm” and 22 other values |
| price_frequency | 25 | monthly (24), weekly (1) |
| currency | 25 | GBP in all 25 |
| bedrooms | 21 | 1 to 6, median 2 |
| bathrooms | 25 | 1 to 2, median 1 |
| property_type | 25 | Apartment (11), Flat (8), Studio (3) and 3 more |
| status | 25 | rent in all 25 |
| size | 3 | “786 sq. ft.” and 1 other value |
| added_or_reduced | 25 | Added today (16), Reduced today (8), Reduced on 02/10/2026 (1) |
| development | 4 | true in 4 of 4 |
| tenure | 3 | “FREEHOLD” and 1 other value |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| location | string | Yes | Rightmove location identifier from autocomplete | REGION^87490 | |
| page | integer | No | Result page (default 1) | ||
| min_price | integer | No | Minimum monthly rent in whole GBP units, not pence | ||
| max_price | integer | No | Maximum monthly rent in whole GBP units, not pence | ||
| min_bedrooms | integer | No | Minimum bedrooms | ||
| max_bedrooms | integer | No | Maximum bedrooms | ||
| furnish_type | string | No | Furnishing filter Allowed values: furnished, unfurnished, part_furnished. | ||
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/rightmove/student/search?location=REGION%5E87490&page=1&furnish_type=furnished" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"location": "REGION^87490",
"page": 1,
"total": 1883,
"results": [
{
"id": "92538831",
"title": "Studio apartment",
"address": "George Street, Tower Hamlets, London",
"url": "https://www.rightmove.co.uk/properties/92538831#/?channel=STU_LET",
"image": "https://media.rightmove.co.uk/property-photo/92538831.jpg",
"price": 2629,
"price_text": "£2,629 pcm",
"price_frequency": "monthly",
"currency": "GBP",
"bedrooms": 0,
"bathrooms": 1,
"property_type": "Apartment",
"status": "rent",
"size": "451 sq. ft.",
"added_or_reduced": "Added on 06/08/2026"
}
]
}
}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/student/search?location=REGION%5E87490&page=1&furnish_type=furnished" \
-H "x-api-key: $CRAWLORA_API_KEY"