Rightmove API endpoint
Returns one Rightmove listing by `id`: title, address, price and `price_text`, bedrooms, bathrooms, receptions, property type, status, description, features, floor plan, EPC rating, council tax band, tenure, agent reviews and nearby schools with Ofsted ratings. Removed or invalid ids return 404.
/rightmove/properties/{id}| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | yes | Rightmove property ID (e.g., 12345678) |
| Field | Type | Description |
|---|---|---|
id | string | Rightmove property ID |
title | string | Generated title from bedrooms and property type |
address | string | Full display address |
url | string | Direct link to property on Rightmove |
image | string | Main property image URL |
price | integer | Price in whole currency units; for GBP, 500000 means £500,000 |
price_text | string | Formatted price string |
currency | string | Currency code (GBP) |
bedrooms | integer | Number of bedrooms |
bathrooms | integer | Number of bathrooms |
receptions | integer | Number of reception rooms |
property_type | string | Property subtype |
status | string | Transaction type |
added_or_reduced | string | Price change reason (e.g., Price reduced, New listing) |
days_on_market | integer | Days since first listed (0 if not available) |
description | string | Full property description |
features | array | Key features bullet points |
floor_plan | string | Floor plan image URL (empty if not available) |
epc_rating | string | Energy Performance Certificate rating (A-G) |
council_tax_band | string | Council tax band (A-H) |
tenure | string | Tenure type (e.g., Freehold, Leasehold) |
available_from | string | Available from date for rentals |
customer_reviews | object | Agent reviews (if available) |
customer_reviews.count | integer | Number of reviews |
customer_reviews.average_score | number | Average rating (0-5) |
customer_reviews.latest_review | string | Most recent review text |
nearby_schools[] | array | Nearby schools with ratings |
nearby_schools[].name | string | School name |
nearby_schools[].type | string | School type (Primary, Secondary, etc.) |
nearby_schools[].distance | string | Distance from property |
nearby_schools[].rating | string | Ofsted rating |
400 — Invalid or missing id parameter404 — Property not found (invalid ID or removed listing)503 — Upstream error (Rightmove unreachable or response format changed)500 — Internal server error/properties/{id})window.__PAGE_MODEL payload, with compatibility for the legacy window.propertyData variable404 if property ID is invalid or listing has been removedchannel=RES_NEW), student (STU_LET), and commercial (COM_BUY/COM_LET) property pages all use the same payload shape| Field | In the sample | Value in the sample |
|---|---|---|
| id | Has a value | |
| title | Has a value | “6 bedroom house” |
| address | Has a value | |
| url | Has a value | rightmove.co.uk |
| image | Has a value | media.rightmove.co.uk |
| price | Has a value | 1,000,000 |
| price_text | Has a value | “£1,000,000” |
| currency | Has a value | “GBP” |
| bedrooms | Has a value | 6 |
| bathrooms | Has a value | 2 |
| property_type | Has a value | “House” |
| status | Has a value | “BUY” |
| description | Has a value | 443 characters |
| features | Has a value | 8 entries |
| floor_plan | Has a value | media.rightmove.co.uk |
| tenure | Has a value | “FREEHOLD” |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| id (path) | string | Yes | Rightmove property ID | 92527095 | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/rightmove/properties/92527095" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"id": "12345678",
"title": "3 bedroom semi-detached house for sale",
"address": "123 Example Street, London",
"url": "https://www.rightmove.co.uk/properties/12345678",
"image": "https://media.rightmove.co.uk/property-photo/.../12345678.jpg",
"price": 500000,
"price_text": "£500,000",
"currency": "GBP",
"bedrooms": 3,
"bathrooms": 2,
"receptions": 2,
"property_type": "Semi-detached",
"status": "For Sale",
"added_or_reduced": "Price reduced",
"days_on_market": 14,
"description": "A beautifully presented three bedroom semi-detached family home...",
"features": [
"Three double bedrooms",
"Modern fitted kitchen",
"Family bathroom",
"Enclosed rear garden",
"Off-street parking"
],
"floor_plan": "",
"epc_rating": "D",
"council_tax_band": "C",
"tenure": "Freehold",
"available_from": "",
"customer_reviews": {
"count": 5,
"average_score": 4.5,
"latest_review": "Great property and excellent service from the agent."
},
"nearby_schools": [
{
"name": "St. Mary's Primary School",
"type": "Primary",
"distance": "0.2 miles",
"rating": "Outstanding"
}
]
}
}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.PropertyResponse | No | ||||
| data.added_or_reduced | string | No | Price reduced | |||
| data.address | string | No | 123 Example Street, London | |||
| data.available_from | string | No | ||||
| data.bathrooms | integer | No | 2 | |||
| data.bedrooms | integer | No | 3 | |||
| data.council_tax_band | string | No | ||||
| data.currency | string | No | GBP | |||
| data.customer_reviews | rightmove.PropertyCustomerReviews | No | ||||
| data.customer_reviews.average_score | number | No | 4.5 | |||
| data.customer_reviews.count | integer | No | 5 | |||
| data.customer_reviews.latest_review | string | No | Great property and excellent service from the agent. | |||
| data.days_on_market | integer | No | 14 | |||
| data.description | string | No | ||||
| data.development | boolean | No | true | |||
| data.epc_rating | string | No | ||||
| data.features | array | No | ||||
| data.floor_plan | string | No | ||||
| data.id | string | No | 12345678 | |||
| data.image | string | No | https://media.rightmove.co.uk/property-photo/.../12345678.jpg | |||
| data.nearby_schools | array | No | ||||
| data.nearby_schools[].distance | string | No | 0.2 miles | |||
| data.nearby_schools[].name | string | No | St. Mary's Primary School | |||
| data.nearby_schools[].rating | string | No | Outstanding | |||
| data.nearby_schools[].type | string | No | Primary | |||
| data.price | integer | No | 500000 | |||
| data.price_frequency | string | No | monthly | |||
| data.price_text | string | No | £500,000 | |||
| data.property_type | string | No | Semi-detached | |||
| data.receptions | integer | No | 2 | |||
| data.size | string | No | 538 sq. ft. | |||
| data.status | string | No | For Sale | |||
| data.tenure | string | No | ||||
| data.title | string | No | 3 bedroom semi-detached house for sale | |||
| data.url | string | No | https://www.rightmove.co.uk/properties/12345678 | |||
| msg | unknown | No | Msg is the message that describes the result of the request @example "Request successful" |
| Status | Description | Schema |
|---|---|---|
| 400 | Invalid property ID | #/definitions/app.Response |
| 404 | Property not found | #/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/properties/92527095" \
-H "x-api-key: $CRAWLORA_API_KEY"