Rightmove Property Scraper
Pricing
from $0.75 / 1,000 property listings
Rightmove Property Scraper
Scrapes property listings from Rightmove search results — prices, addresses, agents, coordinates, and optional full per-property details.
Pricing
from $0.75 / 1,000 property listings
Rating
0.0
(0)
Developer
Keklik Tech
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
0.16 hours
Issues response
2 days ago
Last modified
Categories
Share
🏠 Rightmove Property Scraper
Scrape property listings from Rightmove — the UK's largest property portal — into clean, structured data. Works with every Rightmove search type: property for sale, to rent, new homes, student accommodation, and commercial property. Run your search on rightmove.co.uk, copy the URL, paste it in, and get every listing as JSON/CSV/Excel. Fast, reliable, and built to keep working when the site changes.
🎯 Use cases
- 📊 Market research — track asking prices, price per sq ft, and time-on-market by area, postcode, or property type.
- 🏦 Investment sourcing — spot new and reduced listings daily, compare against your yield criteria, and filter by tenure, lease length, or council tax band.
- 🧲 Lead generation — new listings are buying signals for mortgage brokers, conveyancers, surveyors, and removal firms; agent names and phone numbers are included.
- 🏗️ PropTech & valuation models — feed AVMs and analytics products with fresh listing data, coordinates, and full property attributes.
- 🔔 Competitor monitoring — track which agents list what, where, and at what price.
- 📰 Research & journalism — housing market studies with reproducible, exportable data.
⚙️ Input
| Field | Type | Default | Description |
|---|---|---|---|
startUrls | array | required | Rightmove search result URLs |
fetchPropertyDetails | boolean | false | Add full property details to every listing — description, postcode, council tax, lease, stations, and more (paid add-on, takes longer) |
maxResults | integer | all | Stop after this many unique listings |
maxPagesPerUrl | integer | all | Page cap per search URL (~24 listings/page) |
proxyConfiguration | object | Apify Proxy | Datacenter (default) or your own proxy URLs |
Minimal example — all listings from one search:
{"startUrls": [{ "url": "https://www.rightmove.co.uk/property-for-sale/find.html?searchLocation=London&useLocationIdentifier=true&locationIdentifier=REGION%5E87490&radius=0.0&channel=BUY&transactionType=BUY&sortType=6" }]}
Full example — two searches, complete property details, capped at 500 listings:
{"startUrls": [{ "url": "https://www.rightmove.co.uk/property-for-sale/find.html?searchLocation=Manchester&useLocationIdentifier=true&locationIdentifier=REGION%5E904&radius=5.0&channel=BUY&transactionType=BUY&maxPrice=300000&minBedrooms=2" },{ "url": "https://www.rightmove.co.uk/property-to-rent/find.html?searchLocation=Leeds&useLocationIdentifier=true&locationIdentifier=REGION%5E787&radius=3.0&channel=RENT&transactionType=LETTING" }],"fetchPropertyDetails": true,"maxResults": 500,"maxPagesPerUrl": 20,"proxyConfiguration": { "useApifyProxy": true }}
📦 Output
One dataset item per listing. Real example (with fetchPropertyDetails: true):
{"id": 92299551,"url": "https://www.rightmove.co.uk/properties/92299551#/?channel=RES_BUY","property": {"type": "Flat","description": "3 bedroom flat for sale","bedrooms": 3,"bathrooms": 2,"size": "1,765 sq. ft.","tenure": "LEASEHOLD","key_features": []},"price": {"amount": 1250000,"currency": "GBP","qualifier": null,"display": "£1,250,000","frequency": "not specified"},"address": "RIVERDALE ROAD, EAST TWICKENHAM","location": {"latitude": 51.455996,"longitude": -0.313781},"summary": "Stunning luxury apartment, the whole ground floor of a striking Victorian villa, with land including parking, garage and private garden area, less than 10 mins' walk from Richmond Bridge. lovely shared garden, sold newly decorated and re-floored, with NEW long lease... Call now to view. Davi","images": {"count": 14,"floorplans": 0,"virtual_tours": 0,"main": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/4f91dc4e5/92299551/4f91dc4e5ba247d6039f374a400cd180_max_476x317.jpeg","all": [{ "url": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/4f91dc4e5/92299551/4f91dc4e5ba247d6039f374a400cd180_max_476x317.jpeg", "caption": null },{ "url": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/564152a8e/92299551/564152a8e37d288a1e1dc12fdc1d44db_max_476x317.jpeg", "caption": null }]},"dates": {"first_listed": "2026-08-22T18:39:56Z","last_updated": "2026-08-23T01:14:20Z","added_or_reduced": "Added yesterday","is_recent": true},"listing_update": {"reason": "new","date": "2026-08-22T18:45:13Z"},"agent": {"name": "David McGeachie Sales","branch": "David McGeachie Sales, St Margarets, Twickenham","phone": "020 3907 9751","branch_url": "https://www.rightmove.co.uk/estate-agents/agent/David-McGeachie-Sales/St-Margarets-Twickenham-81106.html","logo": "https://media.rightmove.co.uk:443/partner-logo/15698081-PRODUCTS_LOGO-1766064814.jpeg"},"tags": {"label": null,"featured": true,"premium": false,"auction": false,"commercial": false,"development": false,"residential": true,"students": false,"online_viewings": false},"street_view": true,"channel": "BUY","details": {"description": "Stunning luxury apartment, approx 1746 square feet, the whole ground floor of a striking Victorian villa c 1865, with land including parking, garage and private garden area, less than 10 mins' walk from Richmond Bridge. sold newly decorated and re-floored, with NEW long lease... Call now to view. David <br /><br />3 bedroom apartment, just fully repainted and re-floored, with approx 1746 square feet including lots of storage<br />Own front door<br />Large shared garden to rear<br />Land to right of the building is included with this apartment - parking, garage and rear garden area<br />We are a local independent agent near to the property.<br /><br />Please call us now to view.<br />David <br /><br />PS Floorplan is in photos. <br /><br />Council Tax Band: F £3592 2026 (Richmond)<br />Tenure: Leasehold (250 years)<br />Ground Rent: £0 per year","secondary_price": null,"price_per_sqft": "£708.22 per sq ft","price_numeric": 1250000,"address_detail": {"country_code": "GB","uk_country": "England","outcode": "TW1","incode": "2BT"},"size_sqft": 1765,"size_sqm": 164,"living_costs": {"council_tax_band": "F","council_tax_exempt": false,"council_tax_included": false,"annual_ground_rent": 0,"annual_service_charge": null,"ground_rent_review_years": null,"ground_rent_pct_increase": null,"domestic_rates": 3592},"years_remaining_on_lease": 250,"features": {"electricity": [],"broadband": [],"water": [],"sewerage": [],"heating": [],"accessibility": [],"parking": [{ "alias": "garage", "displayText": "Garage" },{ "alias": "on_street", "displayText": "On street" },{ "alias": "off_street", "displayText": "Off street" }],"garden": [{ "alias": "private_garden", "displayText": "Private garden" },{ "alias": "communal_garden", "displayText": "Communal garden" },{ "alias": "rear_garden", "displayText": "Rear garden" }],"risks": {"floodedInLastFiveYears": false,"floodDefences": false,"floodSources": []},"obligations": {"listed": false,"restrictions": false,"requiredAccess": false,"rightsOfWay": false}},"nearest_stations": [{ "name": "St. Margarets Station", "types": ["NATIONAL_TRAIN"], "distance": 0.29637373323022814, "unit": "miles" },{ "name": "Richmond Station", "types": ["NATIONAL_TRAIN", "LONDON_UNDERGROUND", "LONDON_OVERGROUND"], "distance": 0.7468213839187418, "unit": "miles" },{ "name": "Twickenham Station", "types": ["NATIONAL_TRAIN"], "distance": 0.8018574767279193, "unit": "miles" }],"epc": ["https://media.rightmove.co.uk/property-epc/546859c45/92299551/546859c456010ecbdaf58fca6072c1bf.jpeg"],"brochures": [{ "url": "https://mcgeachiemedd.10ninety.co.uk/PublicProperty/DisplayBrochure/302", "caption": "Brochure" }],"floorplan_urls": [],"image_urls": ["https://media.rightmove.co.uk/property-photo/4f91dc4e5/92299551/4f91dc4e5ba247d6039f374a400cd180.jpeg","https://media.rightmove.co.uk/property-photo/564152a8e/92299551/564152a8e37d288a1e1dc12fdc1d44db.jpeg"],"virtual_tours": [],"status": {"published": true,"archived": false},"shared_ownership": null,"lettings": null,"agent_detail": {"company": "Tenant Finder","address": "191 Richmond Road,\r\nTwickenham,\r\nTW1 2NJ","profile_url": "https://www.rightmove.co.uk/estate-agents/agent/David-McGeachie-Sales/St-Margarets-Twickenham-81106.html"}}}
(Image arrays shortened here for readability — the scraper returns all of them.)
Export as JSON, CSV, Excel, or XML from the dataset. Nested fields flatten to dot notation (price.amount, property.bedrooms) in tabular exports.
🗂️ Data fields
Core
| Field | Description |
|---|---|
🆔 id | Rightmove property ID |
🔗 url | Listing URL |
📍 address | Display address |
📝 summary | Short listing summary |
📡 channel | BUY or RENT |
👁️ street_view | Street View available |
🏠 property
| Field | Description |
|---|---|
type | Property subtype (Flat, Detached, Terraced…) |
description | Full type description ("3 bedroom flat for sale") |
bedrooms / bathrooms | Room counts |
size | Display size, when the agent provides one |
tenure | FREEHOLD, LEASEHOLD, … |
key_features | Agent's bullet-point highlights |
💰 price
| Field | Description |
|---|---|
amount | Numeric price |
currency | Currency code (GBP) |
qualifier | "Offers in Excess of", "Guide Price", … |
display | Formatted price ("£1,250,000") |
frequency | For rentals: monthly/weekly |
🗺️ location · 🖼️ images · 📅 dates
| Field | Description |
|---|---|
location.latitude / longitude | Coordinates |
images.count / floorplans / virtual_tours | Media counts |
images.main | Main photo URL |
images.all[] | All photos with captions |
dates.first_listed | First visible date |
dates.last_updated | Last update date |
dates.added_or_reduced | "Added yesterday", "Reduced on…" |
listing_update.reason | new, price_reduced, … |
🏢 agent · 🏷️ tags
| Field | Description |
|---|---|
agent.name / branch / phone | Agent contact details |
agent.branch_url / logo | Agent page and brand logo |
tags.featured / premium | Paid placement flags |
tags.auction / commercial / development / residential / students | Listing category flags |
tags.online_viewings | Online viewings offered |
➕ details (with fetchPropertyDetails: true)
| Field | Description |
|---|---|
📄 description | Full listing description |
📮 address_detail | Postcode (outcode/incode), UK country |
📐 size_sqft / size_sqm | Floor area |
💷 price_per_sqft / secondary_price / price_numeric | Extra price data |
🏛️ living_costs | Council tax band, service charge, ground rent, domestic rates |
📜 years_remaining_on_lease | Lease length remaining |
🔌 features | Parking, garden, heating, accessibility, flood risks, obligations |
🚉 nearest_stations[] | Nearby stations with distances |
⚡ epc[] | EPC certificate images |
📎 brochures[] / floorplan_urls[] | Documents and floorplans |
📷 image_urls[] | Full-resolution photo URLs |
🎥 virtual_tours[] | Virtual tour links |
🏷️ status | Published/archived flags |
🤝 shared_ownership | Ownership %, rent (shared-ownership listings) |
🔑 lettings | Deposit, let type, furnishing, available date (rentals) |
🏢 agent_detail | Agent company name, address, profile URL |
🔌 Run via API
Everything the scraper does is available programmatically — run it from your own code, on a schedule, or inside a pipeline. Get your API token from Apify Console → Settings → API & Integrations.
cURL — start a run and get results in one call (best for smaller runs):
curl -X POST "https://api.apify.com/v2/acts/kekliktech~rightmove-scraper/run-sync-get-dataset-items?token=<YOUR_API_TOKEN>" \-H "Content-Type: application/json" \-d '{"startUrls": [{ "url": "https://www.rightmove.co.uk/property-for-sale/find.html?searchLocation=London&useLocationIdentifier=true&locationIdentifier=REGION%5E87490&radius=0.0&channel=BUY&transactionType=BUY" }],"maxResults": 100}'
Python (pip install apify-client):
from apify_client import ApifyClientclient = ApifyClient("<YOUR_API_TOKEN>")run = client.actor("kekliktech/rightmove-scraper").call(run_input={"startUrls": [{"url": "https://www.rightmove.co.uk/property-for-sale/find.html?searchLocation=London&useLocationIdentifier=true&locationIdentifier=REGION%5E87490&radius=0.0&channel=BUY&transactionType=BUY"}],"fetchPropertyDetails": True,"maxResults": 100,})for listing in client.dataset(run["defaultDatasetId"]).iterate_items():print(listing["address"], listing["price"]["display"])
Node.js (npm install apify-client):
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_API_TOKEN>' });const run = await client.actor('kekliktech/rightmove-scraper').call({startUrls: [{ url: 'https://www.rightmove.co.uk/property-for-sale/find.html?searchLocation=London&useLocationIdentifier=true&locationIdentifier=REGION%5E87490&radius=0.0&channel=BUY&transactionType=BUY' }],maxResults: 100,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
For long runs, start the run asynchronously (POST /v2/acts/kekliktech~rightmove-scraper/runs) and fetch the dataset when it finishes — or add a webhook in the Integrations tab to get notified. The API button at the top of this page has the full endpoint reference, and you can schedule recurring runs with Apify Schedules. AI agents can also call this actor through Apify's MCP server.
⚠️ Limits
Rightmove serves at most 1,008 listings per search (42 pages) — this is a Rightmove cap, not a scraper limit. To collect more from a large area, split the search into narrower ones (by price band, property type, or smaller radius) and pass all the URLs in startUrls. Duplicates are removed automatically.
💬 Support
Questions, issues, or a field you need that isn't here?
- 📧 Email: support@kekliktech.com
- 💬 WhatsApp: +44 7916 692476
- 🐛 Or open an issue in the Issues tab of this actor