Rightmove Property Scraper avatar

Rightmove Property Scraper

Pricing

from $0.75 / 1,000 property listings

Go to Apify Store
Rightmove Property Scraper

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

Keklik Tech

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

0.16 hours

Issues response

2 days ago

Last modified

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

FieldTypeDefaultDescription
startUrlsarrayrequiredRightmove search result URLs
fetchPropertyDetailsbooleanfalseAdd full property details to every listing — description, postcode, council tax, lease, stations, and more (paid add-on, takes longer)
maxResultsintegerallStop after this many unique listings
maxPagesPerUrlintegerallPage cap per search URL (~24 listings/page)
proxyConfigurationobjectApify ProxyDatacenter (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

FieldDescription
🆔 idRightmove property ID
🔗 urlListing URL
📍 addressDisplay address
📝 summaryShort listing summary
📡 channelBUY or RENT
👁️ street_viewStreet View available

🏠 property

FieldDescription
typeProperty subtype (Flat, Detached, Terraced…)
descriptionFull type description ("3 bedroom flat for sale")
bedrooms / bathroomsRoom counts
sizeDisplay size, when the agent provides one
tenureFREEHOLD, LEASEHOLD, …
key_featuresAgent's bullet-point highlights

💰 price

FieldDescription
amountNumeric price
currencyCurrency code (GBP)
qualifier"Offers in Excess of", "Guide Price", …
displayFormatted price ("£1,250,000")
frequencyFor rentals: monthly/weekly

🗺️ location · 🖼️ images · 📅 dates

FieldDescription
location.latitude / longitudeCoordinates
images.count / floorplans / virtual_toursMedia counts
images.mainMain photo URL
images.all[]All photos with captions
dates.first_listedFirst visible date
dates.last_updatedLast update date
dates.added_or_reduced"Added yesterday", "Reduced on…"
listing_update.reasonnew, price_reduced, …

🏢 agent · 🏷️ tags

FieldDescription
agent.name / branch / phoneAgent contact details
agent.branch_url / logoAgent page and brand logo
tags.featured / premiumPaid placement flags
tags.auction / commercial / development / residential / studentsListing category flags
tags.online_viewingsOnline viewings offered

details (with fetchPropertyDetails: true)

FieldDescription
📄 descriptionFull listing description
📮 address_detailPostcode (outcode/incode), UK country
📐 size_sqft / size_sqmFloor area
💷 price_per_sqft / secondary_price / price_numericExtra price data
🏛️ living_costsCouncil tax band, service charge, ground rent, domestic rates
📜 years_remaining_on_leaseLease length remaining
🔌 featuresParking, 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
🏷️ statusPublished/archived flags
🤝 shared_ownershipOwnership %, rent (shared-ownership listings)
🔑 lettingsDeposit, let type, furnishing, available date (rentals)
🏢 agent_detailAgent 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 ApifyClient
client = 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?