Rightmove Scraper & New-Listing Monitor - UK Property Data avatar

Rightmove Scraper & New-Listing Monitor - UK Property Data

Pricing

from $0.69 / 1,000 property returneds

Go to Apify Store
Rightmove Scraper & New-Listing Monitor - UK Property Data

Rightmove Scraper & New-Listing Monitor - UK Property Data

Turn monitoring on and every later run returns only the listings it has not returned before, so you are never charged for the same property twice. Every Rightmove.co.uk listing as clean JSON: price with its meaning, bedrooms, type, address with coordinates, agency. No agent phones. Unofficial.

Pricing

from $0.69 / 1,000 property returneds

Rating

0.0

(0)

Developer

NeverEmpty

NeverEmpty

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

18 hours ago

Last modified

Share

Rightmove Scraper - UK Property Data, Price & Bedrooms

Pull property listings from Rightmove.co.uk — the UK's largest property portal — as clean JSON: the price as a number and what it means, bedrooms, bathrooms, size, tenure, coordinates, key features and the agency, for sale or to rent, anywhere in the UK.

Unofficial. This Actor is not affiliated with, endorsed by, or sponsored by Rightmove. All product names are trademarks of their respective owners.

No API key. Reads the same public pages a visitor sees.


Run it tomorrow and you only get what is new

Schedule this Actor with monitoringMode: true and each run returns only the listings it has not returned before. Not "here is everything again, please de-duplicate it yourself" — the Actor remembers what it already gave you, so a daily feed of a 4,000-listing search costs you the handful of new homes, not 4,000 rows every morning. You are never charged for the same property twice.

Listings your filters removed are remembered too, so widening a filter later does not resurrect them as false "new" listings. Listings that did not fit under your limit are not remembered, so they are still waiting on the next run instead of being silently lost.


Why this one is different

"POA" is not sold to you as a price

Rightmove's page data carries a numeric amount on every listing — including the ones whose displayed price is "POA" (price on application). One of the 150 listings measured shows "POA" to visitors while carrying 65,000,000 underneath.

This Actor does not pass that number off as the price. A POA listing comes back with price: null, priceDisplay: "POA" and isPriceOnApplication: true. Where Rightmove shows a figure, you get it as a number plus Rightmove's own qualifier — Guide Price, Offers Over, Offers in Excess of, Fixed Price — in priceQualifier.

Rent is labelled by its real period, and both figures are Rightmove's own

A rent on Rightmove is stored in the period the agent chose: most are monthly, some are weekly (2 of the 25 rentals measured). priceType says which — monthly-rent or weekly-rent — and rentPerMonth / rentPerWeek are read from the two figures Rightmove itself displays ("£2,448 pcm", "£565 pw"), never converted here. Sales come back as priceType: "sale".

Every row says where Rightmove actually searched

Rightmove resolves any place name to some place. Wales is a village in Somerset. Scotland is a district of Leeds. Kings Lynn is the railway station, with a half-mile radius. Instead of guessing, every row carries searchedLocation (the name Rightmove shows) and searchedLocationId (REGION^87490, OUTCODE^2506, STATION^5177), so a wrong resolution is visible in the data rather than silent.

"Not found" is not "no results"

Rightmove answers an unknown location — or a value it does not accept, such as a 2-mile radius — with an HTTP 200 and a redirect to its not-found page. Read naively, that is an empty search. This Actor follows the redirect, recognises the page, and returns a no-such-search row that says what Rightmove accepts. A search that really has zero results is a different row (no-results), and both are free. Values Rightmove would reject are refused up front with the allowed list, so you are never charged for a run that could only end in a redirect.

No branch phone numbers

Rightmove's listing data includes the marketing branch's telephone on every one of the 150 listings measured. This Actor returns the agency name, branch name and branch page, and leaves the phone out; UK phone numbers written into the summary or features are removed as well. Property data, not a contact list.

One request, 24 complete properties

Rightmove ships the full listing — price, bedrooms, bathrooms, size, tenure, coordinates, features, agency, dates — inside the search page itself. This Actor reads them from that single page and never opens individual property pages. The featured property that repeats across pages is dropped before delivery, so you are never charged twice for the same listing.

