Rightmove Scraper avatar

Rightmove Scraper

Pricing

from $1.00 / 1,000 results

Go to Apify Store
Rightmove Scraper

Rightmove Scraper

Rightmove scraper for UK property data. Extract houses and flats for sale or to rent, sold house prices by postcode, commercial property and overseas listings, with estate agent contacts, price history, nearest schools with OFSTED ratings, stations, EPC and floorplans.

Pricing

from $1.00 / 1,000 results

Rating

0.0

(0)

Developer

SilentFlow

SilentFlow

Maintained by Community

Actor stats

1

Bookmarked

20

Total users

2

Monthly active users

2 days ago

Last modified

Share

Every UK property listing on Rightmove, structured and ready for analysis. Pull houses and flats for sale, rental stock, sold house prices by postcode, commercial property and overseas listings, with full estate agent contacts, floorplans, nearest stations and school catchment data. In seconds, not hours.

✨ Why teams choose this over other Rightmove scrapers

Spending hours copying listings into spreadsheets? Running scrapers that only pull half the data you need? Tired of paying extra for fields that should be included?

  • 🏡 Every field, included by default. Nearest schools with OFSTED ratings, nearest stations, price history, floorplans, virtual tours, key features, highlights (parking, garden, flood risks), council tax band, EPC rating, tenure, ground rent, and service charges. Other scrapers hide these behind paid toggles.
  • 📍 Any Rightmove search URL works. Paste your browser URL straight from Rightmove for sale, rent, sold prices, or overseas. No filters to rebuild, no location IDs to look up.
  • ⚡ Fast by default. Pull 500 search cards in under a minute, or 100 fully enriched properties in about two minutes. Parallel detail workers built in, no tuning required.
  • 💷 Complete agent data. Name, phone, logo, branch address, profile URL, and full description. Everything you need to contact or analyse the agent behind each listing.
  • 🗺️ Coordinates on every listing. Latitude and longitude included by default so you can map results, compute distances, or feed a GIS pipeline without geocoding.
  • 📦 Clean, predictable output. 50+ fields per property in one flat JSON structure. No nested surprises, no empty fields pretending to be null.
  • 🔁 Detail-page opt-out. If you only need the search card data, flip one switch and scrape 10x faster at lower cost.
  • 📡 Monitoring mode. Schedule the scraper and get charged only for newly listed properties compared to previous runs. A daily watcher on your postcode can cost 90% less than a full re-scrape.
  • 🗑️ Delisting tracker. Automatically detect when properties disappear from Rightmove. Perfect for tracking time-to-sell or competitor stock churn.

🎯 What you can do with Rightmove data

TeamWhat they build
Property investorsTrack every new sale listing in a postcode, compute price per square foot, and flag under-market properties the morning they hit Rightmove.
Lettings analystsPull every rental in a city with deposit, let type, furnished status, and council tax band. Compute gross yields against sold prices from the same postcode.
Estate agentsMonitor competitors' stock by branch, export their listing counts and average asking price, and benchmark your own portfolio against the local market weekly.
Data teamsFeed a live property dataset into BigQuery, Snowflake, or a custom warehouse with a single scheduled run.

📥 Input parameters

FieldTypeRequiredDescription
startUrlsarray of URLsNoRightmove search URLs for sale, rent, sold prices, commercial, or overseas. When both URL fields are empty, the example search (properties for sale in London) runs.
propertyUrlsarray of URLsNoIndividual property URLs to scrape directly, residential or commercial
maxItemsintegerNoMaximum properties to save. Default 100. Rightmove caps searches at 1000 per URL.
fullDetailsbooleanNoVisit each listing's detail page for the full 50+ fields including schools and price history. Default true. Disable for faster search-card-only runs.
monitoringModebooleanNoSave only new listings compared to previous runs. Requires scheduled runs on the same URL. Default false.
enableDelistingTrackerbooleanNoCompare each run of the same URLs with the previous one and list in the run log the properties that disappeared from Rightmove. Default false.

📊 Output data

Each property is saved as a flat JSON object:

