Rightmove UK Property Scraper
Pricing
from $1.00 / 1,000 results
Rightmove UK Property Scraper
Extract UK property listings from Rightmove.co.uk with price, address, bedrooms, bathrooms, coordinates, photos, key features, agent, and more. Supports for-sale and to-rent searches with full filter pass-through.
Pricing
from $1.00 / 1,000 results
Rating
5.0
(14)
Developer
Crawler Bros
Actor stats
13
Bookmarked
2
Total users
2
Monthly active users
4 days ago
Last modified
Categories
Share
Extract UK property listings from Rightmove.co.uk — the largest UK property portal. Returns price, address, bedrooms, bathrooms, coordinates, images, key features, agent contact, and more — 36 fields per property in a flat JSON format ready for analytics, CRMs, or property-market research.
Features
- 36 output fields per property — complete listing data in a single object
- For-sale & to-rent support — pass any rightmove.co.uk search URL; all filters (price, beds, property type, radius) are preserved
- Coordinates included — latitude / longitude for mapping and geospatial analysis
- All images captured — every photo URL in
imageUrlsplus counts for photos, floorplans, virtual tours - Key features list — bullet-point features extracted as an array
- Agent details — branch name, contact telephone, agent branch ID
- Listing update history —
firstVisibleDate,listingUpdateDate,listingUpdateReason(new,price_reduced, etc.) - No proxy required — Rightmove is served via Fastly CDN which accepts Chrome-131 TLS impersonation directly
- No authentication — works from any datacenter IP
- No nulls — every field has a typed default, guaranteeing predictable output for downstream pipelines
Input
| Field | Type | Description |
|---|---|---|
startUrls | Array | Rightmove search URLs. Supports both for-sale (/property-for-sale/find.html) and to-rent (/property-to-rent/find.html) searches. All query parameters (locationIdentifier, minPrice, maxPrice, minBedrooms, propertyTypes, radius) are passed through verbatim. |
maxItems | Integer | Maximum number of properties to return (default 50, max 1000). |
Example Input
{"startUrls": ["https://www.rightmove.co.uk/property-for-sale/find.html?locationIdentifier=REGION%5E87490&maxPrice=1000000&minBedrooms=2"],"maxItems": 100}
For rentals:
{"startUrls": ["https://www.rightmove.co.uk/property-to-rent/find.html?locationIdentifier=REGION%5E87490&maxPrice=3000"],"maxItems": 50}
Output
Each property has 36 fields. All fields are always present — empty strings, zero, empty arrays, or false for missing data, never null.
Identity & Location
| Field | Type | Description |
|---|---|---|
id | Integer | Rightmove property ID |
url | String | Full property permalink |
transactionType | String | buy or rent |
channel | String | BUY, RENT, RES_LET etc. |
displayAddress | String | Human-friendly address |
countryCode | String | ISO country code (always GB) |
latitude | Number | Latitude |
longitude | Number | Longitude |
Price & Size
| Field | Type | Description |
|---|---|---|
price | Integer | Price in native currency (GBP) |
priceDisplay | String | Formatted price (e.g., "£650,000") |
priceFrequency | String | Price frequency (weekly, monthly, not specified) |
currency | String | Currency code |
displaySize | String | Floor area text (e.g., "526 sq. ft.") |
Property Details
| Field | Type | Description |
|---|---|---|
bedrooms | Integer | Number of bedrooms |
bathrooms | Integer | Number of bathrooms |
propertySubType | String | Flat, House, Detached, etc. |
propertyTypeFullDescription | String | Full type description (e.g. "3 bedroom semi-detached house for sale") |
tenureType | String | FREEHOLD, LEASEHOLD, SHARE_OF_FREEHOLD |
summary | String | Listing description (truncated to 2,000 chars) |
keyFeatures | Array | Array of feature strings |
Media
| Field | Type | Description |
|---|---|---|
imageUrls | Array | All photo URLs |
numberOfImages | Integer | Photo count |
numberOfFloorplans | Integer | Floor-plan count |
numberOfVirtualTours | Integer | Virtual tour count |
Agent
| Field | Type | Description |
|---|---|---|
agentName | String | Branch display name |
agentPhone | String | Contact telephone |
agentBranchId | Integer | Rightmove branch ID |
Listing Dates
| Field | Type | Description |
|---|---|---|
firstVisibleDate | String | First visible date (ISO 8601) |
listingUpdateReason | String | new, price_reduced, etc. |
listingUpdateDate | String | Last update date (ISO 8601) |
addedOrReduced | String | "Added on 27/03/2026" or similar display text |
Flags
| Field | Type | Description |
|---|---|---|
premiumListing | Boolean | Premium listing flag |
featuredProperty | Boolean | Featured flag |
auction | Boolean | Sold via auction |
commercial | Boolean | Commercial property |
Metadata
| Field | Type | Description |
|---|---|---|
scrapedAt | String | ISO 8601 scrape timestamp |
FAQ
Q: Do I need a proxy? No. Rightmove is served via Fastly CDN and accepts Chrome TLS impersonation without rate-limiting at modest volumes. For very large runs (1,000+ properties) you may want to add your own proxy configuration.
Q: How do I construct a search URL?
Apply the filters you want on the Rightmove website, then copy the URL from your browser. The locationIdentifier parameter encodes the region/city — URL-encode it (%5E instead of ^). Common prefixes: REGION^X (area), OUTCODE^X (postcode), STATION^X (transport link).
Q: How many properties per page?
Rightmove paginates in steps of 24. The scraper walks pages automatically via &index=N until maxItems is reached.
Q: Does it support sold prices?
No — sold price history is on a different Rightmove path (/house-prices/) and uses a completely different data shape. This scraper handles for-sale (/property-for-sale/) and to-rent (/property-to-rent/) listings.
Q: Are full description texts included?
The listing summary (up to 2,000 chars) is included in summary. For the full detail-page description (beyond the first 2,000 chars), you'd need to scrape each url individually — not done by default to keep the scraper fast and avoid extra requests.
Q: Why are some bedrooms / bathrooms zero?
For certain listing types (land, commercial, or non-residential), Rightmove doesn't populate these fields. They're set to 0 rather than null for consistent typed output.
Use Cases
- Property market research — track inventory, prices, and listing velocity across UK regions
- Investment analysis — find BTL (buy-to-let) opportunities by yield, location, or property type
- Comparative market analysis — export current asking prices for comp sheets
- Estate-agent monitoring — track which branches are listing the most stock in an area
- Rental-market dashboards — aggregate rent prices by postcode, bedroom count, or commute zone
- Data pipelines — feed normalized JSON into CRMs, BI tools, or ML models without post-processing