Rightmove Property Search, Price Drops and Sold Prices
Pricing
from $1.00 / 1,000 property returneds
Rightmove Property Search, Price Drops and Sold Prices
Rightmove scraper for UK property searches: address, price, bedrooms, agent, photo and link per property, newest first, for sale or to rent. New Rightmove listings alert and Rightmove price drop monitor built in, plus UK sold house prices by postcode. No login. Pay per property returned.
Pricing
from $1.00 / 1,000 property returneds
Rating
0.0
(0)
Developer
Adrian Voss
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
18 hours ago
Last modified
Categories
Share
A Rightmove scraper for UK property searches. Type a town or postcode, or paste any Rightmove search link with its filters, and get one row per property, newest first: address, asking price, price qualifier, bedrooms, bathrooms, agent and branch, first-listed date, coordinates, photo and link. Turn on monitoring and the same search becomes a new Rightmove listings alert and a Rightmove price drop monitor, and one tick adds UK sold house prices by postcode. No login, no browser, no proxy needed. You pay per property returned.
Who it's for
- Property investors and buy-to-let landlords watching a town, a postcode or a price band for fresh stock and reductions before other buyers ring the agent.
- Estate agents, sourcing agents and valuers who want a daily table of new instructions, price cuts and withdrawn properties in their patch, with the agent branch on every row.
- Home hunters who would rather get a Slack message or a Google Sheets row than refresh the results page ten times a day.
- Analysts and developers feeding Rightmove listings into n8n, Make, Clay, a database or an AI agent without maintaining their own scraper.
Why this one
- Monitoring is built in. The other Rightmove scrapers on the Store return a snapshot and stop; none of memo23, automation-lab or azzouzana tracks changes between runs at all. Here a named watchlist remembers every property between scheduled runs and returns only what is new, cheaper, dearer or gone. See Monitoring.
- A fraction of the run cost. We charge $0.00005 to start a run where memo23, automation-lab and azzouzana all charge $0.005, so an hourly watchlist costs about a third of theirs. A run with nothing new or cheaper costs only that start fee.
- Never charged for nothing. A search with no matches, an unknown place, a run with nothing new or cheaper, price rises and gone properties are all free. Duplicates that shift between pages are removed before you are billed.
- Sold prices in the same table. One tick adds the median of the most recent sales for each postcode outcode, from Rightmove's public house-prices pages. See Sold prices.
- Honest about what Rightmove shows. A "gone" row means the property left the search, which is sold subject to contract, let or withdrawn. Rightmove never says which, and neither do we.
- Business data only. Agent name and branch are the listing's own business contact details.
How to use
- In the Apify Console. Open the actor page and click Start — the
searchesfield is already pre-filled with a working example. Results land in the run's dataset as soon as each item is found. - Via the API. Call it directly with a POST request — no Console needed once you have an API token:
curl "https://api.apify.com/v2/acts/accountable_eel~rightmove-listing-lookup/run-sync-get-dataset-items?token=<YOUR_TOKEN>" \-X POST \-H "Content-Type: application/json" \-d '{"searches":["Manchester"]}'
- On a schedule. Save this actor as an Apify Task with the input you want, then add a Schedule (hourly, daily, weekly) so it runs on its own — no server of your own required.
Setting up a search
- In the Input tab, type one search per line: a place name (
Manchester,Milton Keynes,Leeds) or an outcode (N11,SW1P), or paste a search link from rightmove.co.uk. - For a typed place, pick For sale or To rent and the optional price, bedroom, property type and radius limits under "Search filters". A pasted link keeps its own filters and its own sale-or-rent choice.
- Set "Most properties to return per search" to your budget (100 by default, up to 1,000).
- To watch the search instead of running it once, turn on monitoring under "Monitoring" and schedule the actor hourly or daily. The first run returns everything as new and remembers it.
- For a place with a common name or a filter this form does not offer (tenure, keywords, "added in the last 24 hours"), set it on rightmove.co.uk and paste the search link. Only the sort is forced, to newest first.
Input
{"searches": ["Manchester"]}
One per line: a place name or outcode such as "Manchester" or "N11" (use the sale/rent setting below), or a search link copied from rightmove.co.uk with all its filters. Results always come back newest first. Accepted formats: Manchester, N11, https://www.rightmove.co.uk/property-for-sale/find.html?locationIdentifier=REGION%5E87490&minBedrooms=2&maxPrice=600000, https://www.rightmove.co.uk/property-to-rent/find.html?locationIdentifier=REGION%5E787.
The other settings are optional: sale or rent, price, bedrooms, property type and radius for a
typed place, "Add sold-price context", the monitoring options, and the usual output filters
(onlyFound, includeKeywords, excludeKeywords, maxResults, columns).
How to filter
Optional, additive inputs on top of the existing sale/rent, price, bedrooms and radius
settings. Client-side filters run before billing — a dropped property is never charged.
Leave them empty and the dataset is the same as before, plus two alias columns:
title (copy of displayAddress) and listedAt (copy of firstVisibleDate).
1. Only sold-subject-to-contract excluded is not a filter here — Rightmove's search already drops SSTC on typed places. For Manchester sales under £500,000 in a named neighbourhood:
{"searches": ["Manchester"],"maxPrice": 500000,"cities": ["Didsbury"]}
cities is a contains match on the address string (Rightmove has no separate city column).
2. Like-new is not a grade on Rightmove. Cheapest flats whose address mentions "Victorian":
{"searches": ["Manchester"],"propertyType": "flat","includeKeywords": ["Victorian"],"sortBy": "price_asc"}
3. Available-only / made-to-order do not apply (this is housing, not goods). Exclude new-builds from the title and keep newest first (the default fetch order):
{"searches": ["N11"],"excludeKeywords": ["new build"],"sortBy": "newest","maxListings": 20}
sortBy reorders only the properties this run fetched. Leave it empty to keep Rightmove's
newest-first page order.
Output
One row per property. Every row starts with the search summary (searchUrl, totalAvailable,
listingCount, truncated, newCount, priceDropCount, priceRiseCount, goneCount,
monitorStatus, medianPrice), then the property:
| Field | What it is |
|---|---|
propertyId, url | Rightmove's property ID and the link to the listing |
displayAddress, postcodeOutcode | The address as Rightmove shows it, and its outcode (N11, SW1P) when the address carries one |
price, currency, priceQualifier, priceFrequency | Asking price in GBP; Guide Price, Offers in excess of and similar; monthly or weekly for a rental |
transactionType, propertySubType | sale or rent; Detached, Terraced, Flat and so on |
bedrooms, bathrooms, summary | As the agent published them |
agentName, agentBranch | The estate agent and its branch |
addedOrReduced, firstVisibleDate, listingUpdatedAt | Rightmove's "Added today" / "Reduced on 23/09/2026" text, when it first appeared, and when it was last added or reduced |
latitude, longitude, imageUrl | Location and the main photo |
isFeatured | A paid featured placement, shown out of date order |
changeType, previousPrice, priceDeltaPct, firstSeenAt, lastSeenAt, daysListed | Monitoring, null when it is off |
soldMedianPrice, soldSampleSize | Sold-price context, null unless it is on |
Three table views are ready in the Output tab: Overview, Listings and Changes (new properties, price drops, price rises and gone properties).
A search with no matches comes back as one summary row with listingCount: 0 and is not
charged. A place Rightmove does not know comes back as found: false, also free.
| query | found | status | searchUrl | totalAvailable | listingCount | truncated | newCount | priceDropCount | priceRiseCount | goneCount | monitorStatus | medianPrice | properties | propertyId | url | displayAddress | title | postcodeOutcode | price | currency | priceFrequency | priceQualifier | transactionType | propertySubType | bedrooms | bathrooms | summary | agentName | agentBranch | addedOrReduced | firstVisibleDate | listedAt | listingUpdatedAt | latitude | longitude | imageUrl | isFeatured | scrapedAt |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Manchester | true | OK | <properties returned (billed)> | <all properties found (full list)> | <title (same as address)> | <rent period (monthly / weekly)> | <price qualifier (guide price, offers in excess of ...)> | <added / reduced> | <listed at (same as first listed)> | <featured listing (paid promotion)> | 1970-01-01T00:00:00.000Z |
A real row, from a monitored search of "Manchester" (2+ bedrooms, up to GBP 400,000, sold prices on). The outcode is empty because Rightmove's address for this property carries none, so there is no sold-price context for it:
{"query": "Manchester","found": true,"status": "OK","scrapedAt": "2026-09-28T10:44:27.082Z","searchUrl": "https://www.rightmove.co.uk/property-for-sale/find.html?locationIdentifier=REGION%5E904&maxPrice=400000&minBedrooms=2&radius=0.0&includeSSTC=false&sortType=6&index=0","listingCount": 20,"totalAvailable": 4250,"truncated": true,"newCount": 20,"priceDropCount": 0,"priceRiseCount": 0,"goneCount": 0,"monitorStatus": "CHANGES","medianPrice": 230000,"propertyId": "93644556","url": "https://www.rightmove.co.uk/properties/93644556","displayAddress": "Palatine Road, Manchester","postcodeOutcode": null,"price": 190000,"currency": "GBP","priceFrequency": null,"priceQualifier": "Offers Over","transactionType": "sale","propertySubType": "House","bedrooms": 2,"bathrooms": 1,"summary": "Situated in the charming Northenden village, this stylish house on Palatine Road offers a delightful blend of...","agentName": "Hunters","agentBranch": "Hunters, South Manchester","addedOrReduced": "Added today","firstVisibleDate": "2026-09-28T11:35:59Z","listingUpdatedAt": "2026-09-28T11:41:10Z","latitude": 53.411098,"longitude": -2.254971,"imageUrl": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/5f63be185/93644556/5f63be18520036616b676a15467c01cc_max_476x317.jpeg","isFeatured": false,"soldMedianPrice": null,"soldSampleSize": null,"changeType": "new","previousPrice": null,"priceDeltaPct": null,"firstSeenAt": "2026-09-28T10:44:27.164Z","lastSeenAt": "2026-09-28T10:44:27.164Z","daysListed": 0}
Example runs
Three inputs that need no API key or login and return rows as they stand. Paste one into the Input tab and press Start.
1. A new Rightmove listings alert for two-bed homes in Manchester
{"searches": ["Manchester"],"transactionType": "sale","minBedrooms": 2,"maxPrice": 300000,"maxListings": 100,"deltaMode": true,"alertOnNewOnly": true,"deltaName": "manchester-2-bed-under-300k"}
The first run returns everything currently listed as new and remembers it. Schedule the same input hourly and each later run returns only properties that appeared since.
2. UK sold house prices by postcode, next to what is on the market now
{"searches": ["N11"],"maxListings": 25,"includeSoldPrices": true}
Every row carries soldMedianPrice and soldSampleSize for its outcode, so asking price and
recent sold prices sit in one table.
3. Rentals in Leeds, newest first
{"searches": ["Leeds"],"transactionType": "rent","minBedrooms": 1,"maxPrice": 1200,"maxListings": 50}
price is per month for a rental and priceFrequency says so.
Monitoring: only what changed
Turn on "Only return properties that are new, cheaper, dearer or gone since the last run" and each search becomes a watchlist, stored in a named key-value store on your own Apify account between runs.
- New: a Rightmove property ID this watchlist has never returned.
- Price drop / price rise: a property it has seen whose asking price moved by at least "Smallest
price change to report" (0.5% by default) since it was last reported.
previousPriceandpriceDeltaPct(signed, negative is cheaper) say by how much. - Gone: the property left the part of the search this run read. See below.
- Unchanged properties are dropped before billing, so a quiet run costs only the start fee and
returns one summary row with
monitorStatus: NO_CHANGES. - What is returned: with both alert boxes off (the default) every change is returned: new, price drop, price rise and gone. Tick "Alert on new properties only" or "Alert on price drops" to narrow it; tick both for new properties and price drops only.
- What is billed: new and cheaper properties. Price rises and gone rows are returned free.
- First run: everything is new. Turn on "Seed silently" to remember it all without returning or billing it, so a webhook does not get a hundred messages on day one.
- Watchlist name: leave it empty and one is derived from your filters. Type a name to keep one memory across a filter change. A property not seen for 30 days is forgotten, so the store stays small.
Gone properties
Rightmove never says why a property left a search, so a gone row means it was delisted: most
often sold subject to contract, sometimes let, withdrawn, or edited out of your filters. Each gone
row carries the last known details, price (the last asking price), firstSeenAt, lastSeenAt
and daysListed.
How it decides: a run only sees the newest properties in your search, and one that slid below that window is still on the market. So each property's position in the newest-first feed is remembered, and one that disappeared is called gone only if, after counting new arrivals and properties whose price was just reduced (Rightmove moves those to the top), it should still have been inside the part of the search this run read. Properties near the bottom edge are never called gone, featured placements are never used, and a run where a page failed makes no gone check at all. For a reliable sold signal, set "Most properties to return per search" comfortably above the number of new listings you expect between runs.
Sold prices
Tick "Add sold-price context" and each row gets soldMedianPrice and soldSampleSize: the median
of the latest sale of each property on Rightmove's public house-prices page for that row's postcode
outcode (up to 25 recent sales). It reads one house-prices page per distinct outcode, at most 20 per
search, at no extra charge. A row whose address carries no outcode, or an outcode Rightmove has no
page for, stays empty. Individual sale records are not returned, only the median and the count.
Pricing
- Property returned: $2 per 1,000 listings
Plus a $0.00005 start fee per run. Each event above is billed independently, only when it actually returns data — misses (found:false) are never charged.
You pay per property returned. Empty searches, unknown places, price-rise and gone rows, and unchanged properties on a monitored search are never charged.
Use it from Clay, n8n, Make, or an AI agent
This actor runs synchronously over plain HTTP — call it directly from a script, a workflow tool, or an AI agent, no Apify Console needed once you have an API token.
curl "https://api.apify.com/v2/acts/accountable_eel~rightmove-listing-lookup/run-sync-get-dataset-items?token=<YOUR_TOKEN>" \-X POST \-H "Content-Type: application/json" \-d '{"searches":["Manchester"]}'
n8n. Add an HTTP Request node: Method POST, URL https://api.apify.com/v2/acts/accountable_eel~rightmove-listing-lookup/run-sync-get-dataset-items?token=<YOUR_TOKEN>, Body Content Type JSON, JSON Body {"searches":["Manchester"]} (swap in an expression from an earlier node for a real value).
Clay. Add an "HTTP API" column: Method POST, URL https://api.apify.com/v2/acts/accountable_eel~rightmove-listing-lookup/run-sync-get-dataset-items?token=<YOUR_TOKEN>, Body {"searches":["{{search}}"]}, mapping the row's search into the searches array.
MCP. In Claude, Cursor, or any MCP client with the Apify MCP server, ask for "Rightmove scraper: new listings, price drops, sold prices" — the agent will find and run this actor.
FAQ
What can I type as a place? A town, city or area (Manchester, Milton Keynes, Camden) or a
postcode outcode (N11, SW1P). If Rightmove does not recognise it the row says so (free), and
pasting the search link from rightmove.co.uk always works.
Which filters can I use? For a typed place: sale or rent, price from/to, minimum bedrooms, property type and radius. For anything else, set it on rightmove.co.uk and paste the search link. All its filters are kept; only the sort order is forced to newest first.
How many properties per search? Up to 1,000 per search per run, newest first (Rightmove itself
stops at about 1,000). totalAvailable tells you how many match in total.
Does it need a proxy or a browser? No. Rightmove serves its results pages over plain HTTP, and this actor reads the data embedded in them. Apify's default proxy is used and no login is needed.
Does it identify itself as a crawler? No. It sends an ordinary browser User-Agent, and only reads pages that Rightmove's robots.txt allows for all visitors.
Why is one property flagged isFeatured? Rightmove puts one paid featured property at the top
of every results page, out of date order. It is returned like any other row and marked so you can
filter it.
Is a "gone" property really sold? Not necessarily. See Gone properties.