Rightmove UK Property Listings (London and beyond) avatar

Rightmove UK Property Listings (London and beyond)

Pricing

from $2.55 / 1,000 listing founds

Go to Apify Store
Rightmove UK Property Listings (London and beyond)

Rightmove UK Property Listings (London and beyond)

Pull live for-sale and to-rent property listings straight from Rightmove.co.uk — the UK's biggest property portal — for London or any other Rightmove location code. No login, no browser, no proxies. Unofficial, independent tool — not affiliated with, endorsed by, or sponsored by Rightmove.

Pricing

from $2.55 / 1,000 listing founds

Rating

5.0

(2)

Developer

Tim Zinin

Tim Zinin

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

2

Monthly active users

2 days ago

Last modified

Categories

Share

Pull live for-sale and to-rent property listings straight from Rightmove.co.uk — the UK's biggest property portal — for London or any other Rightmove location code. No login, no API key, no browser needed on your side.

What you get

  • Title, price (normalized to a single comparable figure — monthly for rentals), currency, bedrooms, floor area, full address, coordinates, a short description, photos and the direct listing URL for every property found.
  • Filter by for-sale or to-rent, and any Rightmove location code (defaults to London).
  • Full ISO posting date for every listing (Rightmove prints an exact date, unlike some portals that only show a relative "3 days ago" stamp).
  • Runs on Apify: schedule it, monitor it, call it from the API, export to JSON/CSV/Excel or push straight into your own pipeline.

How to run it

  1. Click Try for free — no card needed on the free plan.
  2. Leave Location identifier as the default for London, or paste in another Rightmove location code (see the Input section below for how to find one).
  3. Pick Deal type — for sale or to rent.
  4. Hit Start and pull the results from the dataset (UI, API or webhook).

Pricing

Pay-per-event: $0.005 per run start + $0.003 per result. No monthly seat, no minimum. 100 listings found cost about $0.30 (the one-time start fee plus 100 result rows). Rows where the source returned nothing (an unrecognized location, a query with zero matching listings, or a request that failed) are returned for transparency but are never charged for.

简体中文说明

直接从英国最大的房产门户 Rightmove.co.uk 抓取在售/在租房源,默认覆盖伦敦,也可以传入 Rightmove 自己的地区代码查询其他地区。价格已统一换算成同一口径(出租房源统一按月租展示,即使 Rightmove 内部记录的是周租),并给出精确到秒的 ISO 发布时间——不像有些门户只显示"3 天前"这类相对时间。

location_identifier 是 Rightmove 自己的不透明地区代码,格式为 TYPE^NUMBER(伦敦对应 REGION^87490);Rightmove 官方并未公开"地名对代码"的查询表,查询其他地区需要先在 rightmove.co.uk 上手动搜索该地区,再从结果页网址里复制 locationIdentifier 参数。price 为空表示该房源未公开报价(常见于高端商业地产和顶级豪宅,即"面议"),本 Actor 不会替你编造一个数字;area_sqm 为空则是因为源站本身没有公布面积(伦敦房源中相当常见,不是抓取遗漏)。

只提取搜索结果列表卡片上展示的信息,不会抓取完整图集、平面图或经纪人电话,也不维护"城市名对代码"的查询表。

计费为按事件付费:每次运行 $0.005,每条房源结果 $0.003。100 条房源约 $0.30(含一次性启动费);无法识别的地区代码、零匹配或请求失败的记录会返回说明,但不计费

Input

FieldRequiredWhat it does
location_identifieryesRightmove's own opaque location code, format TYPE^NUMBER (e.g. REGION^87490 for London). Rightmove does not publish a name-to-code lookup table — to find the code for another area, search that area on rightmove.co.uk and copy the locationIdentifier query parameter from the results page URL.
deal_typeyessale for properties for sale, rent for properties to rent.
max_itemsnoTotal row cap for this run (default 100).
max_pagesnoHow many result pages (24 listings per page) to walk before stopping (default 3).
{
"location_identifier": "REGION^87490",
"deal_type": "sale",
"max_items": 5,
"max_pages": 1
}

Output

Real row from a live run on the platform (2026-08-01):

