Rightmove Scraper avatar

Rightmove Scraper

Pricing

from $0.90 / 1,000 results

Go to Apify Store
Rightmove Scraper

Rightmove Scraper

[๐Ÿ’ฐ $0.9 / 1K] Extract property listings from Rightmove.co.uk โ€” buy, rent, and sold prices. Search by location or paste URLs, filter by price, bedrooms, property type, and radius. Get full details: agent contacts, photos, floorplans, EPC, council tax, and more.

Pricing

from $0.90 / 1,000 results

Rating

0.0

(0)

Developer

SolidCode

SolidCode

Maintained by Community

Actor stats

1

Bookmarked

7

Total users

2

Monthly active users

11 hours ago

Last modified

Share

Pull UK property listings from Rightmove.co.uk at scale โ€” for-sale homes, rentals, and sold-price history with full agent contacts, photos, floorplans, full postcode and coordinates, council tax band, tenure, and nearest tube/train stations on the same flat row. Built for UK property investors, estate agents tracking competitors, lead-gen teams, and proptech / data platforms that need fresh Rightmove data without hand-crafting search URLs or maintaining a parser.

Why This Scraper?

  • All three Rightmove channels in one actor โ€” for-sale, to-rent, and sold-price history. Auto-detected from the URL or chosen with a single dropdown.
  • Type a city, town, or postcode โ€” no URL building required โ€” "London", "SW1A 1AA", "Newcastle upon Tyne" all resolve straight to Rightmove's location automatically. Competing scrapers force you to hand-craft OUTCODE-style search URLs; this actor does the lookup for you.
  • Nine property-type filters wired to Rightmove's UI โ€” Houses, Flats, Bungalows, Land, Commercial, Farms, Parking, New Homes, or Any.
  • Eleven radius bands โ€” This area only, 0.25, 0.5, 1, 3, 5, 10, 15, 20, 30, and 40 miles. Mirrors the dropdown on Rightmove's own search page.
  • Up to ~1,000 results per query โ€” paginates Rightmove's full ceiling: 42 pages of 24 on for-sale and rental searches, 40 pages of 25 on sold prices, before the platform caps further results.
  • Branch contact card on every for-sale and rental row โ€” branch name, phone (when published by the agent), branch landing page, profile URL, listings URL, logo, address, and full agent description HTML.
  • Tenure, council tax band, lease years and ground rent on the same row โ€” no extra request, no nested dataset. Freehold / leasehold / share-of-freehold, years remaining on the lease, and annual ground-rent and service-charge figures wherever the agent published them, plus a direct link to the listing's EPC certificate.
  • Nearest train and tube stations with walking distance โ€” name, distance, and station type (national rail, tube, light rail) per listing.
  • The 10 nearest schools with Ofsted ratings โ€” name, Ofsted grade, straight-line distance, age range, pupil count, faith affiliation, and state / independent status, plus a direct link to each school's Ofsted inspection report.
  • Machine-readable new-build, featured and premium flags โ€” isNewHome, isFeatured and isPremiumListing on every row, plus the raw lozenges badges, so you can separate genuine search matches from paid placements without reading a word of the listing copy.
  • Honest maxResults cap โ€” exact integer, no rounding to 50. Set 73 and you get 73 (or one full final page over โ€” never trimmed to under-deliver).

Use Cases

Investment & Portfolio Analysis

  • Compare for-sale asking prices against sold-price history to surface under-priced listings
  • Build CMA-style comparable lists by postcode, radius, and bedroom count
  • Track rental yields by combining rent channel data with sold channel purchase data
  • Monitor price reductions (listingUpdateReason: "Reduced") across a target area

Estate Agent Competitive Intelligence

  • Pull every active instruction for a competing branch via agent.listingsUrl
  • Benchmark instruction volume by postcode month over month
  • Track average days on market and reduction frequency by branch
  • Map an agent's branch network across the UK

Lead Generation

  • Build outreach lists for renovation contractors targeting recently-listed properties
  • Source mortgage broker leads from new-build and high-priced listings
  • Power conveyancer and removal-company campaigns by postcode and listing date
  • Surface landlord targets via the to-rent channel for property-management pitches
  • Compare nearby schools alongside listings (toggle includeNearestSchools on)

Market Research & Journalism

  • Quantify housing supply by region with bedroom-count and price-band breakdowns
  • Track new-build inventory across England, Scotland, Wales, and Northern Ireland
  • Build longitudinal price-per-sqft datasets for media and policy reports
  • Compare leasehold vs. freehold composition by city