{
"id": "163513427",
"url": "https://www.rightmove.co.uk/properties/163513427",
"displayAddress": "Greenwich Peninsula, 4 Cutter Lane, SE10",
"outcode": "SE10",
"incode": "0ZS",
"ukCountry": "England",
"bedrooms": 1,
"bathrooms": 1,
"propertySubType": "Apartment",
"price": "£585,000",
"priceNumeric": 585000,
"type": "sale",
"transactionType": "buy",
"tenure": "LEASEHOLD",
"yearsRemainingOnLease": 229,
"coordinates": {"latitude": 51.500977, "longitude": 0.008011},
"agent": "Garrison Estates, London",
"agentPhone": "020 3910 6752",
"agentProfileUrl": "https://www.rightmove.co.uk/estate-agents/agent/Garrison-Estates/London-181970.html",
"keyFeatures": ["13th floor one bedroom", "West facing", "Modern amenities"],
"images": ["https://media.rightmove.co.uk/..."],
"floorplans": [{"url": "...", "caption": "Floorplan 1", "type": "IMAGE"}],
"nearestStations": [
{"name": "North Greenwich", "types": ["LONDON_UNDERGROUND"], "distance": 0.3, "unit": "miles"}
],
"councilTaxBand": "E",
"description": "Positioned on the 13th floor...",
"listingUpdateReason": "Added on 19/06/2025",
"scrapedAt": "2026-04-10T19:40:53Z"
}

🗂️ Data fields

CategoryFields
Identityid, url, scrapedAt
AddressdisplayAddress, outcode, incode, ukCountry, countryCode, deliveryPointId
Basicsbedrooms, bathrooms, propertyType, propertySubType, summary
Priceprice, priceNumeric, secondaryPrice, priceQualifier
Transactiontype, transactionType, displayStatus, productLabel, tags, archived, published, sold
Tenuretenure, yearsRemainingOnLease
Locationcoordinates (latitude, longitude)
Agentagent, agentPhone, agentLogo, agentDisplayAddress, agentDescriptionHtml, agentProfileUrl, agentListingsUrl
Mediaimages, floorplans, virtualTours, brochures, epc
Descriptiondescription, descriptionHtml, keyFeatures
Living costscouncilTaxBand, annualGroundRent, annualServiceCharge, groundRentPercentageIncrease, councilTaxExempt, councilTaxIncluded
LettingsletAvailableDate, deposit, minimumTermInMonths, letType, furnishType
SizesizeSqFeetMin, sizeSqFeetMax
NearbynearestStations (name, type, distance), nearestAirports, nearestSchools (OFSTED rating, age range, pupil count, type, subtype, gender, religion, distance, coordinates, inspection report URL)
Price historypriceHistory (year, soldPrice, percentageDifference, detailsUrl)
DatesaddedOn, firstVisibleDate, listingUpdateDate, listingUpdateReason
SchemessharedOwnership, affordableBuyingScheme
Highlightsparking, garden, heating, water, sewerage, accessibility, risks, obligations

🚀 Examples

Get every London flat for sale

{
"startUrls": [
{"url": "https://www.rightmove.co.uk/property-for-sale/find.html?locationIdentifier=REGION%5E87490&propertyTypes=flat"}
],
"maxItems": 1000,
"fullDetails": true
}

Pull rental yields for Manchester (search cards only, fastest)

{
"startUrls": [
{"url": "https://www.rightmove.co.uk/property-to-rent/find.html?searchType=RENT&locationIdentifier=REGION%5E904"}
],
"maxItems": 500,
"fullDetails": false
}

Watch a specific estate agent's stock

{
"startUrls": [
{"url": "https://www.rightmove.co.uk/property-for-sale/find/Foxtons/Camden.html?locationIdentifier=BRANCH%5E4152&includeSSTC=true"}
],
"maxItems": 1000,
"fullDetails": true
}

Enrich a list of specific properties

{
"propertyUrls": [
{"url": "https://www.rightmove.co.uk/properties/163513427"},
{"url": "https://www.rightmove.co.uk/properties/148711631"}
],
"fullDetails": true
}

Daily watcher for new listings in a postcode

{
"startUrls": [
{"url": "https://www.rightmove.co.uk/property-for-sale/find.html?locationIdentifier=OUTCODE%5E1087"}
],
"maxItems": 1000,
"fullDetails": true,
"monitoringMode": true,
"enableDelistingTracker": true
}

First run saves everything. Every subsequent run saves only new listings and logs properties that disappeared since the previous run. Schedule it daily to track a market in real time.

