Rightmove Scraper
Pricing
from $0.90 / 1,000 results
Rightmove Scraper
[๐ฐ $0.9 / 1K] Extract property listings from Rightmove.co.uk โ buy, rent, and sold prices. Search by location or paste URLs, filter by price, bedrooms, property type, and radius. Get full details: agent contacts, photos, floorplans, EPC, council tax, and more.
Pricing
from $0.90 / 1,000 results
Rating
0.0
(0)
Developer
SolidCode
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Pull UK property listings from Rightmove.co.uk at scale โ for-sale homes, rentals, and sold-price history with full agent contacts, photos, floorplans, EPC ratings, council tax bands, tenure, and nearest tube/train stations on every row. Built for UK property investors, estate agents tracking competitors, lead-gen teams, and proptech / data platforms that need fresh Rightmove data without hand-crafting search URLs or maintaining a parser.
Why This Scraper?
- All three Rightmove channels in one actor โ for-sale, to-rent, and sold-price history. Auto-detected from the URL or chosen with a single dropdown.
- Type a city, town, or postcode โ no URL building required โ "London", "SW1A 1AA", "Newcastle upon Tyne" all resolve straight to Rightmove's location automatically. Competing scrapers force you to hand-craft
OUTCODE-style search URLs; this actor does the lookup for you. - Nine property-type filters wired to Rightmove's UI โ Houses, Flats, Bungalows, Land, Commercial, Farms, Parking, New Homes, or Any.
- Eleven radius bands โ
This area only, 0.25, 0.5, 1, 3, 5, 10, 15, 20, 30, and 40 miles. Mirrors the dropdown on Rightmove's own search page. - Up to ~1,000 listings per query โ paginates Rightmove's full search ceiling (42 pages of 24 listings) before the platform caps further results.
- Branch contact card on every for-sale and rental row โ branch name, phone (when published by the agent), branch landing page, profile URL, listings URL, logo, address, and full agent description HTML.
- EPC, council tax band, tenure, and ground rent on the same row โ no extra request, no nested dataset. Includes years remaining on lease for leaseholds and annual ground-rent / service-charge figures when published.
- Nearest train and tube stations with walking distance โ name, distance, and station type (national rail, tube, light rail) per listing. Optional schools and price-history toggles too.
- Honest
maxResultscap โ exact integer, no rounding to 50. Set 73 and you get 73 (or one full final page over โ never trimmed to under-deliver).
Use Cases
Investment & Portfolio Analysis
- Compare for-sale asking prices against sold-price history to surface under-priced listings
- Build CMA-style comparable lists by postcode, radius, and bedroom count
- Track rental yields by combining
rentchannel data withsoldchannel purchase data - Monitor price reductions (
listingUpdateReason: "Reduced") across a target area
Estate Agent Competitive Intelligence
- Pull every active instruction for a competing branch via
agent.listingsUrl - Benchmark instruction volume by postcode month over month
- Track average days on market and reduction frequency by branch
- Map an agent's branch network across the UK
Lead Generation
- Build outreach lists for renovation contractors targeting recently-listed properties
- Source mortgage broker leads from new-build and high-priced listings
- Power conveyancer and removal-company campaigns by postcode and listing date
- Surface landlord targets via the
to-rentchannel for property-management pitches - Compare nearby schools alongside listings (toggle
includeNearestSchoolson)
Market Research & Journalism
- Quantify housing supply by region with bedroom-count and price-band breakdowns
- Track new-build inventory across England, Scotland, Wales, and Northern Ireland
- Build longitudinal price-per-sqft datasets for media and policy reports
- Compare leasehold vs. freehold composition by city
Proptech & Data Products
- Power valuation models with structured prices, sqft, EPC ratings, and tenure inputs
- Feed search portals with a fresh, normalised UK listing feed
- Build alerting systems triggered by new listings or price reductions in a target area
- Enrich existing CRM records with current Rightmove URLs and agent contacts
Getting Started
Search by Location (simplest)
{"searchLocation": "London","channel": "buy","maxResults": 50}
Filtered Rental Search
Two-bed-plus rentals in Manchester under ยฃ1,500 pcm:
{"searchLocation": "Manchester","channel": "rent","bedroomsMin": 2,"priceMax": 1500,"maxResults": 100}
Sold-Price History
Pull the public sold-price record for a postcode area:
{"searchLocation": "SW1A 1AA","channel": "sold","maxResults": 200}
Full-Featured Search (filters + enrichment)
Three-bed houses around Oxford within five miles, sorted price-ascending, with price history and schools enabled:
{"searchLocation": "Oxford","channel": "buy","propertyType": "houses","bedroomsMin": 3,"bedroomsMax": 4,"priceMin": 400000,"priceMax": 800000,"radiusMiles": "5","sortBy": "price-asc","maxResults": 200,"includePriceHistory": true,"includeNearestSchools": true,"includeNearestStations": true}
Paste a Rightmove URL
Search-results pages, individual property pages, and sold-price pages all work. Filters embedded in the URL โ including draw-area polygons and Property Status โ are honoured exactly:
{"startUrls": ["https://www.rightmove.co.uk/property-for-sale/London.html","https://www.rightmove.co.uk/properties/123456789","https://www.rightmove.co.uk/house-prices/sw1a.html"],"maxResults": 100}
Input Reference
What to Scrape
| Parameter | Type | Default | Description |
|---|---|---|---|
startUrls | string[] | [] | Paste Rightmove URLs directly. Supports search results, individual property pages (/properties/123456789), and sold-price pages (/house-prices/...). Channel is auto-detected from the URL. |
searchLocation | string | "London" | Type a city, town, area, or postcode (e.g. "London", "Manchester", "SW1A 1AA"). Resolved to Rightmove's location automatically. Leave empty if using Start URLs. |
Search Filters
These apply to Search Location only โ URLs carry their own filters.
| Parameter | Type | Default | Description |
|---|---|---|---|
channel | select | buy | For Sale (Buy), To Rent, or Sold Prices. |
propertyType | select | any | Any Type, Houses, Flats / Apartments, Bungalows, Land, Commercial, Farms, Parking, or New Homes. |
bedroomsMin | integer | none | Minimum bedrooms (0โ10). |
bedroomsMax | integer | none | Maximum bedrooms (0โ10). |
priceMin | integer | none | Minimum price in GBP. For rentals, this is monthly rent. |
priceMax | integer | none | Maximum price in GBP. For rentals, this is monthly rent. |
radiusMiles | select | 0 | Search radius: This area only, 0.25, 0.5, 1, 3, 5, 10, 15, 20, 30, or 40 miles. |
sortBy | select | newest | Newest Listings, Oldest Listings, Price: Low to High, or Price: High to Low. |
Options
| Parameter | Type | Default | Description |
|---|---|---|---|
maxResults | integer | 100 | Hard cap on listings across all inputs. 0 = unlimited. Results may slightly overshoot if the cap falls mid-page โ you get the full last page rather than a trimmed one. |
includePriceHistory | boolean | false | Fetch the historical sold-price record for each listing's address when available. Adds an extra request per listing. |
includeNearestSchools | boolean | false | Include nearby schools with Ofsted ratings, distance, and school type. |
includeNearestStations | boolean | true | Include nearest train and tube stations with walking distance. |
Output
Every listing is one flat row. The same shape applies across buy, rent, and sold โ channel-specific fields (rental term, sold-date) populate when relevant and stay blank otherwise.
What's available per channel
| Field group | Buy | Rent | Sold |
|---|---|---|---|
| Core (id, url, title, propertyType, bedrooms, price, displayAddress) | yes | yes | yes |
Structured address (postcode, outcode, incode, ukCountry, latitude, longitude) | yes | yes | blank โ Rightmove's sold-prices page does not expose these |
Agent contact card (agent.*) | yes | yes | not applicable |
| Tenure, council tax, EPC, features, images, floorplans | yes | yes | not applicable |
Sold-price record (soldDate, soldPrice, transaction history) | not applicable | not applicable | yes |
A few row-level notes:
agent.phoneis populated when the branch has published a landline. Some withdrawn or let-agreed listings omit the phone โ the field is present but blank.epc.potentialRatingis populated when Rightmove exposes the certificate's potential rating; many listings only publish the current rating, in which casepotentialRatingis blank.
Example: For-Sale Listing
{"id": "123456789","url": "https://www.rightmove.co.uk/properties/123456789","channel": "buy","title": "3 bed semi-detached house","displayAddress": "Acacia Road, London, SW19","postcode": "SW19 4HJ","outcode": "SW19","incode": "4HJ","ukCountry": "England","latitude": 51.4189,"longitude": -0.2014,"propertyType": "Semi-Detached","bedrooms": 3,"bathrooms": 2,"sizeSqFeetMin": 1280,"sizeSqFeetMax": 1280,"price": 875000,"priceDisplay": "ยฃ875,000","priceQualifier": "Guide Price","currency": "GBP","firstVisibleDate": "2026-04-12T09:14:00Z","listingUpdateDate": "2026-05-01T11:02:00Z","listingUpdateReason": "price_reduced","displayStatus": "For Sale","productLabel": "Premium","tenure": "Freehold","councilTaxBand": "E","tags": ["Garden", "Off-Street Parking"],"features": ["Three double bedrooms", "Modern kitchen", "Private garden"],"epc": { "currentRating": "C", "potentialRating": "B", "certificateUrl": "https://..." },"images": ["https://media.rightmove.co.uk/img/1.jpg"],"floorplans": ["https://media.rightmove.co.uk/floorplan/1.jpg"],"agent": {"name": "Foxtons Wimbledon","url": "https://www.rightmove.co.uk/estate-agents/agent/...","phone": "020 1234 5678","displayAddress": "12 The Broadway, Wimbledon, SW19 1RF","profileUrl": "https://www.rightmove.co.uk/estate-agents/...","listingsUrl": "https://www.rightmove.co.uk/property-for-sale/branch/..."},"nearestStations": [{ "name": "Wimbledon", "distance": 0.4, "unit": "miles", "types": ["NATIONAL_TRAIN", "TUBE"] }],"scrapedAt": "2026-05-07T10:30:00Z"}
Core Fields
| Field | Type | Description |
|---|---|---|
id | string | Rightmove listing identifier |
url | string | Canonical Rightmove URL |
channel | string | buy, rent, or sold |
title | string | Generated title (e.g. "3 bed semi-detached house") |
propertyType | string | Sub-type (Semi-Detached, Flat, Bungalow, etc.) |
bedrooms | integer | Number of bedrooms |
bathrooms | integer | Number of bathrooms |
sizeSqFeetMin | integer | Lower bound of internal size |
sizeSqFeetMax | integer | Upper bound of internal size |
tags | string[] | Listing tags (Garden, Parking, etc.) |
description | string | Plain-text description |
descriptionHtml | string | HTML description |
features | string[] | Bullet-point key features |
scrapedAt | string | ISO timestamp of extraction |
Address & Location
| Field | Type | Description |
|---|---|---|
displayAddress | string | Address as shown on the listing |
postcode | string | Full UK postcode where available |
outcode | string | Postcode prefix (e.g. SW19) |
incode | string | Postcode suffix (e.g. 4HJ) |
ukCountry | string | England, Scotland, Wales, or Northern Ireland |
latitude | number | Coordinate |
longitude | number | Coordinate |
Pricing & Status
| Field | Type | Description |
|---|---|---|
price | integer | Numeric price in GBP |
priceDisplay | string | Formatted price (ยฃ725,000, ยฃ1,500 pcm) |
priceQualifier | string | Guide Price, Offers Over, POA, etc. |
secondaryPrice | string | Weekly equivalent for rentals where shown |
currency | string | Always GBP |
firstVisibleDate | string | ISO timestamp of first listing |
listingUpdateDate | string | ISO timestamp of last update |
listingUpdateReason | string | new, price_reduced, let_agreed, etc. |
displayStatus | string | For Sale, Under Offer, Sold STC, Let Agreed |
productLabel | string | Featured, Premium, or Standard |
archived | boolean | Listing archived |
published | boolean | Listing published |
sold | boolean | Listing has sold |
Tenure, Tax & Running Costs
| Field | Type | Description |
|---|---|---|
tenure | string | Freehold, Leasehold, or Share of Freehold |
yearsRemainingOnLease | integer | Lease years remaining (leaseholds only) |
councilTaxBand | string | A through H |
councilTaxExempt | boolean | Property exempt from council tax |
councilTaxIncluded | boolean | Council tax bundled in rent |
domesticRates | string | Northern Ireland equivalent |
annualGroundRent | integer | Annual ground rent in GBP |
annualServiceCharge | integer | Annual service charge in GBP |
groundRentPercentageIncrease | number | Stated annual escalator |
groundRentReviewPeriodInYears | integer | Years between ground-rent reviews |
Rental-Specific Fields
Populated when channel: "rent".
| Field | Type | Description |
|---|---|---|
letAvailableDate | string | Available-from date |
deposit | integer | Required deposit in GBP |
minimumTermInMonths | integer | Minimum tenancy length |
letType | string | Long term, Short term, Student |
furnishType | string | Furnished, Unfurnished, Part Furnished |
Energy, Highlights & Media
| Field | Type | Description |
|---|---|---|
epc | object | {currentRating, potentialRating, certificateUrl} |
highlights | object | electricity, broadband, water, sewerage, heating, accessibility, parking, garden, risks, obligations |
images | string[] | All property photo URLs |
floorplans | string[] | All floorplan image URLs |
brochures | string[] | Linked brochure PDFs |
Agent Contact
| Field | Type | Description |
|---|---|---|
agent.name | string | Branch / agency display name |
agent.phone | string | Branch contact number |
agent.url | string | Branch landing page |
agent.profileUrl | string | Agency profile page |
agent.listingsUrl | string | Page listing every active instruction at this branch |
agent.displayAddress | string | Branch street address |
agent.logoUrl | string | Agency brand logo |
agent.descriptionHtml | string | Agency description (HTML) |
Optional Sub-Collections
| Field | Type | Description |
|---|---|---|
nearestStations | object[] | [{name, distance, unit, types}] โ populated by default |
nearestSchools | object[] | [{name, type, distance, ofstedRating}] โ populated when toggled on |
priceHistory | object[] | [{date, price, event}] โ populated when toggled on |
Tips for Best Results
- Use full city names for ambiguous places. "Newcastle" alone resolves to Newcastle in Northern Ireland โ type "Newcastle upon Tyne" for the English city. Same applies to "Bromley" and any other shared place name.
- Paste a Rightmove URL when you need a filter the input form doesn't expose. Draw-area polygon searches, "Auction" property status, "Include Sold STC", and Rightmove's "Look 2 / 3 bedrooms" combinations all serialise into the URL โ paste it as a
startUrlsentry and every URL parameter is honoured exactly. - Use
channel: "sold"for true comparables. Sold-price history is the gold standard for valuation work and CMA reports โ actual transaction prices, not asking prices. - Rightmove caps any single search at roughly 1,000 listings. For large areas, split the run into multiple postcodes or smaller radii rather than expecting one search to return more.
- Keep
includePriceHistoryoff unless you need it. It adds an extra request per listing and roughly doubles run time. Default rows already include the most recent listing-update reason and date. - Sort by
oldestto find stale listings. Properties on the market for many months are often signs of price misalignment โ useful for negotiation and for spotting overpriced inventory. - Set
radiusMilesto expand commuter searches. Buyers prepared to live within 5 or 10 miles of a city centre find materially better value once you step outside the immediate postcode.
Pricing
$3.00 per 1,000 results โ pay only for the listings returned. No compute charges โ you only pay per result returned.
| Results | Estimated Cost |
|---|---|
| 100 | $0.30 |
| 1,000 | $3.00 |
| 10,000 | $30.00 |
| 100,000 | $300.00 |
A "result" is one property listing row in the output dataset. Apify platform fees (storage, bandwidth) are billed separately by your Apify plan.
Integrations
Export data in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps via:
- Zapier / Make / n8n โ Workflow automation
- Google Sheets โ Direct spreadsheet export
- Slack / Email โ Notifications on new results
- Webhooks โ Trigger custom APIs on run completion
- Apify API โ Full programmatic access
Legal & Ethical Use
This actor is intended for legitimate property research, market analysis, lead generation, and proptech use cases. Users are responsible for complying with Rightmove's Terms of Service, the UK Data Protection Act, and the GDPR when handling any personal data contained in agent contact fields. Do not use extracted data for spam, harassment, or any unlawful purpose.