Proptech & Data Products

  • Power valuation models with structured prices, sqft, tenure and EPC bands where the agent published them
  • Feed search portals with a fresh, normalised UK listing feed
  • Build alerting systems triggered by new listings or price reductions in a target area
  • Enrich existing CRM records with current Rightmove URLs and agent contacts

Getting Started

Search by Location (simplest)

{
"searchLocation": "London",
"channel": "buy",
"maxResults": 50
}

Two-bed-plus rentals in Manchester under ยฃ1,500 pcm:

{
"searchLocation": "Manchester",
"channel": "rent",
"bedroomsMin": 2,
"priceMax": 1500,
"maxResults": 100
}

Sold-Price History

Pull the public sold-price record for a postcode area:

{
"searchLocation": "SW1A 1AA",
"channel": "sold",
"maxResults": 200
}

Three-bed houses around Oxford within five miles, sorted price-ascending, with price history and schools enabled:

{
"searchLocation": "Oxford",
"channel": "buy",
"propertyType": "houses",
"bedroomsMin": 3,
"bedroomsMax": 4,
"priceMin": 400000,
"priceMax": 800000,
"radiusMiles": "5",
"sortBy": "price-asc",
"maxResults": 200,
"includePriceHistory": true,
"includeNearestSchools": true,
"includeNearestStations": true
}

Paste a Rightmove URL

Search-results pages, individual property pages, and sold-price pages all work. Filters embedded in the URL โ€” including draw-area polygons and Property Status โ€” are honoured exactly:

{
"startUrls": [
"https://www.rightmove.co.uk/property-for-sale/London.html",
"https://www.rightmove.co.uk/properties/123456789",
"https://www.rightmove.co.uk/house-prices/sw1a.html"
],
"maxResults": 100
}

Input Reference

What to Scrape

ParameterTypeDefaultDescription
startUrlsstring[][]Paste Rightmove URLs directly. Supports search results, individual property pages (/properties/123456789), and sold-price pages (/house-prices/...). Channel is auto-detected from the URL.
searchLocationstring"London"Type a city, town, area, or postcode (e.g. "London", "Manchester", "SW1A 1AA"). Resolved to Rightmove's location automatically. Leave empty if using Start URLs.

Search Filters

These apply to Search Location only โ€” URLs carry their own filters.

ParameterTypeDefaultDescription
channelselectbuyFor Sale (Buy), To Rent, or Sold Prices.
propertyTypeselectanyAny Type, Houses, Flats / Apartments, Bungalows, Land, Commercial, Farms, Parking, or New Homes.
bedroomsMinintegernoneMinimum bedrooms (0โ€“10).
bedroomsMaxintegernoneMaximum bedrooms (0โ€“10).
priceMinintegernoneMinimum price in GBP. For rentals, this is monthly rent.
priceMaxintegernoneMaximum price in GBP. For rentals, this is monthly rent.
radiusMilesselect0Search radius: This area only, 0.25, 0.5, 1, 3, 5, 10, 15, 20, 30, or 40 miles.
sortByselectnewestNewest Listings, Oldest Listings, Price: Low to High, or Price: High to Low.

Options

ParameterTypeDefaultDescription
maxResultsinteger100Hard cap on listings across all inputs. 0 = unlimited. Results may slightly overshoot if the cap falls mid-page โ€” you get the full last page rather than a trimmed one.
includePriceHistorybooleanfalseFetch the historical sold-price record for each listing's address when available. Adds an extra request per listing.
includeNearestSchoolsbooleanfalseInclude the 10 nearest schools with Ofsted ratings, distance, age range, pupil count and state / independent status. Adds an extra lookup per listing.
includeNearestStationsbooleantrueInclude nearest train and tube stations with walking distance.
includeSoldSTCbooleanfalseAlso return properties that are sold subject to contract, under offer, or let agreed. Rightmove hides these by default; the stage appears in displayStatus.

Output

Every listing is one flat row. The same shape applies across buy, rent, and sold โ€” channel-specific fields (rental term, sold-date) populate when relevant and stay blank otherwise.

What's available per channel