Rightmove's own filters, then yours

Price, bedrooms, property type, radius, "added or reduced within", must-haves, exclusions, furnishing and sold/let-agreed are sent to Rightmove, so the pages fetched already contain only matching properties — each of these was checked on live pages and the returned rows satisfy them. Keywords are not sent, because Rightmove ignores them in the URL (a nonsense keyword returned the full list); the keyword filter, along with bathrooms, size, tenure, agency and first-listed date, runs here on the rows already fetched. Nothing extra is requested and nothing extra is charged. A property is never dropped for a value Rightmove did not publish.


Input

Either paste a search URL, or build one from the fields below.

FieldTypeDefaultDescription
searchUrlstringe.g. https://www.rightmove.co.uk/property-for-sale/find.html?locationIdentifier=REGION%5E87490 or https://www.rightmove.co.uk/property-to-rent/Manchester.html. Price, bedroom, type, radius, must-have and sort parameters are kept (a sort in the URL wins over sortBy); keywords= is dropped
channelstringsalesale or rent
locationstringLondonA town (Milton Keynes), an outcode (SW1A), or an identifier from a Rightmove address (REGION^87490)
maxListingsinteger201–1000. One property = one row = one charged event. Rightmove itself stops at 1,008 per search
maxPagesinteger0Hard cap on requests; 0 = decide from maxListings. Rightmove has 42 pages at most
includeSummarybooleantrueThe card teaser. The keyword filter searches it either way
useProxybooleanfalseOff by default — Rightmove answers Apify's network directly. Switches on by itself if blocked
Rightmove's own filters
minPrice / maxPriceinteger0GBP. Sale total, or rent per calendar month. POA listings are kept
minBedrooms / maxBedroomsinteger-1-1 = off. 0 is a studio
propertyTypesarraydetached, semi-detached, terraced, bungalow, flat, land, park-home, private-halls
radiusstring0Miles: 0.25, 0.5, 1, 3, 5, 10, 15, 20, 30, 40 — Rightmove's steps
sortBystringnewestnewest (last listed or reduced), oldest, price-high, price-low
addedOrReducedWithinDaysstring01, 3, 7 or 14. Rightmove counts a price reduction as an update
mustHave / dontShowarraygarden, parking, newHome, retirement, sharedOwnership, auction
furnishTypesarrayRent only: furnished, partFurnished, unfurnished
includeSSTC / includeLetAgreedbooleanfalseInclude sold-STC (sale) or let-agreed (rent) listings
Filters applied here
keywords / keywordMatch / excludeKeywordsarray / string / arrayMatch on title, address, summary, type, features, labels and agency
agencyNamesarrayKeep only these agencies (partial match)
requirePricebooleanfalseDrop POA listings
minBathroomsinteger-1-1 = off. An unpublished count is kept
minSizeSqFt / maxSizeSqFtinteger00 = off. A listing without a size is kept
tenureTypesarrayFREEHOLD, LEASEHOLD, SHARE_OF_FREEHOLD. An unpublished tenure is kept
excludeCommercial / excludeStudentsbooleanfalseDrop commercial or student listings that Rightmove mixes in
listedWithinDaysinteger0By the date the property first appeared, ignoring reductions. 0 = off
monitoringModebooleanfalseReturn only properties not returned on a previous run
resetMonitoringStatebooleanfalseOne-shot: forget what was already returned
{ "channel": "sale", "location": "Milton Keynes", "maxListings": 100,
"minBedrooms": 3, "maxPrice": 450000, "propertyTypes": ["detached", "semi-detached"],
"addedOrReducedWithinDays": 7, "dontShow": ["sharedOwnership", "retirement"], "tenureTypes": ["FREEHOLD"] }

Monitoring mode turns this into a daily feed

Schedule it and set monitoringMode: true: each run returns only the properties it has not returned before. Properties removed by your filters are remembered too, so changing a filter later does not resurrect them as false "new" listings — and properties that simply did not fit under maxListings are not remembered, so they are still waiting for you on the next run rather than being silently lost. Combine with addedOrReducedWithinDays: 1 to keep each run to one or two pages.

