Rightmove Scraper — UK Property Listings & Prices API | $0.8/1k avatar

Rightmove Scraper — UK Property Listings & Prices API | $0.8/1k

Pricing

from $0.80 / 1,000 property listings

Go to Apify Store
Rightmove Scraper — UK Property Listings & Prices API | $0.8/1k

Rightmove Scraper — UK Property Listings & Prices API | $0.8/1k

Scrape Rightmove property listings for sale and to rent: price, address, postcode district, bedrooms, bathrooms, type, tenure, key features, dates, status, photos, map position and agent branch. Search by URL or by location. Export CSV or JSON.

Pricing

from $0.80 / 1,000 property listings

Rating

0.0

(0)

Developer

Raffy

Raffy

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

14 hours ago

Last modified

Share

What does Rightmove Scraper do?

Rightmove Scraper extracts UK property listings for sale and to rent from Rightmove, the UK's largest property portal, and delivers them as clean, structured JSON, CSV or Excel. It works as a Rightmove API alternative: paste a Rightmove search URL with all its filters, or just type a town, area, postcode or station and pick buy/rent, price, bedrooms and property type, and get one row per property back in seconds, without a browser, without residential proxies and without writing a scraper yourself.

Typical use cases:

  • Track asking prices, rents, price reductions and new listings in the areas you invest in, every day.
  • Build comparables for a valuation or a buy-to-let yield model: price, bedrooms, bathrooms, property type, tenure, floor area and exact map coordinates for every listing.
  • Map the estate and letting agents active in a town: branch name, branch phone number and Rightmove branch page on every row.

It does not log in, read hidden data or collect private individuals' data. It reads only Rightmove's public search result pages.

Why use Rightmove Scraper?

  • Fast and cheap. One page request returns 24 listings (pure HTTP, no headless browser). The default run of 20 listings finishes in about 4 seconds on the Apify platform, and 1,440 rentals from six cities took 35 seconds.
  • Search the easy way. Paste any Rightmove search URL (for sale, to rent or new homes, every filter kept), or type locations such as Leeds, Clapham, SW1A or M1 1AE and set filters. Rightmove's own location search resolves each name, and a place it does not know returns one unbilled not_found row instead of a wrong search.
  • Honest results. Every row carries a status (ok, not_found, error), so you (or an AI agent calling this Actor) can tell "no property matches" apart from "the site could not be read". You are only billed for ok rows.
  • Business data only. Every Rightmove listing is published by an estate or letting agent; the agent columns carry the agent's trading name, branch and the branch phone number the agent publishes. There is no field for any private person.
  • Runs anywhere Apify runs. Schedule it, call it from the API, chain it with other Actors, or receive results via integrations (Google Sheets, Slack, webhooks, Zapier, Make).

What data can Rightmove Scraper extract?

FieldTypeDescription
propertyIdstringRightmove property ID (the number in the listing URL)
urlstringThe listing page on Rightmove
listingTypestringsale or rent
listingStatusstringFor sale / To let, or the badge Rightmove shows: Under offer, Sold STC, Let agreed, Reserved
pricenumberAsking price in GBP as a number; for rentals the rent per priceFrequency. Left out for price-on-application (POA) listings
currencystringGBP
priceFrequencystringRentals only: monthly, weekly, quarterly or yearly
displayPricestringThe price exactly as shown, e.g. £550,000, £1,250 pcm, POA
priceQualifierstringGuide Price, Offers Over, Offers in Excess of, Fixed Price, ... when the agent sets one
addressstringDisplay address as listed by the agent
outcodestringPostcode district, e.g. M41, SW18, when the address ends with one
latitude / longitudenumberMap position of the listing
bedroomsintegerBedrooms (0 = studio)
bathroomsintegerBathrooms, when the agent gives them
propertyTypestringHouse, Flat, Bungalow, Land, Park home, Commercial or Other
propertySubTypestringRightmove's sub-type: Detached, Semi-Detached, Terraced, Apartment, Penthouse, ...
propertyDescriptionstringCard headline, e.g. 4 bedroom detached house for sale
tenurestringFREEHOLD, LEASEHOLD, SHARE_OF_FREEHOLD, ... when published
sizestringFloor area as shown, e.g. 743 sq. ft., when published
summarystringShort description from the search card
keyFeaturesarrayThe agent's key features bullet list
addedOrReducedstringAdded on 04/09/2026, Reduced today, ... as shown on the card
listingUpdateReasonstringLatest listing event: new or price_reduced
listingUpdateDatestringISO timestamp of that event
firstListedDatestringISO timestamp when the listing first appeared on Rightmove
letAvailableDatestringRentals: date the property is available from (YYYY-MM-DD)
imagesarrayFull-size photo URLs
imageCountintegerNumber of photos
hasFloorplan / floorplanCountboolean / integerWhether the listing has floorplans, and how many
hasVirtualTourbooleanWhether the listing has a virtual tour or video
agentNamestringEstate or letting agent (trading name)
agentBranchstringAgent branch
agentPhonestringBranch phone number as published by the agent business
agentUrlstringBranch page on Rightmove
agentBranchIdstringRightmove branch ID
isNewHomebooleanNew-build / development listing
isAuctionbooleanAuction listing
isCommercialbooleanCommercial listing that appears in a residential search
searchLocationstringThe location the search covered, e.g. Manchester, Greater Manchester
searchUrlstringThe Rightmove result page the row came from
statusstringok, not_found or error (see below)
errorstringReason when status is not ok
scrapedAtstringISO 8601 time of extraction