Field groupBuyRentSold
Core (id, url, title, propertyType, bedrooms, price, displayAddress)yesyesyes
Structured address (postcode, outcode, incode, ukCountry, latitude, longitude)yesyesblank โ€” Rightmove's sold-prices page does not expose these
Agent contact card (agent.*)yesyesnot applicable
Tenure (tenure, yearsRemainingOnLease)yesrarely โ€” a tenancy has no tenure to stateyes
Council tax, EPC, features, images, floorplansyesyesnot applicable
Rental terms (letAvailableDate, letType, furnishType, deposit)not applicableyesnot applicable
Description (description, descriptionHtml)yesyesnot applicable โ€” a sold-price record is a land-registry entry, not an advert
Transaction history (priceHistory[] โ€” every recorded sale of that address, newest first)on requeston requestyes, always

A few row-level notes:

  • agent.phone is populated when the branch has published a landline. Some withdrawn or let-agreed listings omit the phone โ€” the field is present but blank.
  • epc.certificateUrl links the listing's own EPC document and appears on roughly 6 in 10 for-sale and rental rows. epc.currentRating carries the Aโ€“G letter wherever the agent stated it in the listing, which works out at about 1 row in 5 across a typical mixed search and over half on Scottish searches, where the Home Report band is quoted as a matter of course. epc.potentialRating is different: agents almost never publish the potential band, so treat that one field as a rare bonus rather than a column to plan around. Where no letter is available you still get the certificate link.
  • On buy and rent rows, firstVisibleDate and listingUpdateDate are full ISO timestamps. On sold rows they carry the land-registry completion date as Rightmove prints it ("29 Apr 2026"), because that is the only date the public record publishes.

Example: For-Sale Listing

{
"id": "123456789",
"url": "https://www.rightmove.co.uk/properties/123456789",
"channel": "buy",
"title": "3 bed semi-detached house",
"displayAddress": "Acacia Road, London, SW19",
"postcode": "SW19 4HJ",
"outcode": "SW19",
"incode": "4HJ",
"ukCountry": "England",
"latitude": 51.4189,
"longitude": -0.2014,
"propertyType": "Semi-Detached",
"bedrooms": 3,
"bathrooms": 2,
"sizeSqFeetMin": 1280,
"sizeSqFeetMax": 1280,
"price": 875000,
"priceDisplay": "ยฃ875,000",
"priceQualifier": "Guide Price",
"pricePerSqFt": 683.59,
"currency": "GBP",
"firstVisibleDate": "2026-04-12T09:14:00Z",
"listingUpdateDate": "2026-05-01T11:02:00Z",
"listingUpdateReason": "Reduced on 01/05/2026",
"displayStatus": "For Sale",
"productLabel": "Premium",
"isNewHome": false,
"isFeatured": false,
"isPremiumListing": true,
"tenure": "Freehold",
"councilTaxBand": "E",
"tags": ["Garden", "Off-Street Parking"],
"features": ["Three double bedrooms", "Modern kitchen", "Private garden"],
"epc": { "currentRating": "C", "potentialRating": "B", "certificateUrl": "https://..." },
"images": ["https://media.rightmove.co.uk/img/1.jpg"],
"floorplans": ["https://media.rightmove.co.uk/floorplan/1.jpg"],
"agent": {
"name": "Foxtons Wimbledon",
"url": "https://www.rightmove.co.uk/estate-agents/agent/...",
"phone": "020 1234 5678",
"displayAddress": "12 The Broadway, Wimbledon, SW19 1RF",
"profileUrl": "https://www.rightmove.co.uk/estate-agents/...",
"listingsUrl": "https://www.rightmove.co.uk/property-for-sale/branch/..."
},
"nearestStations": [
{ "name": "Wimbledon", "distance": 0.4, "unit": "miles", "types": ["NATIONAL_TRAIN", "TUBE"] }
],
"scrapedAt": "2026-05-07T10:30:00Z"
}

Example: Sold-Price Record

A sold row is a land-registry entry, so it carries no advert copy, agent, or photos โ€” but it does carry every recorded sale of that address:

{
"id": "5ffe93f9-bef3-497e-ace0-a8101e10ae23",
"url": "https://www.rightmove.co.uk/house-prices/details/5ffe93f9-...",
"channel": "sold",
"title": "2 bed Terraced",
"displayAddress": "40, Burnham Road, Birmingham B47 6AT",
"propertyType": "Terraced",
"bedrooms": 2,
"price": 270000,
"priceDisplay": "ยฃ270,000",
"currency": "GBP",
"tenure": "Freehold",
"firstVisibleDate": "29 Apr 2026",
"displayStatus": "Sold",
"sold": true,
"archived": true,
"priceHistory": [
{ "date": "29 Apr 2026", "price": 270000, "event": "sold" },
{ "date": "29 Nov 2023", "price": 272000, "event": "sold" }
],
"scrapedAt": "2026-08-19T16:12:00Z"
}

