Rightmove Scraper — Price History, Agent Contacts & EPC
Pricing
from $1.50 / 1,000 results
Rightmove Scraper — Price History, Agent Contacts & EPC
Scrape Rightmove UK largest property portal via Next.js JSON extraction. Buy, rent, sold, commercial & overseas listings with price history (reduced/new), agent phone, tenure, floorplans, EPC and full descriptions. Pure HTTP, no proxy or login needed.
Pricing
from $1.50 / 1,000 results
Rating
0.0
(0)
Developer
Haketa
Maintained by CommunityActor stats
0
Bookmarked
5
Total users
0
Monthly active users
6 days ago
Last modified
Categories
Features
Share
Rightmove Scraper — Price History, Agent Contacts, Sold Prices & EPC
Extract UK property listings from Rightmove at scale — no login, no coding. This Rightmove scraper pulls structured UK real estate data across all 5 channels so you can scrape Rightmove for-sale, to-rent, sold price history, commercial, and overseas listings and get 40+ clean fields per property — including agent phone numbers, price-change history, days on market, tenure, lease length, council-tax band, floorplans, images, EPC rating, and full descriptions.
Export every result in bulk to JSON, CSV, Excel, or API for Rightmove lead generation, property valuation, and B2B intelligence.
Built for estate agents, property investors, PropTech teams, lettings agencies, mortgage valuers, relocation services, and market researchers who need reliable, up-to-date Rightmove data without manual copy-pasting.
⚡ At a glance
| Feature | Details |
|---|---|
| Target portal | rightmove.co.uk — UK's largest property & real estate portal |
| Supported channels | buy (For Sale), rent (To Rent), sold (Land Registry Sold Prices), commercial, overseas |
| Core extracted fields | 40+ fields: Price, Price History, Agent Phone & Branch, Address, Lat/Lng, Beds/Baths, Sqft, Tenure, Lease Years, Council Tax, EPC, Images & Floorplans |
| 1,000+ deep pagination | Up to 42 pages (1,008 properties) per single search query + automatic multi-region expansion for 1,000+ runs |
| Speed & Modes | Fast list-only mode (includes agent phones & prices) + optional deep property detail enrichment (includeDetails) |
| Export formats | JSON, CSV, Excel (XLSX), HTML, XML, Apify REST API, MCP, Webhooks, Google Sheets, Make & Zapier |
🔎 Why scrape Rightmove?
Rightmove is the UK's premier property portal, carrying well over a million residential for-sale, rental, historical sold, commercial, and overseas listings — a single London for-sale search alone surfaces ~59,000 active properties. For anyone operating in UK real estate or PropTech, it is the single richest public source of asking prices, Land Registry sold comparables, estate agent contact numbers, and property attributes. However, the website only displays 24 listings at a time with no bulk download or public data export.
A Rightmove data extractor turns the portal into a structured, queryable data feed you can refresh on a schedule:
- Estate agent lead generation — build targeted B2B prospecting lists of estate and lettings agency branches with direct phone numbers (
agentPhone) by UK city, region, or postcode. - Property market analytics & B2B intelligence — track asking prices, price reductions (
listingStatus: "reduced"), anddaysOnMarketacross UK regions over time. - Property investment & deal sourcing — surface reduced, auction, or new-to-market properties, filter by leasehold vs. freehold tenure, and compute price-per-sqft.
- Sold-price comparables & AVM training — pull historical sold prices with full per-address transaction history (
priceHistory) for valuations, underwriting, and automated valuation models. - Rental market & yield monitoring — monitor asking rents (
pcm/pw) alongside sale prices to calculate gross rental yields across UK postcodes. - PropTech & CRM enrichment — feed normalized UK property listings, floorplans, EPC bands, and council-tax bands directly into real estate dashboards and agency software.
✨ What this Rightmove scraper does
- ✅ All 5 Rightmove channels in one tool — switch seamlessly between For Sale (
buy), To Rent (rent), Sold Prices (sold), Commercial (commercial), and Overseas (overseas) using a single dropdown. - ✅ Unlocked 1,000+ results pagination — walks all 42 result pages per search (24 properties/page = up to 1,008 listings per search) when
maxPages: 0, and automatically expands across major UK cities/regions whenmaxItems > 1000so large-scale runs never hit a wall. - ✅ Agent contact details built into list mode —
agentName,agentPhone,agentBranchId, andagentLogoare captured directly from the search results, giving you instant B2B lead generation even withincludeDetails: false. - ✅ Price-change & lifecycle intelligence — captures
listingStatus(new,reduced,unchanged),listingUpdateDate,firstVisibleDate,updateDate, and auto-calculateddaysOnMarket. - ✅ Complete sold-price transaction history — the
soldchannel extracts a fullpriceHistoryJSON array of every past sale for each property (price, date sold, tenure, new-build indicator) plusnumberOfTransactions. - ✅ Optional deep property enrichment — enable
includeDetails: trueto visit each property page for fulldescription,keyFeatures,sizeSqft,epcRating,councilTaxband,leaseYearsremaining, and complete floorplan URLs. - ✅ Granular search filters — filter by UK city/region dropdown, custom
locationIdentifier(postcode/outcode/station), search radius, min/max price, min/max bedrooms, property types (detached,semi-detached,terraced,flat,bungalow,land,park-home), and exclusions (newHome,retirement,sharedOwnership,auction). - ✅ Zero duplicates — every property is de-duplicated by
propertyIdacross pages and locations.
🎯 Use cases
| Audience | How they use this Rightmove scraper |
|---|---|
| Estate & Lettings Agencies | Generate branch-level B2B lead lists with phone numbers, track local competitor inventory, and spot withdrawn or reduced stock. |
| Property Investors & Sourcers | Filter for price drops (sortType: "10"), long leaseholds, specific bedroom counts, or development land across target UK cities. |
| Valuers, Surveyors & Lenders | Extract historical sold prices (channel: "sold") with multi-decade transaction histories and exact coordinates for comparable evidence. |
| PropTech & AI Platforms | Ingest clean, schema-validated JSON property feeds via the Apify API to power property search assistants, AVMs, and investment calculators. |
| Corporate Relocation & Build-to-Rent | Monitor rental stock velocity, asking rents, and council-tax bands across commuter belts and major employment hubs. |
| Economists & Market Analysts | Track regional housing supply, price-to-sqft ratios, and time-on-market trends across London, Manchester, Birmingham, Edinburgh, and beyond. |
📥 Input parameters
Configure the scraper using the visual form in the Apify Console or pass JSON parameters via the API. Every field is optional — an empty input {} runs a fast multi-city UK sample.
| Parameter | Type | Default / Prefill | Description |
|---|---|---|---|
channel | string | "buy" | Listing channel: buy (For sale), rent (To rent), sold (Sold prices), commercial, or overseas. |
location | string | "mixed" (prefill: London REGION^87490) | Select from 19 major UK cities (London, Manchester, Birmingham, Leeds, Liverpool, Bristol, Edinburgh, Glasgow, Sheffield, Nottingham, Cardiff, Newcastle, Brighton, Reading, Cambridge, Oxford, Leicester, Coventry, Southampton) or "mixed" for a multi-city sweep. |
propertyTypes | array | [] (All) | Filter by property type: detached, semi-detached, terraced, flat, bungalow, land, park-home. |
dontShow | array | [] | Exclude categories: newHome, retirement, sharedOwnership, auction. |
minBedrooms / maxBedrooms | integer | 0 (Any) | Minimum and maximum bedroom count filter. |
minPrice / maxPrice | integer | 0 (Any) | Minimum and maximum price in GBP (£). |
radius | number | 0 | Search radius in miles around the location (0 to 40 miles). |
includeSold | boolean | true | Include Sold Subject to Contract (SSTC) and Under Offer properties alongside available listings. |
sortType | string | "2" (Newest listed) | Sort order: "2" (Newest listed), "6" (Most recent), "10" (Most reduced / price drops), "4" (Highest price), "1" (Lowest price). |
includeDetails | boolean | false | Visit each property's detail page for full description, key features, EPC rating, council-tax band, lease years, and floorplans. Keep false for rapid list + agent phone scraping. |
maxItems | integer | 100 (prefill: 50) | Maximum properties to collect (0 = unlimited). Automatically expands across UK locations when set above 1,000. |
maxPages | integer | 0 (Auto) | Maximum result pages per search (~24 listings/page, up to 42 pages per location). 0 = auto/unlimited governed by maxItems. |
locationIdentifier | string | "" | Advanced: Rightmove location code (e.g. REGION^87490, POSTCODE^1013367, OUTCODE^2495) to search any UK town or postcode. Overrides location. |
startUrls | array | [] | Advanced: Direct Rightmove search URLs, sold-prices URLs, or individual property detail URLs. |
proxyConfiguration | object | Residential GB | Proxy configuration. UK Residential proxy is preconfigured for reliable high-volume extraction. |
requestDelay | integer | 300 | Delay between requests in milliseconds (0–5000). |
maxConcurrency | integer | 10 | Parallel detail-page workers (1–25). |
Example 1 — Fast London For-Sale Lead & Listing Scrape (Prefill)
{"channel": "buy","location": "REGION^87490","includeDetails": false,"maxItems": 50,"maxPages": 0}
Example 2 — 1,000+ UK Properties with Price Reductions
{"channel": "buy","location": "mixed","sortType": "10","includeDetails": false,"maxItems": 1200,"maxPages": 0}
Example 3 — Deep Property Enrichment (EPC, Council Tax, Lease Years & Floorplans)
{"channel": "buy","location": "REGION^904","maxPrice": 450000,"propertyTypes": ["flat", "terraced"],"minBedrooms": 2,"includeDetails": true,"maxItems": 100}
Example 4 — Land Registry Sold Prices & Full Transaction History
{"channel": "sold","location": "REGION^87490","maxItems": 200}
📤 Output format & field reference
Each scraped property is stored as a structured JSON object in the Apify Dataset. All fields are normalized to consistent strings for seamless downstream compatibility with CSV/Excel exports, SQL databases, and BI pipelines.
🏠 Core Property & Location Fields
| Field | Coverage | Description |
|---|---|---|
propertyId | 🟢 High (100%) | Unique Rightmove property ID (or UUID on the sold channel). |
title | 🟢 High (100%) | Listing headline / full property type description (e.g. "5 bedroom penthouse for sale"). |
channel | 🟢 High (100%) | Listing channel: BUY, RENT, SOLD, COMMERCIAL, or OVERSEAS. |
propertySubType | 🟢 High (~99%) | Specific subtype such as Flat, Terraced, Semi-Detached, Detached, Penthouse. |
propertyType | 🟡 Conditional | Normalized property category (populated on SOLD records). |
bedrooms | 🟢 High (~98%) | Number of bedrooms (e.g. "3"). |
bathrooms | 🟢 High (~95%) | Number of bathrooms (e.g. "2"). |
displayAddress | 🟢 High (100%) | Public display address (e.g. "Park Modern, 123 Bayswater Road, London, W2"). |
latitude / longitude | 🟢 High (100%) | Exact WGS-84 geographic coordinates for map plotting and geospatial joins. |
propertyUrl | 🟢 High (100%) | Canonical URL to the listing on Rightmove.co.uk. |
searchLocation | 🟢 High (100%) | Search location label that produced the record. |
scrapedAt | 🟢 High (100%) | ISO 8601 timestamp when the property was extracted. |
💷 Pricing, Lifecycle & Sold History Fields
| Field | Coverage | Description |
|---|---|---|
price | 🟢 High (100%) | Formatted asking price, rent, or latest sold price (e.g. "£550,000" or "£2,400 pcm"). |
priceAmount | 🟢 High (100%) | Numeric GBP price string (e.g. "550000") for sorting and quantitative calculation. |
priceQualifier | 🟡 Conditional | Price qualifier when present (e.g. "Guide Price", "Offers in Excess of", "Offers Over"). |
priceFrequency | 🟢 High (100% BUY/RENT) | Payment frequency (e.g. "monthly", "weekly", "yearly", "not specified"). |
listingStatus | 🟢 High (100%) | Reason for latest update: "new", "reduced", "unchanged", or "Sold". |
listingUpdateDate | 🟢 High (~99% BUY/RENT) | ISO timestamp of the latest price change or listing update. |
firstVisibleDate | 🟢 High (100% BUY/RENT) | ISO timestamp when the property first appeared on Rightmove. |
updateDate | 🟢 High (~99% BUY/RENT) | Last modification timestamp. |
daysOnMarket | 🟢 High (100% BUY/RENT) | Automatically calculated days elapsed since firstVisibleDate. |
dateSold | 🟡 Conditional (SOLD) | Date of the most recent sale (e.g. "18 Aug 2026"), populated on the sold channel. |
priceHistory | 🟡 Conditional (SOLD) | JSON array of all historical sales at the address (price, dateSold, tenure, newBuild). |
numberOfTransactions | 🟡 Conditional (SOLD) | Total count of recorded historical sales for the property. |
📞 Estate Agent & B2B Lead Fields
| Field | Coverage | Description |
|---|---|---|
agentName | 🟢 High (100% BUY/RENT) | Estate or lettings agency name and branch (e.g. "Savills Residential, Margaret Street"). |
agentPhone | 🟢 High (~99% BUY/RENT) | Direct branch telephone number (e.g. "020 3834 7939") — captured even without detail enrichment! |
agentBranchId | 🟢 High (100% BUY/RENT) | Rightmove internal branch identifier for grouping inventory per agency office. |
agentLogo | 🟢 High (~95% BUY/RENT) | URL to the agency's brand logo image. |
premiumListing | 🟢 High (100%) | "true" or "false" indicating paid featured/premium placement by the agent. |
📐 Specifications, Media & Detail Enrichment Fields
| Field | Coverage | Description |
|---|---|---|
tenure | 🟢 High (~95% BUY) | FREEHOLD, LEASEHOLD, SHARE_OF_FREEHOLD, or COMMONHOLD. |
leaseYears | 🟡 Conditional (Detail) | Remaining years on the lease for leasehold properties (requires includeDetails: true). |
displaySize | 🟡 Conditional | Formatted floor area string when published on the listing card (e.g. "1,240 sq. ft."). |
sizeSqft | 🟡 Conditional (Detail) | Numeric floor area in square feet extracted from the detail page or listing. |
epcRating | 🟡 Conditional (Detail) | Energy Performance Certificate rating band (A–G, requires includeDetails: true). |
councilTax | 🟡 Conditional (Detail) | UK Council Tax band (A–H, requires includeDetails: true). |
summary | 🟢 High (100% BUY/RENT) | Short property summary snippet from the search results. |
description | 🟡 Conditional (Detail) | Full multi-paragraph property description (requires includeDetails: true). |
keyFeatures | 🟡 Conditional | JSON array of bullet-point property features (e.g. ["Private garden", "Chain free"]). |
images / numberOfImages | 🟢 High (100% BUY/RENT) | JSON array of property photo URLs and total photo count. |
floorplans / numberOfFloorplans | 🟡 Conditional (Detail) | JSON array of floorplan image URLs (populated with includeDetails: true) and floorplan count. |
Sample JSON output (For Sale listing)
{"propertyId": "89011206","title": "5 bedroom penthouse for sale","channel": "BUY","propertyType": null,"propertySubType": "Penthouse","bedrooms": "5","bathrooms": "5","price": "£42,000,000","priceAmount": "42000000","priceQualifier": "Guide Price","priceFrequency": "not specified","displayAddress": "Park Modern, 123 Bayswater Road, London, W2","latitude": "51.51029","longitude": "-0.187037","displaySize": "5,581 sq. ft.","sizeSqft": "5581","tenure": "LEASEHOLD","leaseYears": "993","summary": "Exceptionally rare Park Modern penthouse with 5 bedrooms...","epcRating": "C","councilTax": "H","listingStatus": "new","listingUpdateDate": "2026-05-28T10:52:06Z","firstVisibleDate": "2026-05-28T10:46:29Z","updateDate": "2026-10-31T03:44:16Z","daysOnMarket": "157","agentName": "Savills Residential Developments, Margaret Street","agentPhone": "020 3834 7939","agentBranchId": "48985","agentLogo": "https://www.rightmove.co.uk/partner-logo/13328-PRODUCTS_LOGO-176606.png","propertyUrl": "https://www.rightmove.co.uk/properties/89011206#/?channel=RES_BUY","images": "[\"https://media.rightmove.co.uk/.../IMG_00_0000.jpeg\"]","floorplans": "[\"https://media.rightmove.co.uk/property-floorplan/7ec89efe9/....gif\"]","numberOfImages": "31","numberOfFloorplans": "1","premiumListing": "true","keyFeatures": "[\"Landmark penthouse in Park Modern development\",\"5 bed, 5 bath\"]","searchLocation": "buy — REGION^87490","scrapedAt": "2026-11-02T00:25:49.649Z"}
Sample JSON output (Sold Prices channel)
{"propertyId": "fdfc44fa-3b1c-4925-8722-1970861b1700","title": "Flat","channel": "SOLD","propertyType": "Flat","bedrooms": "1","bathrooms": "1","price": "£198,000","priceAmount": "198000","displayAddress": "3, Porchfield Square, Manchester M3 4FG","latitude": "53.47655","longitude": "-2.2515","tenure": "LEASEHOLD","listingStatus": "Sold","dateSold": "18 Aug 2026","numberOfTransactions": "9","priceHistory": "[{\"price\":\"£198,000\",\"dateSold\":\"18 Aug 2026\",\"tenure\":\"LEASEHOLD\",\"newBuild\":\"false\"},{\"price\":\"£210,000\",\"dateSold\":\"20 Dec 2024\"},{\"price\":\"£55,000\",\"dateSold\":\"29 Sep 1995\"}]","propertyUrl": "https://www.rightmove.co.uk/house-prices/details/fdfc44fa-3b1c-4925-8722-1970861b1700","searchLocation": "sold — Manchester","scrapedAt": "2026-11-02T00:34:40.664Z"}
🔁 Pagination & 1,000+ scale
- Deep 42-page search pagination: Rightmove serves 24 properties per page and caps any single search query at 42 pages (
index=0..984, up to 1,008 properties). WhenmaxPagesis left at0(the default), the scraper automatically walks all 42 pages untilmaxItemsis reached. - Automatic multi-location expansion past 1,000 items: When you set
maxItems > 1000(orlocation: "mixed"), the actor automatically expands across all 19 major UK cities and regions (London, Manchester, Birmingham, Leeds, Liverpool, Bristol, Edinburgh, Glasgow, Sheffield, Nottingham, Cardiff, Newcastle, Brighton, Reading, Cambridge, Oxford, Leicester, Coventry, Southampton) so you can collect thousands of de-duplicated UK properties in a single run. - Custom segmentation via
startUrls: Want 10,000+ properties from a single city like London? Pass multiple price-band or borough search URLs instartUrls— each URL gets its own 42-page (1,008-property) allowance and all results are de-duplicated globally.
⚙️ How to use
- Configure input: Pick your
channel(buy,rent,sold,commercial,overseas), choose a UKlocationfrom the dropdown (or pastestartUrls), and setmaxItems. - Choose speed vs. depth: Leave
includeDetails: falsefor rapid list-mode extraction (still includes prices, coordinates, images, and agent phone numbers!) or enableincludeDetails: truefor EPC, council tax, lease years, and floorplans. - Run & export: Click Start and download your dataset as JSON, CSV, Excel, HTML, or XML, or consume it via the Apify API.
JavaScript / TypeScript API example
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('haketa/rightmove-scraper').call({channel: 'buy',location: 'REGION^87490',maxPrice: 600000,includeDetails: false,maxItems: 200,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(`Extracted ${items.length} Rightmove properties`);
Python API example
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("haketa/rightmove-scraper").call(run_input={"channel": "buy","location": "REGION^87490","maxPrice": 600000,"includeDetails": False,"maxItems": 200,})items = client.dataset(run["defaultDatasetId"]).list_items().itemsfor prop in items[:5]:print(prop["title"], "|", prop["price"], "|", prop["agentPhone"])
💡 Pro tips for best results
- Fastest B2B agent lead generation: Set
includeDetails: false. BecauseagentName,agentPhone,agentBranchId, andlistingStatusare embedded right in the search cards, list mode extracts ~24 properties per request in seconds. - Need EPC, Council Tax & Lease Length? Enable
includeDetails: trueto fetch each property's detail page. - Finding motivated sellers & price drops: Set
sortType: "10"(Most reduced) and filter onlistingStatus: "reduced"+daysOnMarket. - Searching any UK postcode or station: Copy the
locationIdentifierparameter from any Rightmove search URL in your browser (e.g.POSTCODE^1013367orSTATION^9491) and paste it intolocationIdentifier, or paste the full URL intostartUrls.
❓ Frequently Asked Questions (FAQ)
How many properties can I scrape per run?
A single Rightmove search query returns up to 1,008 properties across 42 pages. When you request maxItems: 1000+ (or use location: "mixed" or multiple startUrls), the scraper automatically chains multiple UK cities or search URLs to collect thousands of unique properties in one run.
Why is includeDetails off by default?
Turning includeDetails: false by default makes standard runs 10× faster and much cheaper while still capturing 30+ core fields — including asking price, address, coordinates, bedrooms, bathrooms, photos, listing update dates, and estate agent phone numbers. Enable includeDetails: true whenever you need full text descriptions, floorplans, EPC bands, council-tax bands, or remaining lease years.
Do I need a Rightmove login or cookies? No login, account, or cookies are required.
Are estate agent phone numbers included?
Yes — agentName, agentPhone, agentBranchId, and agentLogo are populated on ~99–100% of BUY/RENT listings right from the search results.
How does the sold channel work?
Setting channel: "sold" switches the scraper to Rightmove's Land Registry house-prices dataset, returning historical sold prices along with a priceHistory JSON array containing every recorded past sale for each property.
What formats can I export to? You can download results in JSON, CSV, Excel (XLSX), HTML, or XML from the Apify Console, or pull them programmatically via the Apify REST API, Python/JS SDKs, Google Sheets, Make, Zapier, or webhooks.
🔗 Related Real Estate Scrapers
Explore property portals across global markets from the same publisher:
- Yad2 Real Estate Scraper — Israel Property & Leads
- ZAP Imóveis Scraper — Brazil Real Estate
- Boliga Scraper — Danish Real Estate Listings & Sold Prices
- Realtor.ca Scraper — Canada Real Estate
- Domain.com.au Property Scraper — Australia
- ImmobilienScout24 Scraper — Germany Real Estate
📋 Changelog
- v1.2 (2026-11) — Unlocked full 42-page (
1,008properties per search) deep pagination withmaxPages: 0default + automatic multi-region expansion across 19 UK cities whenmaxItems > 1,000; setincludeDetails: falsedefault/prefill for fast<60sprefill execution; expanded documentation and field coverage tables. - v1.1 (2026-11) — Added structured
councilTaxband andleaseYearsremaining extraction from the property detail model; improvedsizeSqft,tenure, andepcRatingcoverage; verified 500-property London run with 0 duplicates. - v1.0 (2026-09) — Initial release supporting all 5 Rightmove channels (
buy,rent,sold,commercial,overseas) with agent phone numbers, price update status, and Land Registry sold transaction history.