Rightmove Scraper - UK Property Listings & Agent Leads avatar

Rightmove Scraper - UK Property Listings & Agent Leads

Pricing

from $4.00 / 1,000 property scrapeds

Go to Apify Store
Rightmove Scraper - UK Property Listings & Agent Leads

Rightmove Scraper - UK Property Listings & Agent Leads

Scrape Rightmove UK property listings for sale & to rent: price, beds/baths, address, geo, floor area, EPC, council tax, tenure, description, photos, nearest stations — plus estate-agent leads (branch, phone). New-listing & price-drop monitoring. No login, key or browser.

Pricing

from $4.00 / 1,000 property scrapeds

Rating

0.0

(0)

Developer

Scrape Sage

Scrape Sage

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

12 hours ago

Last modified

Share

Rightmove Scraper — UK Property Listings, Prices & Agent Leads

Extract complete Rightmove property data for sale and rent across the UK — prices, beds/baths, full address & geo, floor area, EPC, council tax band, ground rent, service charge, tenure, full description, key features, photos and nearest stations. Optionally turn every estate agent into a ready-to-contact B2B lead (branch, brand, phone, valuation page), and run in monitoring mode to capture only new listings and price drops.

No login, no cookies, no browser — fast JSON extraction with 99%+ reliability.

Why this Rightmove scraper?

Most Rightmove scrapers only parse the listing cards and stop. This actor pulls the full property detail layer too — the same fields a buyer sees on the property page — and adds estate-agent leads and change monitoring, shipping the richest dataset in the category:

DataTypical scrapersThis actor
Price, beds/baths, address, geo, type
Full description + all key features
Floor area (sq ft and sq m)
EPC, council tax band, ground rent, service charge
Tenure + years remaining on lease
Nearest stations + distances
Added/reduced reason & date, price history flagpartial
Estate-agent leads (branch, brand, phone, valuation URL)✅ opt-in
New-listing & price-drop monitoring✅ opt-in
Location auto-resolve (type a place name)

Use cases

  • Property investment & sourcing — find below-market and reduced stock fast; filter by yield-relevant fields (price, beds, floor area, tenure, ground rent, service charge) and watch a patch for new listings and price drops.
  • Lead generation — estate agents are active B2B buyers (and sellers): they need proptech, mortgage & conveyancing referrals, photography, EPC assessors, floorplans, cleaning and marketing. Output one deduplicated lead per branch with brand, phone and valuation page.
  • Market & pricing intelligence — track asking prices, £/sq ft, days-on-market signals (addedOrReduced, listingUpdateReason) and stock levels by town, outcode or postcode.
  • Comparables & valuation — pull every active comparable around a postcode with size, tenure and council tax band for AVM and CMA workflows.
  • Relocation & portals — feed property search apps, newsletters and dashboards with structured, photo-rich listings for any UK area.

How to use

  1. Sign up for Apify — the free plan is enough to try this actor.
  2. Open the Rightmove Scraper, enter one or more locations (e.g. London, Manchester, SW1A), pick for sale or to rent, set your filters, and click Start.
  3. Watch results stream into the dataset table.
  4. Export as JSON, CSV, Excel, XML, or RSS — or pull results programmatically via the Apify API.

Input

{
"searchType": "for-sale",
"locations": ["London", "Manchester", "SW1A"],
"minPrice": 400000,
"maxPrice": 800000,
"minBedrooms": 2,
"propertyTypes": ["flat"],
"radius": "1.0",
"sortType": "6",
"includePropertyDetails": true,
"deduplicateAgents": true,
"maxResults": 500
}
  • searchTypefor-sale or to-rent (applies to locations searches).
  • locations — place names (London), outcodes/postcodes (SW1A, M1), station names, Rightmove identifiers (REGION^87490, OUTCODE^2506), or a full Rightmove search URL. Each is auto-resolved via Rightmove's own autocomplete.
  • startUrls — paste Rightmove search-results URLs (paginated with your filters) or individual property URLs (scraped in full detail).
  • propertyUrls — direct property URLs or numeric IDs to scrape detail records for.
  • minPrice / maxPrice / minBedrooms / maxBedrooms / propertyTypes / radius / sortType / maxDaysSinceAdded / keywords — search filters.
  • includeSSTC / includeLetAgreed / furnishTypes — include Sold STC (sale) or Let Agreed (rent); restrict rentals by furnishing.
  • includePropertyDetails (default true) — open each property page for the full detail layer (description, key features, floor area, EPC, council tax, ground rent, service charge, tenure, nearest stations, photos, full agent profile). Turn off for a faster, cheaper listing-only run.
  • deduplicateAgents (default false) — also output one lead record per unique estate-agent branch (type: "agent").
  • maxResults — global cap (Rightmove returns up to ~1,000 results per individual search).
  • monitorMode (default false) — only emit new and price-changed listings (see below).

Output

One record per property (type: "property"), plus optional estate-agent lead records (type: "agent"):