Measured on 2026-09-05: 59,361 properties for sale and 27,624 to rent in London.


Output

One row per property:

{
"source": "rightmove.co.uk",
"status": "ok",
"listingId": "90204729",
"title": "3 bedroom semi-detached house for sale",
"address": "Elsiemaud Road, London",
"url": "https://www.rightmove.co.uk/properties/90204729#/?channel=RES_BUY",
"searchedLocation": "London",
"searchedLocationId": "REGION^87490",
"channelRaw": "BUY",
"transactionType": "sale",
"isCommercial": false,
"propertyType": "Semi-Detached",
"bedrooms": 3,
"bathrooms": 2,
"price": 950000,
"priceCurrency": "GBP",
"priceType": "sale",
"priceDisplay": "£950,000",
"priceQualifier": "Offers in Excess of",
"isPriceOnApplication": false,
"rentPerMonth": null,
"rentPerWeek": null,
"sizeSqFt": null,
"sizeRaw": null,
"tenure": "FREEHOLD",
"latitude": 51.45449,
"longitude": -0.029782,
"features": ["Sold Chain Free", "Desired Location", "Over 1500 sq. ft", "Driveway", "Landscaped Garden", "Double Glazed", "Quiet Road", "EPC - C"],
"labels": [],
"isNewHome": false,
"isDevelopment": false,
"isBuildToRent": false,
"isStudentListing": false,
"isAuction": false,
"isPremiumListing": true,
"isFeaturedListing": true,
"letAvailableDate": null,
"feesText": null,
"agencyName": "Acorn",
"agencyBranch": "Acorn, Brockley",
"agencyUrl": "https://www.rightmove.co.uk/estate-agents/agent/Acorn/Brockley-270020.html",
"imagesCount": 28,
"floorplansCount": 1,
"virtualToursCount": 1,
"mainImageUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/…_max_476x317.jpeg",
"firstListedAt": "2026-06-26T16:40:02Z",
"lastUpdateReason": "price_reduced",
"lastUpdatedAt": "2026-08-29T14:40:00Z",
"summary": "Situated on a sought-after residential road in the heart of Brockley, …",
"scrapedAt": "2026-09-05T07:08:16.112Z"
}

Measured across 150 live listings (149 unique) on 2026-09-05: id, title, address, url, property type, bedrooms, coordinates, agency and both dates on 150 of 150; a displayed price on 149 (the other is POA); bathrooms on 146; key features on 124; tenure on 121; a size in sq ft on 93. bedrooms: 0 is a real value (a studio, a plot, a commercial unit), not a missing one. The summary is Rightmove's card teaser and is cut short by Rightmove on about a third of listings.

Rows that are never charged

statuswhen
no-resultsRightmove reports zero properties for this search. That is its answer, not a failure
no-such-searchRightmove redirected to its not-found page: the location is not one it knows, or a value is not one it accepts (radius step, property-type word, added-within days, or a page beyond its 1,008-result ceiling). Not a claim that there is nothing there
no-filter-matchListings were read, but your filters removed all of them. The row says how many were read
no-new-listingsMonitoring mode: nothing new since the previous run
unreadableThe page could not be read, its embedded data was missing, or it claimed a total above zero while yielding nothing

Pricing

Pay per property returned. Rows that report an empty search, an unknown location, a filter that matched nothing, or a page that could not be read are not charged. A property that appears twice across pages is dropped before delivery, so it is never charged twice.


Notes

  • robots.txt was read in full on 2026-09-05. Under /property-for-sale/ and /property-to-rent/ it disallows only contactBranch.html, draw-a-search.html, map.html, market-information/ and nearby-schools/. This Actor requests only the listing pages (find.html and <place>.html) with Rightmove's own query parameters plus index=N, and refuses a pasted URL that points at a disallowed path. Student accommodation search is disallowed by Rightmove and is not offered here.
  • Only public pages are read. No login, no API key.