Rightmove Scraper - UK Property Listings & Agents · $3/1K
Pricing
from $1.50 / 1,000 result items
Rightmove Scraper - UK Property Listings & Agents · $3/1K
Extract property listings from Rightmove (UK) by location: price, bedrooms, size, postcode district, agent branch, listing date, URL. Use sinceDays to keep only recently added listings. No proxy needed, one flat price per result, no contact details.
Pricing
from $1.50 / 1,000 result items
Rating
0.0
(0)
Developer
Yusuke Suda
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Rightmove Scraper — UK property listings, prices and agents
Extract property listings from Rightmove (UK) by location: price, bedrooms, size, postcode district, agent branch, listing date, URL, most recently added or reduced first.
Three rows from a real run
| Title | Price | Location | Posted |
|---|---|---|---|
| 1 bedroom apartment for sale | 515000 GBP | London | 2026-05-14T00:21:43Z |
| 2 bedroom apartment for sale | 625000 GBP | London | 2026-10-13T08:45:41Z |
| 3 bedroom bungalow for sale | 675000 GBP | Carshalton | 2026-09-30T10:51:12Z |
A run with maxItems: 10 on 2026-10-13 returned 10 listings in 4 seconds and would cost about $0.04 at the current price. Full fields for every row are shown below.
Rightmove is the UK's largest property site. This Actor turns its for-sale search results into a clean table: what the property is, what it costs, where it is, when it first went on the market, and which agent is selling it.
Press Start. The defaults return London listings in Rightmove's "newest
listed" order, with no configuration needed. In that order a price reduction
brings a listing back to the top, so an older home can sit among the new ones;
posted_at still tells you when it first appeared.
What a row looks like
{"title": "1 bedroom flat for sale","listing_type": "sale","property_type": "apartment","layout": "1 bed, 1 bath","bedrooms": 1,"price": 180000,"currency": "GBP","postal_code": "SE18","city": "London","state": "","address": "Ruston Road, London, SE18","latitude": 51.49365,"longitude": 0.04899,"agency": "Mann, Woolwich","posted_at": "2026-09-11T11:29:16Z","updated_at": "2026-09-11T11:35:05Z","source_url": "https://www.rightmove.co.uk/properties/93028365","external_id": "93028365"}
rooms and bedrooms
Property portals in different countries count different things, so this
catalogue keeps the two apart rather than putting whichever number a site
happens to publish into one column. rooms is a real room count. bedrooms
is a bedroom count. A site that publishes only one of the two leaves the other
out of the row entirely, so you never have to guess which quantity you are
looking at:
| Site | rooms | bedrooms |
|---|---|---|
| Willhaben (Austria) | yes | not published |
| Immowelt (Germany) | yes | not published |
| Bezrealitky (Czech Republic) | yes, from the 2+kk layout | not published |
| Immoweb (Belgium) | not comparable, so left out | yes |
| Rightmove (UK) | not published | yes |
Immoweb does publish a roomCount, and it is not a room count in the sense the
other countries use: on one Gent search page a 102 m² three-bedroom flat
reported 1 and an 81 m² one-bedroom reported 9. Rather than ship a column that
cannot be compared, this Actor leaves rooms out and gives you bedrooms.
Rightmove publishes bedrooms and bathrooms and no total room count at all,
which is the British convention.
living_area_sqm appears when the listing gives a floor area, as it does on
about six listings in ten. Every row also carries source_site and
scraped_at; floor is always empty.
Agent names are included. Business names only: where the site marks the advertiser as a private person, or the name on the card is or contains a person's name (a sole trader's trade name), the field is left empty. Contact persons, phone numbers and email addresses are never collected, and image URLs are deliberately not included — Rightmove's terms restrict loading its images elsewhere, and this Actor respects that.
Every row also carries source_site and scraped_at.
| Field | What it holds | How often it is filled |
|---|---|---|
title, property_type, listing_type | Listing title; Property type; Sale or rent | Always |
price, currency | Price; Currency | Always |
bedrooms | Bedrooms | Always |
layout | Layout | Always |
living_area_sqm | Living area (m²) | About 4 in 10 (39 of 100) |
address | Address | Always |
city | Town | About 8 in 10 (83 of 100) |
postal_code | Postcode | About 6 in 10 (55 of 100) |
state | County | About 2 in 10 (21 of 100) |
latitude, longitude | Latitude; Longitude | Always |
agency | Agency | About 9 in 10 (86 of 100 on 7 October 2026); empty where the agency's name is or contains a person's name |
posted_at, updated_at | First listed; Last added or reduced | Always |
source_url, external_id | Listing URL; Listing ID | Always |
rooms, price_per_sqm, district, usable_area_sqm, outdoor_area_sqm, outdoor_type, seller_type | Catalogue-wide columns; Rightmove's list does not show them | Always empty here |
Fill rates are from a 100-row run on 6 October 2026.
What people use it for
Price monitoring, where you re-run a saved search on a schedule and watch a postcode district or a town move. Agent and inventory research, where the agent column matters as much as the homes. And feeding a valuation or comparison tool that needs UK market data it cannot get from an official API.
Input
| Field | What it does |
|---|---|
location | A town, county or postcode district as Rightmove spells it (Manchester, Greater Manchester, SW15), a Rightmove locationIdentifier (REGION^904), or a Rightmove search URL. Leave empty for London. |
postedAfter | Only keep listings that first appeared on or after this date (ISO 8601). A price cut does not make a listing new again. |
sinceDays | The same, as a rolling window: 1 keeps yesterday and today, 7 the last week. Set it once on a scheduled task and never edit the date again. |
maxItems | Hard stop, so your bill is predictable. |
proxyConfiguration | Off by default. Most runs do not need one. |
There is no nationwide search on Rightmove, so a location is always used.
Ambiguous names resolve the way Rightmove resolves them (Newport is the
Welsh one); use the locationIdentifier from a Rightmove URL to pick the
other.
How much one run returns
Rightmove serves 24 listings per page and stops at page 42, so one search returns at most about 1,000 listings. Split by postcode district or town across runs for more; duplicates are removed within a run.
Pricing
$3.00 per 1,000 listings, dropping to $1.50 per 1,000 on higher Apify plans, plus $0.005 each time a run starts. Platform usage is not passed on to you.
You are charged for rows you actually receive. If you set a maximum charge for the run, it stops cleanly at that limit instead of overshooting it.
Daily new listings
Make a task from this Actor, set sinceDays to 1 with your search, and
schedule it each morning. Every run then returns only what was posted since
the previous day, in the same columns as a full run. The list is read most
recently added or reduced first, so the run stops once the listings are older
than the cutoff. A daily
task in Manchester returned 87 new listings on 2 October 2026 and left out 113
older ones.
How this compares
Other Rightmove Actors are on the Store. Checked on 2 October 2026 against the two most used, from their own Store descriptions and input forms:
- Results page only. One of them has an option for more details per property. This Actor never opens a listing: it reads the search results only.
- No personal data. One of them offers an option to add e-mail addresses. This Actor publishes the agent's branch name only: no contact person, e-mail address or phone number.
- One price per row. One of them charges extra events for additional data and market analysis. Here every row costs the same, and you pay only for rows you receive.
- Daily new listings. Neither has a date filter. Here
sinceDaysis a rolling window you set once on a scheduled task.
Scope and limits
Public listings only, from the search results page. Floor, year built and
plot size are not on that page. Floor area is present on about six listings
in ten; postcode district on about three in four. "POA" listings have an
empty price. Tenure (freehold/leasehold) is not included.
Rightmove answers some mistakes with a normal page instead of an error — a place name it does not know may resolve to a different place with a similar name, and an unknown sort order silently becomes "highest price". This Actor checks the place and the sort order Rightmove echoes back against what you asked for and fails the run if they differ, rather than charging you for the wrong rows.
If Rightmove changes its page structure, the run goes red. It does not return zero rows and report success — a silent scraper is worse than a broken one, because you find out weeks later.
A run that is blocked or cut short partway also goes red, even though the rows it did collect are in the dataset and yours to keep. Red here means "this is not the complete answer", not "you lost the data" — on a schedule, a run that quietly came back short is the thing you most need to hear about.
Every run also publishes the site's own result count next to the rows it delivered, so you can see "60 rows of 9,969 the site reports" without going back to the site to check. That number is what the site says, not a promise about what one run returns.
Same data, other countries
This Actor shares its output shape with the Immoweb (Belgium), Willhaben Immobilien (Austria) and Bezrealitky (Czech Republic) scrapers. A parser you write for one keeps working on the others.
Support
Open an issue on this Actor with the run ID and your input. Answered within one business day.