Rightmove Scraper — UK Sale, Rent & Agent Data avatar

Rightmove Scraper — UK Sale, Rent & Agent Data

Pricing

from $0.99 / 1,000 listings

Go to Apify Store
Rightmove Scraper — UK Sale, Rent & Agent Data

Rightmove Scraper — UK Sale, Rent & Agent Data

Scrape Rightmove.co.uk for-sale and to-rent listings. Get price, beds, tenure, EPC, GPS, photos, floorplans, and agent phone. Paste a search or property URL. Rightmove API alternative for Python, Node.js, and MCP.

Pricing

from $0.99 / 1,000 listings

Rating

0.0

(0)

Developer

Andrej Kiva

Andrej Kiva

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Disclaimer: This is an unofficial integration developed independently. It is not affiliated with, sponsored by, or endorsed by Rightmove Group Limited or any of its subsidiaries.

Rightmove and related names are trademarks of their respective owners. Data is read from publicly accessible Rightmove UK listings. No Rightmove account login is required.

This Actor is provided for informational, research, lead-generation, and market monitoring purposes. You are solely responsible for complying with applicable laws (including UK GDPR), Rightmove's terms of use, and your organization's policies when processing listing and agent data.

Rightmove scraper for UK for sale and to rent property listings — export price, beds, baths, tenure, EPC, GPS, photos, floorplans, stations, and estate-agent phone into JSON/CSV. Use it as a Rightmove API alternative from Python, Node.js, cURL, or Apify MCP / AI assistants: paste any search or /properties/{id} URL, or type a city / outcode.

Best for: UK sale and rent comps, PropTech pipelines, agent lead lists, new-listing monitors, and dataset export via Apify.

ActorRole
Rightmove Scraper ◄── you are hereUK Rightmove listings (sale & rent)
Idealista ScraperSpain Idealista listings + agency leads
ImmobilienScout24 ScraperGermany IS24 rent & buy
Leboncoin ScraperFrench classifieds
Kleinanzeigen ScraperGerman classifieds + monitor alerts

When to use this Actor

  • Rightmove property scraper for search pages — Copy a filtered browser URL (area, price, beds, radius, SSTC) into Start URLs.
  • For sale / to rent datasets — London, Manchester, Birmingham, or any outcode; export JSON/CSV for comps and pipelines.
  • Agent phones on every row — Branch name, brand, and listed telephone from the search card and property JSON.
  • Full property details — Keep details on for description, tenure, lease years, ground rent, council tax, EPC graphs, floorplans, and stations.
  • Scheduled monitoring — Re-run the same search and emit only new or price-changed listings.
  • Coverage past the ~1,050 result cap — Rightmove search stops around 42 pages. This Actor splits the query by price bands so large cities are not truncated.

When not to use this Actor

  • Commercial, overseas, sold-prices, or estate-agent directory — This version targets residential sale and rent listings. Paste /property-for-sale/, /property-to-rent/, or /properties/{id} URLs.
  • Zoopla / OnTheMarket — Separate portals; this Actor reads Rightmove only.
  • Authenticated actions — No login, messaging, saved-search inbox, or contact-unlock walls.

Key features

  • HTTP JSON APIs — Listing search + Android property payload. No headless browser, 128–512 MB RAM.
  • Search + property URLs — One Actor handles result lists and single listing IDs.
  • Search builder — Type London, SW1A, or NW3 (auto typeahead), sale vs rent, price / beds / radius when you do not have a URL.
  • Sold STC / Let Agreed — Optional include flag; off by default like the website.
  • Price-band split — Automatic when a query hits the 42-page window (~1,050 rows) with tens of thousands of matches (e.g. all of London).
  • Monitor mode — Key-value store remembers listing IDs and prices across runs.
  • Residential GB proxy — Recommended on Apify Cloud so datacenter IPs are not blocked.

Input

FieldWhat it does
Start URLsSearch (/property-for-sale/find.html, /property-to-rent/find.html) or property (/properties/{id}) links. Filters in the URL are kept.
LocationBuilder only. City, outcode, or postcode (Manchester, SW1A).
Location identifierOptional explicit id (REGION^87490).
Sale or rentBuilder only.
Min/max price, bedrooms, radiusBuilder filters in GBP / miles.
Include Sold STC / Let AgreedKeep under-offer rows.
Max listingsCap on dataset rows.
Scrape full property detailsDefault on. Off = search-card fields only (faster).
Monitor modeSave new and price-changed rows only.
ProxyApify Residential, country GB.
{
"startUrls": [
{ "url": "https://www.rightmove.co.uk/property-for-sale/find.html?locationIdentifier=REGION%5E87490" }
],
"maxItems": 50,
"includeDetails": true,
"monitorMode": false,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"],
"apifyProxyCountry": "GB"
}
}

Builder example (no URL):

{
"location": "Manchester",
"transactionType": "rent",
"maxPrice": 1500,
"minBedrooms": 2,
"maxItems": 40,
"includeDetails": true
}

Output

One dataset row per listing. Search-card fields are always present; detail fields fill in when Scrape full property details is on.