priceHistory is where the sold data lives: one entry per completed transaction, newest first, so a single row shows you both the latest sale price and what the property changed hands for last time.

Core Fields

FieldTypeDescription
idstringRightmove listing identifier
urlstringCanonical Rightmove URL
channelstringbuy, rent, or sold
titlestringShort headline built from bed count and property type โ€” "3 bed semi-detached house" on for-sale and rental rows, "2 bed Terraced" on sold rows
propertyTypestringSub-type (Semi-Detached, Flat, Bungalow, etc.)
bedroomsintegerNumber of bedrooms
bathroomsintegerNumber of bathrooms
sizeSqFeetMinintegerLower bound of internal size
sizeSqFeetMaxintegerUpper bound of internal size
tagsstring[]Listing tags (Garden, Parking, etc.)
descriptionstringPlain-text description
descriptionHtmlstringHTML description
featuresstring[]Bullet-point key features
scrapedAtstringISO timestamp of extraction

Address & Location

FieldTypeDescription
displayAddressstringAddress as shown on the listing
postcodestringFull UK postcode where available
outcodestringPostcode prefix (e.g. SW19)
incodestringPostcode suffix (e.g. 4HJ)
ukCountrystringEngland, Scotland, Wales, or Northern Ireland
latitudenumberCoordinate
longitudenumberCoordinate

Pricing & Status

FieldTypeDescription
priceintegerNumeric price in GBP
priceDisplaystringFormatted price (ยฃ725,000, ยฃ1,500 pcm)
priceQualifierstringGuide Price, Offers Over, POA, etc.
secondaryPricestringWeekly equivalent for rentals where shown
pricePerSqFtnumberAsking price per square foot, on listings where Rightmove publishes a floor area
currencystringAlways GBP
firstVisibleDatestringISO timestamp of first listing (buy / rent); the printed completion date on sold rows
listingUpdateDatestringISO timestamp of last update (buy / rent); the printed completion date on sold rows
listingUpdateReasonstringAdded on 12/06/2026, Reduced today, Added yesterday, etc.
displayStatusstringFor Sale / To Rent while available, then Sold STC, Under offer, or Let agreed (turn on Include Sold STC to receive those)
productLabelstringFeatured, Premium, or Standard
isNewHomebooleanNew build or part of a development โ€” filter your results yourself without reading the copy
isFeaturedbooleanPaid featured placement, so you can tell promoted listings from plain search matches
isPremiumListingbooleanPaid premium placement
lozengesstring[]Rightmove's own badges on the listing, e.g. ["NEW_HOME"]
archivedbooleanListing archived
publishedbooleanListing published
soldbooleanListing has sold

Tenure, Tax & Running Costs

FieldTypeDescription
tenurestringFreehold, Leasehold, or Share of Freehold
yearsRemainingOnLeaseintegerLease years remaining (leaseholds only)
councilTaxBandstringA through H
councilTaxExemptbooleanProperty exempt from council tax
councilTaxIncludedbooleanCouncil tax bundled in rent
domesticRatesstringNorthern Ireland equivalent
annualGroundRentnumberAnnual ground rent in GBP (pence preserved)
annualServiceChargenumberAnnual service charge in GBP (pence preserved)
groundRentPercentageIncreasenumberStated annual escalator
groundRentReviewPeriodInYearsintegerYears between ground-rent reviews

Rental-Specific Fields

Populated when channel: "rent".

FieldTypeDescription
letAvailableDatestringAvailable-from date
depositintegerRequired deposit in GBP
minimumTermInMonthsintegerMinimum tenancy length
letTypestringLong term, Short term, Student
furnishTypestringFurnished, Unfurnished, Part Furnished

Energy, Highlights & Media

FieldTypeDescription
epcobject{currentRating, potentialRating, certificateUrl} โ€” certificateUrl on ~6 rows in 10, currentRating (Aโ€“G) wherever the agent stated the band, potentialRating rarely
highlightsobjectelectricity, broadband, water, sewerage, heating, accessibility, parking, garden, risks, obligations
imagesstring[]All property photo URLs
floorplansstring[]All floorplan image URLs
brochuresstring[]Linked brochure PDFs