A field is left out when the listing does not state it (for example bathrooms, tenure or size); a missing field is never a guess. The search results page does not carry the full description, room sizes, council tax band or nearby stations, so those are not in the output.

Result status (tri-state output)

statusMeaningBilled?
okThe listing was found and extracted.Yes
not_foundRightmove answered, but the search has no results, or it knows no place with the name you typed.No
errorRightmove could not be read after retries (network error, block, or layout change), or the input was not a Rightmove search URL. error says why.No

How to scrape Rightmove with Rightmove Scraper

  1. Open the Actor in Apify Console.
  2. Either paste Rightmove search URLs into Rightmove search URLs (set your filters on rightmove.co.uk, then copy the address bar), or type places into Locations and pick Buy or rent, price, bedrooms, property types, radius, Added in the last days and Sort by.
  3. Set Maximum results (start with the default 20 to see the output). With several locations, Maximum results per search keeps one big city from using up the whole run.
  4. Click Start. The default run takes about 4 seconds; rows appear in the dataset in real time.
  5. Open the Output tab or Export the dataset as JSON, CSV, Excel, XML or HTML.

To automate it, use the API tab (Node.js, Python, curl examples) or add a Schedule, for example every morning with Added in the last set to 1 day to collect only new listings.

How much does it cost to scrape Rightmove?

This Actor uses pay-per-event pricing:

EventPrice
Actor start$0.005 per run
Result (status: ok row)$0.0008 per listing

Example: 1,000 listings cost about $0.81 ($0.005 to start plus 1,000 x $0.0008). Rows with status not_found or error are never billed. Platform compute is included, so the start fee and the price per result are the whole price list. The $5 of monthly credit on Apify's entry plan covers about 6,000 listings. You can cap spending per run with Maximum results and in the run's Max total charge option. The Actor stops gracefully when your run's maximum charge is reached.

Input

See the Input tab for the full schema. The main options:

FieldTypeDefaultDescription
startUrlsarray of stringsnewest homes for sale in ManchesterRightmove search URLs (for sale, to rent, new homes); every filter in the URL is kept
locationsarray of strings-Towns, areas, postcodes or stations, e.g. Leeds, SW1A, M1 1AE; a Rightmove location ID such as REGION^904 works too
listingTypestringsalesale or rent
minPrice / maxPriceinteger-Price range in GBP (monthly rent for rentals)
minBedrooms / maxBedroomsinteger-Bedroom range, 0-10
propertyTypesarrayalldetached, semi-detached, terraced, flat, bungalow, land, park-home
radiusnumberthis area onlyMiles around the location: 0.25, 0.5, 1, 3, 5, 10, 15, 20, 30 or 40
maxDaysSinceAddedintegerany timeOnly listings added in the last 1, 3, 7 or 14 days
includeUnavailablebooleanfalseAlso return Sold STC (sale) or Let agreed (rent) listings
sortstringnewestnewest, oldest, price_high, price_low
maxItemsinteger20Stop after this many rows in total
maxItemsPerSearchinteger-Cap for each search URL or location
proxyConfigurationobjectApify Proxy offOptional; the Actor works without a proxy, datacenter proxy is enough if you want one