FieldDescription
id / urlRightmove property id and canonical URL
titleHeadline (2 bedroom apartment)
transactionTypesale or rent
price / priceLabelNumeric GBP (purchase, or pcm for rent) and display string
pricePcm / pricePwRent breakdown when listed
bedrooms / bathroomsCounts
propertyType / tenureApartment, Terraced, … / Freehold, Leasehold
address / postcode / outcodeDisplay address and UK postcode parts
latitude / longitudeGPS
agentName / agentBrand / agentPhoneBranch + listed telephone
photos / floorplans / epcGraphsMedia URLs
stationsNearest stations with distance in miles
description / keyFeaturesFull text when details are on
councilTaxBand / groundRent / serviceChargeSale extras
deposit / furnishType / letTypeRent extras
listingUpdateReason / firstVisibleDateNew vs reduced
scrapedAtUTC timestamp
{
"id": "91682097",
"url": "https://www.rightmove.co.uk/properties/91682097",
"title": "2 bedroom apartment",
"transactionType": "rent",
"price": 5200,
"priceLabel": "£5,200 pcm",
"pricePcm": 5200,
"pricePw": 1200,
"bedrooms": 2,
"bathrooms": 2,
"propertyType": "Apartment",
"address": "Fitzjohns Avenue, Hampstead, NW3",
"postcode": "NW3",
"latitude": 51.547691,
"longitude": -0.176158,
"agentName": "TK International, Hampstead",
"agentPhone": "020 3834 8666",
"photos": ["https://media.rightmove.co.uk/property-photo/..."],
"scrapedAt": "2026-08-17T12:00:00+00:00"
}

Use cases

  • Buy-to-let screening — Pull 2-bed rentals in a postcode with pcm, yield inputs, and agent phone.
  • Sales comps — Export price, beds, tenure, sq ft, and photos for an outcode.
  • Agency monitoring — Schedule the same search daily; monitor mode keeps only new stock and reductions.
  • Lead lists — Branch name + telephone on every row for outbound.
  • City-wide coverage — London-scale queries are split by price so you are not stuck at the first 1,050 hits.

Integration examples

Replace YOUR_TOKEN with your Apify API token. Actor name: crawloop/rightmove-scraper.

Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('crawloop/rightmove-scraper').call({
startUrls: [
{ url: 'https://www.rightmove.co.uk/property-for-sale/find.html?locationIdentifier=REGION%5E87490&maxPrice=500000&minBedrooms=2' }
],
maxItems: 50,
includeDetails: true,
proxyConfiguration: {
useApifyProxy: true,
apifyProxyGroups: ['RESIDENTIAL'],
apifyProxyCountry: 'GB',
},
});
for await (const item of client.dataset(run.defaultDatasetId).iterateItems()) {
console.log(item.id, item.price, item.agentPhone);
}

Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_TOKEN")
run = client.actor("crawloop/rightmove-scraper").call(
run_input={
"location": "Manchester",
"transactionType": "sale",
"maxPrice": 350000,
"minBedrooms": 3,
"maxItems": 50,
"includeDetails": True,
"proxyConfiguration": {
"useApifyProxy": True,
"apifyProxyGroups": ["RESIDENTIAL"],
"apifyProxyCountry": "GB",
},
}
)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item.get("id"), item.get("price"), item.get("postcode"))

cURL

curl -X POST "https://api.apify.com/v2/acts/crawloop~rightmove-scraper/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"startUrls": [{"url": "https://www.rightmove.co.uk/property-to-rent/find.html?locationIdentifier=OUTCODE%5E1859"}],
"maxItems": 20,
"includeDetails": true,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"],
"apifyProxyCountry": "GB"
}
}'

MCP and AI assistants

Use this Actor from AI tools via Apify MCP. Connect your Apify account, then call this Actor by its Store ID / name (crawloop/rightmove-scraper).

Example prompts:

  • "Run Rightmove Scraper for 2-bed flats for sale in Manchester under £350,000, max 30, and return id, price, postcode, agent phone as JSON"
  • "Scrape Rightmove NW3 rentals with full details and summarize average pcm vs weekly rent"
  • "Pull Rightmove London sales, then compare the field set with ImmobilienScout24 Scraper for a UK vs Germany pipeline"

Suite next step

After UK Rightmove comps, add Spain coverage with Idealista Scraper, or Germany with ImmobilienScout24 Scraper.

FAQ

Is this an official Rightmove API?
No. It is an unofficial Rightmove scraper / API alternative that reads the public listing-search JSON and Android property payload. It is not affiliated with Rightmove Group Limited. You can call it from Python, Node.js, cURL, or MCP.

How do I scrape Rightmove with Python or Node.js?
Run this Actor via the Apify client (examples above) or cURL. Pass a search URL or a location such as Manchester plus transactionType. Results land in the default dataset as JSON.

Can I scrape London (or another city) for sale?
Yes. Paste a London /property-for-sale/find.html URL, or use the builder with location London and transaction type sale. The same pattern works for Manchester, Birmingham, Edinburgh, and outcodes such as SW1A.

Why residential proxies?
Apify datacenter IPs are often blocked. Residential GB is the supported setup on Cloud.

Can I paste a browser search URL?
Yes. Apply filters on the site, copy the find.html URL, paste into Start URLs. Location, price, beds, radius, and SSTC in the query string are kept.

Does it stop at 1,000 results like the website?
The website result list is capped at about 42 pages (~1,050 rows). When a query reports more hits than that window, the Actor splits the price range automatically.

Are phone numbers included?
Yes when Rightmove already lists the branch telephone (agentPhone). Private contact-unlock flows are not automated.

Do you scrape commercial property or sold house prices?
Not in this version. Residential sale and rent only.

ActorWhat it covers
Idealista ScraperSpain sale/rent listings + agency phones
ImmobilienScout24 ScraperGermany rent and buy
Leboncoin ScraperFrance classifieds
Kleinanzeigen ScraperGerman classifieds monitor