{
"type": "property",
"id": "173885045",
"url": "https://www.rightmove.co.uk/properties/173885045",
"channel": "for-sale",
"displayAddress": "Michael Road, Kings Road Park, SW6",
"propertyType": "2 bedroom flat for sale",
"bedrooms": 2,
"bathrooms": 2,
"price": 1150000,
"currency": "GBP",
"displayPrice": "£1,150,000",
"pricePerSqFt": "£1232.58 per sq ft",
"addedOrReduced": "Reduced on 27/04/2026",
"listingUpdateReason": "price_reduced",
"latitude": 51.477491,
"longitude": -0.18878,
"postcode": "SW6 2RN",
"outcode": "SW6",
"ukCountry": "England",
"tenureType": "LEASEHOLD",
"yearsRemainingOnLease": 994,
"councilTaxBand": "G",
"annualGroundRent": 800,
"annualServiceCharge": 6062.66,
"sizeSqFt": 933,
"sizeSqM": 87,
"keyFeatures": ["Turn-key lateral ground floor apartment", "Two bedrooms, two bathrooms"],
"description": "A turn-key apartment within this newly formed development…",
"nearestStations": [{ "name": "Imperial Wharf Station", "types": ["NATIONAL_TRAIN"], "distanceMiles": 0.31, "unit": "miles" }],
"imageCount": 10,
"floorplanCount": 1,
"mainImage": "https://media.rightmove.co.uk/.../173885045_max_476x317.jpeg",
"agentName": "Chestertons",
"agentBranch": "Fulham Parsons Green",
"agentPhone": "020 3870 3072",
"agentBranchAddress": "78 New Kings Road, Fulham, London, SW6 4LT",
"agentProfileUrl": "https://www.rightmove.co.uk/estate-agents/agent/Chestertons/Fulham-Parsons-Green-48856.html",
"searchLocation": "London",
"scrapedAt": "2026-06-16T12:00:00.000Z"
}

In monitoring mode, records are tagged changeType (new or price_changed) and price changes include previousPrice and priceDelta.

Monitoring mode & scheduling

Turn on monitorMode to remember the properties already returned and emit only ones that are new or whose price/status changed since the last run. This is the cleanest way to track fresh stock and price drops in a patch.

It is fully compatible with Apify Schedules — they do different jobs: the schedule decides when the run fires (e.g. every morning), and monitoring mode decides what is returned (only the deltas). Point each scheduled search at its own monitorStoreName to keep histories separate.

Automate & schedule

Run this actor on autopilot and pull results into your own stack:

  • Apify API — start runs, fetch datasets, and manage schedules over REST.
  • apify-client for JavaScript and apify-client for Python — official SDKs.
  • Schedules — run it hourly/daily/weekly to monitor new stock and price drops in a town, outcode or postcode; perfect for alerts and lead pipelines.
  • Webhooks — trigger downstream actions (CRM import, Slack alert, email sequence) the moment a run finishes.
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'MY_APIFY_TOKEN' });
const run = await client.actor('scrapesage/rightmove-scraper').call({
searchType: 'for-sale',
locations: ['Manchester'],
minBedrooms: 2,
maxPrice: 350000,
includePropertyDetails: true,
deduplicateAgents: true,
maxResults: 500,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Got ${items.length} properties & agent leads`);

Integrate with any app

Connect the dataset to 5,000+ apps — no code required:

  • Make — multi-step automation scenarios.
  • Zapier — push new property alerts or agent leads straight into your CRM.
  • Slack — get notified when a monitored search finds new stock or a price drop.
  • Google Drive / Sheets — auto-export every run to a spreadsheet.
  • Airbyte — pipe results into your data warehouse.
  • GitHub — trigger runs from commits or releases.

Use with AI assistants (MCP)

The output is clean, LLM-ready JSON. You can call this actor from Claude, ChatGPT, or any agent framework through the Apify MCP server — ask your assistant to "find 2-bed flats under £350k in Manchester added this week and list the agents' phone numbers" and let it run this scraper for you.

More scrapers from scrapesage

Build a complete property & local-leads stack:

Tips

  • Big cities: Rightmove caps each individual search at ~1,000 results. To exhaust a large area, split runs by outcode/postcode, by propertyTypes, or by price band.
  • Fresh stock only: set maxDaysSinceAdded (e.g. 1 or 7) and/or turn on monitorMode to capture just new and reduced listings.
  • Cost control: turn off includePropertyDetails for a fast listing-only run (still 30+ fields per card including agent name & phone); agent leads are deduplicated per branch.
  • Proxies: the default Apify Proxy works well and keeps costs low. If you hit rate limiting on very large runs, switch the proxy to Residential.

FAQ

How do I scrape Rightmove for a specific area? Put the place in locations — a name (Leeds), an outcode/postcode (LS1), a station, or a Rightmove identifier (REGION^87490). Combine with filters to narrow by price, beds, type and radius. You can also paste a full Rightmove search URL.

Can I get sale and rental data? Yes — set searchType to for-sale or to-rent. Rental records include the rent frequency (e.g. pcm) and a per-week equivalent where Rightmove provides it.

Where do the agent phone numbers come from? From the property's own listing — Rightmove publishes the marketing branch's display name and contact telephone on every listing. With deduplicateAgents on, the actor rolls these up into one lead per branch.

How do I monitor new listings and price drops automatically? Turn on monitorMode and create an Apify Schedule. Each run returns only new and price-changed properties; add a webhook or Zapier zap to push them into your CRM or a Slack channel.

Can I export to Google Sheets, CSV, or Excel? Yes — one click in the dataset view, or automatically on every run via the Google Drive integration.

A field is null — why? Some listings genuinely don't publish a value (e.g. freehold houses have no lease years; online-only developments omit a station). Fields are null only when the data doesn't exist, not because the scraper skipped them.

Is scraping Rightmove legal? This actor collects publicly available data only. You are responsible for using the data in compliance with applicable laws (UK GDPR for personal data) and Rightmove's terms.

Need help?

Open an issue on the actor's Issues tab, or visit the Apify help center. Feature requests are welcome — this actor is actively maintained.