{
"location_identifier": "REGION^87490",
"deal_type": "sale",
"found": true,
"url": "https://www.rightmove.co.uk/properties/166896110#/?channel=RES_BUY",
"title": "1 bedroom apartment for sale — Cashmere House, Leman Street, E1",
"price": 800000,
"currency": "GBP",
"property_type": "Apartment",
"rooms": 1,
"area_sqm": null,
"location": "Cashmere House, Leman Street, E1",
"lat": 51.51373,
"lng": -0.070178,
"posted_date": "2025-09-11T17:32:28Z",
"description": "Regent are proud to present this spectacular one-bedroom apartment with amazing view over the City in the heart of Cashmere House, part of the Goodman's Field development, E1. The property boasts 903 sq. ft and comprises a spacious double bedroom with a private en-suite...",
"images": [
"https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/36f551317/166896110/36f551317fd23d7243757894728a14a4_max_476x317.jpeg",
"https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/9a9b25b9b/166896110/9a9b25b9b76d38b7b9e5d2ef30b85b01_max_476x317.jpeg",
"https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f7eadec92/166896110/f7eadec92821a03b4b8695279755d031_max_476x317.jpeg",
"https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/4c4ce0ae1/166896110/4c4ce0ae15c3d1803f6e138d8b92beef_max_476x317.jpeg",
"https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/09e1cdbdd/166896110/09e1cdbddbf64b44bc4b8d113c11eeca_max_476x317.jpeg"
],
"source_portal": "rightmove-london",
"scraped_at": "2026-08-01T05:10:56.822Z",
"partial": true,
"partial_reason": "stopped after 1 page(s), 5 item(s) collected — reached this run's own max_pages/max_items limit before the source confirmed (via confirmedEnd) that there is nothing more; there may be additional matching listings beyond what was collected"
}
FieldMeaning
foundtrue for a real listing row, false for a not-found/error row.
priceThe headline price shown on the listing card. For rentals this is always the per calendar month figure, even when Rightmove's own internal record is weekly — so every rental row in your dataset is on the same, comparable unit. null when the listing has no public price ("POA" / price on application).
area_sqmFloor area converted from Rightmove's own square feet to square meters. null when the listing doesn't publish a size at all — this is common (roughly a third of London listings in spot checks), not a parsing gap.
locationThe display address as shown on the listing card.
posted_dateFull ISO timestamp of when the listing first went live — Rightmove publishes an exact date, not just a relative stamp.
lat / lngCoordinates as published on the search-results page (no need to open the listing itself).
imagesPhotos as listed on the search-results card.
partialtrue when this run stopped without Rightmove itself confirming there is nothing more — either max_pages/max_items was reached, or an unconfirmed empty page came back. false (and omitted by a clean=true Dataset read) once the source's own response confirmed a resolved result. Carried on every row, found or not.
partial_reasonPlain-English reason when partial is true; null/omitted otherwise.

A not-found row looks like:

{
"location_identifier": "REGION^99999999",
"deal_type": "sale",
"found": false,
"partial": true,
"partial_reason": "page 1 returned 0 rows with no independent confirmation that the source actually has zero matches — could be a genuine empty result, or an unrecognized/broken page shape",
"note": "Rightmove did not confirm zero listings for this location_identifier/deal_type — page 1 returned 0 rows with no independent confirmation that the source actually has zero matches — could be a genuine empty result, or an unrecognized/broken page shape",
"scraped_at": "2026-08-01T05:11:01.840Z"
}

API

Start a run with a bearer token and explicit JSON input:

curl -sS -X POST 'https://api.apify.com/v2/acts/zinin~rightmove-london/runs?waitForFinish=60' \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H 'Content-Type: application/json' \
--data '{"location_identifier":"REGION^87490","deal_type":"sale","max_items":5,"max_pages":1}'

Read Dataset rows using the returned defaultDatasetId:

curl -sS "https://api.apify.com/v2/datasets/$DEFAULT_DATASET_ID/items?clean=true&format=json" \
-H "Authorization: Bearer $APIFY_TOKEN"

MCP

For an Apify MCP client exposing the standard call-actor tool, send this exact payload:

{
"name": "call-actor",
"arguments": {
"actor": "zinin/rightmove-london",
"input": {
"location_identifier": "REGION^87490",
"deal_type": "sale",
"max_items": 5,
"max_pages": 1
}
}
}

Related tools for adjacent workflows in real estate listings and monitoring.

ActorWhat it does
Imovirtual Portugal Real Estate ListingsPair it in the real estate listings and monitoring workflow: Pull live apartment and house listings straight from Imovirtual.com — Portugal's biggest real-estate...
Krisha.kz Kazakhstan Real Estate ListingsPair it in the real estate listings and monitoring workflow: Pull live apartment and house listings straight from Krisha.kz — Kazakhstan's biggest real-estate...
Otodom Poland Real Estate ListingsPair it in the real estate listings and monitoring workflow: Pull live apartment and house listings straight from Otodom.pl — Poland's biggest real-estate classifieds...
Storia Romania Real Estate ListingsPair it in the real estate listings and monitoring workflow: Pull live apartment and house listings straight from Storia.ro — Romania's biggest real-estate classifieds...
Willhaben Vienna Real Estate ListingsPair it in the real estate listings and monitoring workflow: Pull live apartment rental and sale listings straight from Willhaben.at — Austria's biggest classifieds...

FAQ / Limitations

Does this need a Rightmove account or API key? No — it reads the same public search pages a visitor sees, no login.

Why is price sometimes null on a row? The listing has no public asking price ("POA" — price on application, common for very high-end commercial and trophy residential listings). We don't invent a number for these.

Why is area_sqm sometimes null? Rightmove simply doesn't publish a floor area for every listing — we report exactly what the source gives us, no guessing.

What this is NOT. This does not fetch the full photo gallery, floorplans, the agent's phone number, or anything from the listing's own detail page — only what's shown on the search-results list. It does not maintain a city-name-to-code lookup table (Rightmove's locationIdentifier codes are not documented publicly) — you supply the code you want, or use the London default.

Found a bug or need a custom variant (a different country's property portal, extra fields)? Open an issue on the Actor page.

Machine use

The Actor is callable through the Apify API, SDK, and Apify MCP server. The input and Dataset row are the machine-facing contract; price/area_sqm are null exactly when Rightmove itself doesn't publish a value (never a guess), and partial/partial_reason mark whenever a row's completeness wasn't independently confirmed by the source — an agent treating a run's results as the full market should check partial first.