Rightmove $0.95💰Buy·Rent·Sell·House·Agent·Commercial·Overseas
Pricing
from $0.95 / 1,000 results
Rightmove $0.95💰Buy·Rent·Sell·House·Agent·Commercial·Overseas
[💰 $0.95/1K] The only all-in-one Rightmove scraper — Buy · Rent · Agents · Commercial · Overseas · Sold House Prices. ~100 fields per listing, historic sold prices, floor plans, EPC, full agent + branch metadata. Pure HTTP, no browser, JSON + CSV. Pay-per-result, 120-min free trial.
Pricing
from $0.95 / 1,000 results
Rating
5.0
(5)
Developer
Muhamed Didovic
Maintained by CommunityActor stats
2
Bookmarked
130
Total users
45
Monthly active users
2 days ago
Last modified
Categories
Share
Rightmove Scraper — Buy · Rent · Agents · Commercial · Overseas · House Prices
The most complete Rightmove.co.uk scraper on Apify — eight search modes in one actor: properties for sale, properties to rent, estate agents, commercial sale, commercial let, sold house prices, overseas sale, overseas rent. Paste any Rightmove URL or build a search from filter fields. Pure HTTP, no browser, ~100 fields per listing including historic sold prices, floor plans, EPC, and full agent metadata.
| Input | Row(s) emitted |
|---|---|
| Property search URL (sale / rent / commercial / overseas) | N property rows — one per listing, auto-paginates the full result set |
Direct property URL — /properties/{id} | 1 property row with full mobile-API payload |
| Estate agent search URL | N agent rows — one per branch/agent |
House prices URL — /house-prices/{postcode}.html | N sold-history rows — sold prices, dates, property type |
| Search filter form (no URL needed) | Same as above — actor builds the URL from your filters |
Pure HTTP. No Puppeteer, no Playwright, no headless Chromium, no third-party CAPTCHA solver.
Why use this scraper
- Eight modes in one actor. Most Rightmove scrapers only handle sale + rent. This one covers commercial property, overseas listings, sold house prices, and estate-agent directories — without switching tools or paying for separate actors.
- Historic sold prices. Pull a property's full sale history (price + year for every prior transaction) so you can spot growth corridors and price drops.
- Floor plans + EPC + media. Direct URLs to PDF floor plans, energy-performance certificates, virtual tours, and full-size image sets.
- Agent intelligence. Brand, branch ID, phone, agent type (Sales / Lettings / Commercial), and the agent's full Rightmove profile URL — useful for B2B lead generation.
- Smart input. Paste any Rightmove URL OR fill the filter form (location, radius, beds, price, sort, SSTC/Let-Agreed flags). The actor auto-resolves location names → Rightmove identifiers.
- Monitoring mode. On rerun, only emit listings that are new since the last run — perfect for daily watchlists or new-build alerts.
- JSON or CSV. Standard Apify dataset export. Stream live or download after the run.
Overview
The actor classifies each input by URL pattern (sale / rent / commercial / overseas / agents / house-prices) and routes it through a matching internal handler. For listing searches, it hits Rightmove's mobile API for the bulk fetch then fans out to individual property endpoints with bounded concurrency. Each row is flat (no nested arrays of mixed shapes) and typed by the URL it came from — so a sale row, a rent row, an agent row, and a sold-house-price row all sit cleanly side-by-side in the same dataset, distinguishable by transactionType / channel / route metadata.
One row = one paid result. No hidden multipliers, no per-page surcharges. Reviews, images, and floor plans are bundled into the property row, not billed separately.
Supported inputs
You can mix any of these in a single run; the actor classifies and routes each one automatically.
Search URLs (any mode)
https://www.rightmove.co.uk/property-for-sale/find.html?... ← For Salehttps://www.rightmove.co.uk/property-to-rent/find.html?... ← To Renthttps://www.rightmove.co.uk/commercial-property-for-sale/find.html?... ← Commercial salehttps://www.rightmove.co.uk/commercial-property-to-let/find.html?... ← Commercial lethttps://www.rightmove.co.uk/overseas-property/find.html?... ← Overseashttps://www.rightmove.co.uk/house-prices/{outcode}.html?... ← Sold priceshttps://www.rightmove.co.uk/estate-agents/find.html?... ← Estate agents
Direct entity URLs
https://www.rightmove.co.uk/properties/{propertyId} ← Single listinghttps://www.rightmove.co.uk/estate-agents/agent/{name}-{branchId}.html ← Agent branch
Filter form (no URL)
If you don't have a URL handy, fill the filter section: search mode, location, radius, price range, bedrooms, must-haves, sort. The actor builds a working Rightmove search URL from your inputs and runs it.
Not yet supported
- Floor-plan PDFs are linked in the output but not downloaded into the dataset
propertyDisclaimertext comes from Rightmove as HTML (intentional — keep the markup if you need to render it back)
Use cases
| Audience | What they use it for |
|---|---|
| Property investors | Track new listings + price changes in target postcodes; pull historic sold prices to model growth |
| Estate agencies | Competitor branch monitoring, agent benchmarking, new-stock alerts |
| PropTech & analytics | Build datasets for AVMs, yield calculators, rent-vs-buy comparisons |
| Buy-to-let / portfolio managers | Daily rent-monitoring across multiple boroughs; let-agreed tracking |
| Researchers & journalists | Sold-price datasets by postcode, region, or property type |
| B2B lead-gen | Estate-agent directory pulls — branch + phone + brand + agent type |
What the ROI math looks like
Say you monitor 15,000 London rentals daily. At $0.95 / 1,000 rows and one full refresh per day, that's ~$0.43 / day = $13 / month — vs $500/month for an enterprise PropTech feed, or the recurring cost of building and maintaining a custom Rightmove crawler. The actor handles pagination, retries, session rotation, and listing-detail enrichment for you.
How it works
- Classify input. Each
startUrlsentry is matched against Rightmove URL patterns to determine its route — search, property detail, agent, or house-prices. - Fetch with HTTP only. No browser, no headless Chrome. Rightmove's mobile API (
api.rightmove.co.uk/api/v2/properties/{id}) returns rich JSON; search pages are JSON-API too (/api/property-search/listing/search). - Parse + denormalize. Each property row is flattened from the API payload — ~100 fields including bedrooms, address, price (with currency code), agent, branch, full image set, key features, EPC, floor plan URL.
- Optional enrichment. With
moreDetails: true, the actor fetches the property's full web page for extra fields not in the mobile API. WithincludeSaleHistory: true, it pulls the sold-prices endpoint and embeds the result into the row. - Concurrent + bounded. Internal handler runs at concurrency 20 per page with
min/maxConcurrencyfor the Crawlee fallback layer.maxRequestRetriescontrols retry budget per URL. - Push. Every parsed row is
Actor.pushData()-ed live. The dataset is queryable mid-run; the run isn't paused waiting for the full batch.
Input configuration
The actor takes either a list of URLs or a filled-in filter form. If both are present, startUrls wins.
Common fields
| Field | Type | Required | Notes |
|---|---|---|---|
startUrls | array<{url}> | one of the two | Any Rightmove URL — sale, rent, commercial, overseas, agents, house-prices, or direct property page. |
maxItems | integer | no | Cap on total dataset rows. Default 10,000. Non-paying users capped at 100. |
monitoringMode | boolean | no | If true, only emit listings that are new since the last run (uses Apify KV store). Default false. |
moreDetails | boolean | no | Fetch the property's full HTML page in addition to the mobile API. Default false. |
includeSaleHistory | boolean | no | For sale + rent: embed the property's prior-sale history if available. Default false. |
maxConcurrency | integer | no | Crawlee fallback concurrency. Default 10. |
maxRequestRetries | integer | no | Per-URL retry budget. Default 100. |
proxy | object | no | Apify residential proxy recommended. Default { useApifyProxy: true, apifyProxyGroups: ['RESIDENTIAL'] }. |
Search-builder fields (alternative to startUrls)
Use these if you don't have a Rightmove URL ready.
| Field | Type | Notes |
|---|---|---|
searchMode | enum | One of propertySale, propertyRent, estateAgents, commercialSale, commercialRent, housePrices, overseasSale, overseasRent. |
searchLocation | string | Friendly label like "London" or "NW3". The actor resolves it to a Rightmove identifier. |
searchLocationIdentifier | string | Explicit identifier (more reliable). Examples: REGION^87490 (London), OUTCODE^1859 (NW3), POSTCODE^4812813 (E14 0XG), STATION^5462 (Leeds Station). |
searchRadius | enum | 0.0 to 40.0 miles. |
searchMinPrice / searchMaxPrice | string | Price range. |
searchMinBedrooms / searchMaxBedrooms | string | Bedroom range. |
searchPropertyTypes | array<string> | Optional. Joined into Rightmove's propertyTypes parameter. |
searchMustHave / searchDontShow | array<string> | Rightmove's mustHave / dontShow filters. |
searchKeywords | string | Free-text keyword filter. |
searchIncludeSSTC | boolean | For sale mode — include Sold STC listings. |
searchIncludeLetAgreed | boolean | For rent mode — include Let Agreed listings. |
searchFurnishTypes / searchLetType | — | For rent mode (e.g. shortTerm). |
searchBrandName / searchBranchType | — | For estate-agent mode. |
searchDisplayPropertyType | enum | For commercial: industrial_warehousing, offices, retail, leisure, land, other_commercial. |
searchOutcodeOrPostcode | string | Required for housePrices mode. E.g. NW3, W9 2BA. |
searchSoldIn | string | For housePrices — years window. |
searchPropertyType / searchTenure | string | For housePrices — FLAT, DETACHED, SEMI_DETACHED / LEASEHOLD, FREEHOLD. |
searchCountry | string | Required for overseas modes. E.g. Portugal, Spain, France. |
searchSort | string | Rightmove sortType (e.g. 2 = price asc, 6 = newest). |
Example input
{"startUrls": [{ "url": "https://www.rightmove.co.uk/property-for-sale/find.html?locationIdentifier=REGION%5E87490&maxPrice=500000&minBedrooms=2&sortType=6" },{ "url": "https://www.rightmove.co.uk/properties/163602461" },{ "url": "https://www.rightmove.co.uk/house-prices/nw3.html?soldIn=1" },{ "url": "https://www.rightmove.co.uk/estate-agents/find.html?locationIdentifier=OUTCODE^1859&branchType=ALL" }],"maxItems": 500,"moreDetails": true,"includeSaleHistory": true,"proxy": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }}
Output overview
Each row is a single Rightmove entity — a property, an agent branch, or a sold-price record. The shape varies slightly by route, but they all share:
identifier/propertyId— Rightmove's primary key for the entitytransactionType—BUY,RENT,RES_LET,COMMERCIAL_SALE,COMMERCIAL_LET, etc.channel— Rightmove's internal channel tagpropertyUrl— canonical Rightmove URL (clickable)- The full mobile-API payload, flattened
Output samples
Sale / Rent property row (truncated)
{"identifier": 163602461,"transactionType": "RENT","channel": "RES_LET","bedrooms": 1,"bathrooms": 1,"address": "Woodfield Road, London, W9","propertyPhrase": "1 bedroom apartment","propertyUrl": "https://www.rightmove.co.uk/properties/163602461","keyFeatures": ["Bills and utilities included","Fully furnished private studio","En suite bathroom","Smart TV and superfast wi-fi","Regular housekeeping","Air conditioning"],"fullDescription": "Westbourne Park champions living differently…","listingUpdateReason": "Added on 20/06/2025","prices": {"primaryPrice": "£2,800 pcm","secondaryPrice": "£646 pw","displayPriceQualifier": null,"currencyCode": "GBP"},"location": {"latitude": 51.5198,"longitude": -0.2061,"postcode": "W9","city": "London"},"images": [{ "url": "https://media.rightmove.co.uk/...", "caption": "Living room" }],"floorplans": [{ "url": "https://media.rightmove.co.uk/.../floorplan.pdf" }],"epcGraphs": [{ "url": "https://media.rightmove.co.uk/.../epc.pdf" }],"tags": ["BUILT_FOR_RENTERS", "NEW_HOME"],"features": {"heating": [{ "alias": "air_conditioning", "displayText": "Air conditioning" }],"accessibility": [{ "alias": "lift_access", "displayText": "Lift access" }],"parking": [{ "alias": "on_street", "displayText": "On street" }]},"customer": {"branchId": 289715,"branchName": "Westbourne Park, Westbourne Park","brandPlus": true,"customerProfileUrl": "https://www.rightmove.co.uk/estate-agents/agent/Westbourne-Park/Westbourne-Park-289715.html","displayAddress": "Westbourne Park, Westbourne Park"},"propertyDisclaimer": "<b>Disclaimer</b> - Property reference CB3M. The information displayed about this property comprises a property advertisement…","schoolCheckerUrl": "https://www.rightmove.co.uk/properties/apps/163602461/schools"}
Estate agent row (truncated)
{"branchId": 289715,"brandName": "Westbourne Park","branchName": "Westbourne Park","branchType": "LETTINGS","phone": "020 4537 9281","address": "Westbourne Park, London W9","profileUrl": "https://www.rightmove.co.uk/estate-agents/agent/Westbourne-Park/Westbourne-Park-289715.html","propertiesForSaleCount": 0,"propertiesToRentCount": 18,"logoUrl": "https://media.rightmove.co.uk/branch/289715-logo.png"}
House-prices sold row (truncated)
{"rowType": "soldPrice","address": "12 Rosslyn Hill, London, NW3 5UL","propertyType": "FLAT","tenure": "LEASEHOLD","soldPrice": 875000,"soldDate": "2024-09-12","bedrooms": 2,"detailUrl": "https://www.rightmove.co.uk/house-prices/details/...","saleHistory": [{ "year": 2018, "price": 620000 },{ "year": 2011, "price": 415000 }]}
Key output fields
Identity
| Field | Type | Notes |
|---|---|---|
identifier / propertyId | number | Rightmove's primary key |
propertyUrl | URL | Canonical Rightmove URL |
transactionType | enum | BUY, RENT, RES_LET, COMMERCIAL_SALE, COMMERCIAL_LET |
channel | enum | BUY, RENT, RES_LET, etc. |
Price + currency
| Field | Type | Notes |
|---|---|---|
prices.primaryPrice | string | Headline display price ("£500,000", "£2,800 pcm") |
prices.secondaryPrice | string | Per-week or per-sqft equivalent |
prices.displayPriceQualifier | string | "Guide Price", "Offers Over", etc. |
prices.currencyCode | enum | GBP, EUR, USD (overseas) |
Property attributes
| Field | Type | Notes |
|---|---|---|
bedrooms / bathrooms | number | |
propertyPhrase | string | "3 bedroom semi-detached house" |
keyFeatures | string[] | Bulleted list from the listing |
fullDescription | string | Multi-paragraph description |
tags | string[] | NEW_HOME, BUILT_FOR_RENTERS, SHARED_OWNERSHIP, … |
Location
| Field | Type | Notes |
|---|---|---|
location.latitude / longitude | number | |
location.postcode | string | |
location.city | string | |
address | string | Full display address |
Media
| Field | Type | Notes |
|---|---|---|
images[] | array | { url, caption } |
floorplans[] | array | { url } (PDF or image) |
epcGraphs[] | array | EPC certificate URL |
videoUrl | URL | If present |
virtualTourUrl | URL | If present |
Agent
| Field | Type | Notes |
|---|---|---|
customer.branchId | number | |
customer.branchName | string | |
customer.brandPlus | boolean | Premium-brand flag |
customer.customerProfileUrl | URL | Agent's Rightmove profile page |
customer.displayAddress | string |
Sale history (includeSaleHistory: true)
| Field | Type | Notes |
|---|---|---|
saleHistory[] | array | { year, price } for every prior sale of this property |
Sold-price entity (house-prices mode)
| Field | Type | Notes |
|---|---|---|
soldPrice | number | GBP |
soldDate | ISO date | |
propertyType | enum | FLAT, DETACHED, SEMI_DETACHED, TERRACED |
tenure | enum | LEASEHOLD, FREEHOLD |
bedrooms | number |
FAQ
Q. Can I scrape a single property by ID?
Yes — paste the canonical URL https://www.rightmove.co.uk/properties/{id} into startUrls. The actor hits Rightmove's mobile API directly.
Q. Do I need to provide a Rightmove location identifier, or can I just type "London"?
Either works. If you only fill searchLocation ("London", "Canary Wharf", "NW3"), the actor resolves it to a Rightmove identifier automatically. Passing searchLocationIdentifier (e.g. REGION^87490) skips the resolve step and is more reliable for unusual locations.
Q. How is this different from other Rightmove scrapers on Apify? This is the only one with eight modes in a single actor — sale, rent, agents, commercial sale, commercial let, sold prices, overseas sale, overseas rent. Most competitors only handle sale + rent. It also includes historic sold-price retrieval and full agent metadata.
Q. Does it work on every Rightmove URL?
Public listings (sale, rent, commercial, overseas, agents, house-prices) — yes. Sold-out listings sometimes have stripped data (available: false); the actor still emits a row but some fields are null. Pre-market / off-market properties not visible to the public are not accessible.
Q. What's the throughput? With residential proxy, ~25 rows/second sustained on a search route, including detail enrichment. A 6,000-row London search takes 4-5 minutes end-to-end.
Q. Does monitoring mode work across runs?
Yes — monitoringMode: true uses Apify's KV store to remember IDs seen in previous runs. On rerun, only newly-listed properties are emitted. Reset by deleting the actor's persistent state, or by switching monitoringMode: false.
Q. Can I get floor plans or EPC? Floor-plan PDF URLs and EPC certificate URLs are in the row. The actor doesn't download the PDFs into the dataset — you'd fetch them separately if you need the binary content.
Q. How is pricing calculated?
Pay-per-result. One dataset row = one paid outputrecord event. 120-minute free trial included on first install. No subscription, no monthly fee.
Q. Do I need my own proxy?
No — Apify residential proxy is included and recommended. You can swap in your own if you prefer; the actor honours the proxy input field.
Support
- Issues: Use the Issues tab on the actor page on Apify Console.
- Email: muhamed.didovic@gmail.com
- Response time: typically within 24 hours.
Additional services
- Custom Rightmove scrapers for niche routes (e.g. retirement listings, new builds, specific brand monitoring)
- One-shot historical data pulls for backtesting / AVM training
- Webhook integrations (push new listings to your CRM, Slack, or Google Sheet on a schedule)
- Tailored field selection / row shape if you need a specific export schema
DM via the email above with your use case for a quote.
Explore more scrapers
- Zillow Scraper — US property data, comparable schema
- Realtor.com Scraper — second US source for cross-referencing
- Idealista Scraper — Spain / Portugal / Italy property data
- PrimeLocation Agents Scraper — UK estate-agent directory companion
- Domain.com.au Scraper — Australia property data
⚠️ Disclaimer
This Actor accesses publicly available data on Rightmove.co.uk for legitimate research, market intelligence, real-estate analysis, and lead-generation purposes. Rightmove is a trademark of Rightmove plc; this Actor is not affiliated with, endorsed by, or connected to Rightmove plc in any way.
Use of this Actor must comply with Rightmove's Terms of Service and all applicable laws including UK GDPR, the Data Protection Act 2018, and the EU GDPR where applicable. The Actor's authors are not responsible for any misuse. Users must:
- Respect rate limits and avoid overloading Rightmove's infrastructure
- Not use scraped data to violate user privacy, agent privacy, or any contractual terms
- Use the data in compliance with applicable jurisdictions and local property-data regulations
- Not republish scraped content (descriptions, images, floor plans) in violation of copyright or Rightmove's content licensing
We do not store any scraped data; the Actor returns it directly to your Apify dataset for your authorized use.
SEO Keywords
rightmove scraper, rightmove.co.uk scraper, rightmove api alternative, uk property scraper, uk real estate data, rightmove rent scraper, rightmove sale scraper, rightmove sold prices scraper, rightmove estate agents scraper, rightmove commercial property scraper, rightmove overseas property, uk house prices data, uk property api, london property scraper, buy to let data, b2b real estate leads, estate agent directory scraper, sold house prices uk, property monitoring scraper, uk property json export, rightmove csv export, real estate web scraping, property market intelligence, no-code property scraper, apify rightmove