Agent Contact

FieldTypeDescription
agent.namestringBranch / agency display name
agent.phonestringBranch contact number
agent.urlstringBranch landing page
agent.profileUrlstringAgency profile page. Rightmove serves the branch landing page and the agency profile at the same address, so this normally matches agent.url
agent.listingsUrlstringPage listing every active instruction at this branch
agent.displayAddressstringBranch street address
agent.logoUrlstringAgency brand logo
agent.descriptionHtmlstringAgency description (HTML)

Optional Sub-Collections

FieldTypeDescription
nearestStationsobject[][{name, distance, unit, types}] โ€” populated by default
nearestSchoolsobject[][{name, type, subType, distance, unit, ofstedRating, ratingBody, inspectionReportUrl, ageRangeMin, ageRangeMax, pupilCount, gender, religion, latitude, longitude}] โ€” the 10 nearest, closest first, populated when toggled on
priceHistoryobject[][{date, price, event}] โ€” every recorded sale of the address, newest first. Always present on sold rows; on buy / rent rows populated when Include Price History is on

Tips for Best Results

  • Use full city names for ambiguous places. "Newcastle" alone resolves to Newcastle in Northern Ireland โ€” type "Newcastle upon Tyne" for the English city. Same applies to "Bromley" and any other shared place name.
  • Paste a Rightmove URL when you need a filter the input form doesn't expose. Draw-area polygon searches, "Auction" property status, "Include Sold STC", and Rightmove's "Look 2 / 3 bedrooms" combinations all serialise into the URL โ€” paste it as a startUrls entry and every URL parameter is honoured exactly.
  • Use channel: "sold" for true comparables. Sold-price history is the gold standard for valuation work and CMA reports โ€” actual transaction prices, not asking prices.
  • Rightmove caps any single search at roughly 1,000 listings. For large areas, split the run into multiple postcodes or smaller radii rather than expecting one search to return more.
  • Keep includePriceHistory off unless you need it. It adds an extra request per listing and roughly doubles run time. Default rows already include the most recent listing-update reason and date.
  • Sort by oldest to find stale listings. Properties on the market for many months are often signs of price misalignment โ€” useful for negotiation and for spotting overpriced inventory.
  • Set radiusMiles to expand commuter searches. Buyers prepared to live within 5 or 10 miles of a city centre find materially better value once you step outside the immediate postcode.
  • Treat a newest-sorted run over a busy market as a moving window, not a snapshot. Rightmove counts results from the top of a live list, so in a city like London or Manchester properties listed while your run is in progress push everything down a place. You still get every result once โ€” duplicates are removed for you and never billed twice โ€” but the set spans the minutes the run took rather than a single instant. When you need a clean point-in-time cut, sort by oldest or narrow the area so the run finishes faster.
  • Compare like with like when you join sold to buy data. Sold rows come from the public land-registry record, so they carry the completion date and full transaction history but no agent, photos, or description. Join the two channels on displayAddress rather than expecting one row to hold both.

Pricing

From $0.75 per 1,000 results โ€” one flat rate whether you pull a plain listing or a fully enriched row with schools, stations and price history. No compute or time-based charges: you pay per result, plus a small fixed start fee each time a run begins. Bronze, Silver, and Gold subscribers pay progressively less, and the table below shows the total cost at each discount tier.

ResultsNo discountBronzeSilverGold
100$0.090$0.086$0.081$0.075
1,000$0.90$0.86$0.81$0.75
10,000$9.00$8.60$8.10$7.50
100,000$90.00$86.00$81.00$75.00

A "result" is one property row in your dataset. Duplicate properties are removed before they reach the dataset, so you are never billed twice for the same listing. Standard Apify platform fees apply on top.

Integrations

Export data in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps via:

  • Zapier / Make / n8n โ€” Workflow automation
  • Google Sheets โ€” Direct spreadsheet export
  • Slack / Email โ€” Notifications on new results
  • Webhooks โ€” Trigger custom APIs on run completion
  • Apify API โ€” Full programmatic access

This actor is intended for legitimate property research, market analysis, lead generation, and proptech use cases. Users are responsible for complying with Rightmove's Terms of Service, the UK Data Protection Act, and the GDPR when handling any personal data contained in agent contact fields. Do not use extracted data for spam, harassment, or any unlawful purpose.