💻 Integrations

Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("your-username/rightmove-scraper").call(run_input={
"startUrls": [
{"url": "https://www.rightmove.co.uk/property-for-sale/find.html?locationIdentifier=REGION%5E87490"}
],
"maxItems": 500,
"fullDetails": True,
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(f"{item['displayAddress']} - {item['price']} - {item['bedrooms']} beds")

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('your-username/rightmove-scraper').call({
startUrls: [
{ url: 'https://www.rightmove.co.uk/property-to-rent/find.html?searchType=RENT&locationIdentifier=REGION%5E87490' }
],
maxItems: 500,
fullDetails: true,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach(p => console.log(`${p.displayAddress}: ${p.price}`));

📈 Performance & limits

MetricValue
Search cards per page24
Rightmove cap per search URL1000 properties (42 pages)
Speed (search cards only)~11 properties per second (500 in 44s on Apify)
Speed (full details + schools + history)~3 properties per second (100 in 30s on Apify)
Memory512 MB per run
Cost per 1K properties (full details)~$2 (compute + proxy included)
Cost per 1K properties (search cards)~$0.07 (compute + proxy included)

💡 Tips for best results

  • Split large cities into outcodes. Rightmove caps each search URL at 1000 results. To scrape every London flat, use multiple outcode URLs (SE10, E14, NW1, etc.) instead of one regional URL.
  • Disable fullDetails when you only need basics. Search card data (address, price, beds, agent, coordinates) is already rich, 10x faster to collect, and costs under $0.10 per 1,000.
  • Use propertyUrls to re-enrich a watchlist. Keep a list of property IDs from a prior run and pass them directly to pull updated prices and status.
  • Combine sale and sold-price URLs for yield analysis. One run gets current asking prices, a second gets historical sold prices in the same postcode. Join on outcode.
  • Schedule runs for fresh data. Rightmove updates continuously. A daily schedule keeps your dataset current. Pair it with monitoringMode to pay only for new listings each day.
  • Set up a new listings alert. Schedule the actor hourly on your search with monitoringMode enabled and pipe the output to Slack or email. You get a Rightmove new listings alert on your own terms, with no daily email digest to wait for.
  • Scrape student and HMO stock. Rightmove's rental filters for student properties and houses in multiple occupation carry straight through the search URL, so a student lettings watchlist is one URL away.
  • Pull commercial property too. Office, retail, industrial and land listings on Rightmove Commercial return the same fields, with use class and tenure included.

❓ FAQ

Do I need a Rightmove account? No. The scraper extracts publicly available listing data with no login and no API key required.

Can I scrape sold prices and price history? Yes, two ways. For active listings, price history (previous sale prices for the address) is included automatically when fullDetails is enabled. For historical sold-prices by postcode, paste a /house-prices/... URL as a start URL.

Why does Rightmove cap searches at 1000 results? This is a hard limit imposed by Rightmove itself (42 pages of 24 results). For bigger areas, split your search into smaller regions or outcodes and the scraper deduplicates across them.

Can I track new listings over time? Yes, natively. Enable monitoringMode and schedule the actor daily on the same URL. Each run saves only the new listings compared to previous runs, cutting your cost by up to 90% on scheduled watchers. Enable enableDelistingTracker on top of that and the actor also logs properties that have disappeared from Rightmove.

Does it work for overseas properties? Yes. Overseas URLs like https://www.rightmove.co.uk/overseas-property-for-sale/Mallorca.html are supported and return the same field structure.

Can I get school catchment and OFSTED ratings? Yes. Every enriched property carries its nearest schools with OFSTED ratings, inspection body, pupil count, age range and distance, alongside the nearest stations and their distances. No separate lookup, no second actor.

Does it cover commercial property and land? Yes. Rightmove Commercial listings, development sites and land for sale return the same field structure as residential, with use class, tenure and available date.

Which cost fields are included? Council tax band, EPC rating, tenure, years remaining on lease, ground rent, ground rent review period, service charge, deposit, let type and furnished status. Shared ownership and affordable buying scheme flags are included as well.

What if Rightmove changes their page structure? The scraper uses the same data sources Rightmove exposes to their own apps and search engines. If something breaks, we ship a fix within 24 hours.

💸 Pricing

This scraper uses pay-per-event pricing. You pay only for the properties you get, not for compute time or proxy traffic. Everything is included.

Volume (monthly)Price per 1,000 properties
First 25,000$2.00
25,000 to 50,000$1.50
50,000 to 200,000$1.20
Above 200,000$1.00

All fields are included at every tier. No hidden surcharges for schools, price history, or full details. The same price covers search cards and enriched listings.

With monitoringMode enabled, you only pay for newly listed properties. A daily watcher on a postcode with 500 listings and 10 new properties per day costs about $0.02/day.

📬 Support

Need something this scraper doesn't do yet? We ship features fast.

  • Feature requests go straight to our backlog
  • Enterprise needs? We do custom integrations

Response time: usually under 24 hours.