The filter fields apply to Locations. If you fill in Locations or a filter and leave the example URL untouched, the example is skipped, so {"locations": ["Leeds"]} returns only Leeds; a filter without Locations searches the example location (Manchester).

Example input (a URL search):

{
"startUrls": ["https://www.rightmove.co.uk/property-for-sale/find.html?searchType=SALE&locationIdentifier=REGION%5E904&sortType=6"],
"maxItems": 20
}

Example input (locations and filters):

{
"locations": ["Leeds", "York", "LS6"],
"listingType": "rent",
"minBedrooms": 2,
"maxPrice": 1500,
"propertyTypes": ["flat", "terraced"],
"maxDaysSinceAdded": 7,
"maxItemsPerSearch": 200,
"maxItems": 600
}

Output

You can download the dataset in various formats such as JSON, HTML, CSV or Excel. Example rows, taken from real runs on the Apify platform (photo lists shortened):

[
{
"url": "https://www.rightmove.co.uk/properties/93624906",
"status": "ok",
"scrapedAt": "2026-09-27T21:48:08.859Z",
"propertyId": "93624906",
"listingType": "sale",
"listingStatus": "For sale",
"price": 550000,
"currency": "GBP",
"displayPrice": "£550,000",
"priceQualifier": "Offers Over",
"address": "Estonfield Drive, Urmston, Manchester, M41 9RR",
"outcode": "M41",
"latitude": 53.448294,
"longitude": -2.335518,
"bedrooms": 4,
"bathrooms": 2,
"propertyType": "House",
"propertySubType": "Detached",
"propertyDescription": "4 bedroom detached house for sale",
"tenure": "FREEHOLD",
"summary": "CUL DE SAC LOCATION! NO ONWARD CHAIN ! TRADING PLACES ESTATE AGENTS are delighted to offer for sale this FOUR BEDROOM/TWO BATHROOM detached family residence situated on the",
"keyFeatures": ["Views over local Allotments", "Conservatory", "Kitchen-Diner", "No Chain", "Off Road parking for several cars", "Modern fitted kitchen Contemporary kitchen", "Modern bathroom", "Mature Garden", "Close to train station", "Close to Amenities"],
"addedOrReduced": "Added yesterday",
"listingUpdateReason": "new",
"listingUpdateDate": "2026-09-26T18:58:05Z",
"firstListedDate": "2026-09-26T18:52:21Z",
"images": [
"https://media.rightmove.co.uk/property-photo/aa3becd4a/93624906/aa3becd4a8826b5b71b2a878de71ebf6.jpeg",
"https://media.rightmove.co.uk/property-photo/b73eb6b9a/93624906/b73eb6b9ac37c8eaf93b8bc7ea1384b9.jpeg"
],
"imageCount": 17,
"hasFloorplan": false,
"floorplanCount": 0,
"hasVirtualTour": false,
"agentName": "Trading Places",
"agentBranch": "South Manchester",
"agentPhone": "0161 524 7890",
"agentUrl": "https://www.rightmove.co.uk/estate-agents/agent/Trading-Places/South-Manchester-121858.html",
"agentBranchId": "121858",
"isNewHome": false,
"isAuction": false,
"isCommercial": false,
"searchLocation": "Manchester, Greater Manchester",
"searchUrl": "https://www.rightmove.co.uk/property-for-sale/find.html?searchType=SALE&locationIdentifier=REGION%5E904&sortType=6"
},
{
"url": "https://www.rightmove.co.uk/properties/93631143",
"status": "ok",
"scrapedAt": "2026-09-27T21:33:31.948Z",
"propertyId": "93631143",
"listingType": "rent",
"listingStatus": "To let",
"price": 1250,
"currency": "GBP",
"priceFrequency": "monthly",
"displayPrice": "£1,250 pcm",
"address": "Cyprus Road, Nottingham, NG3",
"outcode": "NG3",
"latitude": 52.971916,
"longitude": -1.146679,
"bedrooms": 2,
"bathrooms": 1,
"propertyType": "Flat",
"propertySubType": "Flat",
"propertyDescription": "2 bedroom flat",
"addedOrReduced": "Added today",
"listingUpdateReason": "new",
"firstListedDate": "2026-09-27T19:08:07Z",
"letAvailableDate": "2026-10-09",
"imageCount": 17,
"agentName": "OpenRent",
"agentBranch": "London",
"agentPhone": "020 3322 3265",
"searchLocation": "Nottingham, Nottinghamshire",
"searchUrl": "https://www.rightmove.co.uk/property-to-rent/find.html?searchType=RENT&locationIdentifier=REGION%5E1019&sortType=6"
},
{
"url": "https://los.rightmove.co.uk/typeahead?query=Qqzzxxnotaplace&limit=10",
"status": "not_found",
"error": "No results for this page",
"scrapedAt": "2026-09-27T21:55:00.199Z"
}
]

Benchmark (real cloud runs)

RunPagesListingsTimeBlocked requests
Default input (Manchester, for sale)1204 s0
6 cities for sale, 5 pages each, no proxy307209 s0
6 cities to rent, 10 pages each, no proxy601,44035 s0
London to rent, all 42 pages, no proxy421,00844 s0
6 places, 20 pages each, Apify datacenter proxy1202,880142 s0

Honest notes: measured on 2026-09-27 from Apify's cloud. Rightmove shows at most 42 pages per search, so one search returns at most about 1,000 listings.

Tips

  • Keep maxItems small while testing, then raise it.
  • Put several locations or URLs in one run instead of many single runs; you pay the start fee once.
  • For more than about 1,000 listings in one area, split the search by price bands or bedrooms (for example maxPrice: 250000, then minPrice: 250000 with maxPrice: 400000).
  • For a daily "new listings" feed, schedule the Actor with maxDaysSinceAdded: 1 and sort: newest.
  • If you see error rows mentioning blocking, enable Apify Proxy (datacenter) in Proxy configuration.

Limitations

  • Rightmove shows at most 42 pages of 24 listings (about 1,000) per search; the Actor follows the pages until Maximum results or that last page. Split bigger pulls by price or bedrooms.
  • The output comes from the search results pages: the full description, room sizes, council tax band, EPC and nearby stations of a listing page are not included.
  • Sold house prices (/house-prices/), commercial property searches, overseas listings, map views and single listing pages (/properties/...) are not supported as start URLs; commercial listings that appear in normal searches are included and flagged isCommercial.
  • Results reflect the public page at the time of the run; Rightmove may change its layout, in which case rows come back as error and the Actor is updated quickly (report it in the Issues tab).

FAQ

Scraping publicly available data is generally legal, but you are responsible for how you use the output. Read the legal notice below and Rightmove's terms of use, and do not collect personal data without a legitimate reason.

Does the output contain personal data?

The Actor does not look for any. Rightmove listings are published by estate and letting agents, and the agent columns carry the agent's trading name, branch and the branch phone number the business publishes. Listing text is copied as the agent wrote it.

How do I find the right location?

Type it the way you would on rightmove.co.uk: a town (Bath), an area (Clapham), a postcode district (SW18), a full postcode (M1 1AE) or a station. The Actor uses Rightmove's own location search and takes the first place it suggests; searchLocation on every row shows which one it searched. For full control, set up the search on rightmove.co.uk and paste the URL.

Can I use this Actor from an AI agent or MCP client?

Yes. It runs with no input at all, the search fields are plain strings and numbers, every row is self-describing (status + error), and results can be fetched via the dataset API or the Apify MCP server.

Why did I get fewer rows than maxItems?

The search had fewer listings, it reached Rightmove's last page (42 pages), maxItemsPerSearch capped it, or the run hit your Max total charge limit. Check the run log for "Stopping gracefully".

What if a field is missing?

Optional fields are left out when the listing does not state them. If a field that should always be present is missing, open an issue in the Issues tab with the run ID.

This Actor extracts only data that Rightmove publishes publicly; it does not extract private user data such as e-mail addresses, gender or precise personal location, and it does not log in or circumvent access controls. The phone numbers it returns are the branch numbers that estate and letting agents publish for their business. However, your results could still contain personal data. Personal data is protected by the GDPR in the European Union, the UK GDPR in the United Kingdom and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you are unsure whether your reason is legitimate, consult your lawyers. You are responsible for complying with Rightmove's terms of use and applicable law when using the extracted data.

This Actor is an independent tool and is not affiliated with, endorsed by or sponsored by Rightmove or its owners. All trademarks belong to their respective owners.