Rightmove Scraper - UK Sale & Rent Property Listings avatar

Rightmove Scraper - UK Sale & Rent Property Listings

Pricing

from $2.20 / 1,000 results

Go to Apify Store
Rightmove Scraper - UK Sale & Rent Property Listings

Rightmove Scraper - UK Sale & Rent Property Listings

Scrape Rightmove.co.uk across residential, new homes, student, commercial, overseas, and retirement searches by location or URL. Extract prices, beds, baths, tenure, agents, photos, and detail fields as a Rightmove API alternative.

Pricing

from $2.20 / 1,000 results

Rating

0.0

(0)

Developer

kane liu

kane liu

Maintained by Community

Actor stats

1

Bookmarked

3

Total users

1

Monthly active users

3 days ago

Last modified

Share

What does Rightmove Property Scraper do?

Scrape Rightmove UK property listings for sale and to rent, then export structured data to a Dataset. This Actor is a practical Rightmove API alternative for researchers, agencies, investors, and automations that need clean listing data from Rightmove.

Enter a location (for example London or Manchester) or paste Rightmove search / property URLs. Optionally open each listing detail page to enrich prices, tenure, lettings terms, agent contacts, stations, and photos. Supports all Rightmove listing search categories: residential, new homes, student, commercial, overseas, and retirement.

Worker URL is config, not code: the Actor reads WORKER_BASE_URL from Actor environment variables (plus optional per-run workerBaseUrl). If you migrate the worker to a new host, update WORKER_BASE_URL (and WORKER_AUTH if the API key changes) in Apify Console — no Actor code change required. Set WORKER_PROVIDES_PROXY=1 when the worker supplies its own PROXY_URL.

Free Apify plan limits (set by this Actor's developer)

LimitFree Apify planPaid Apify plan
Runs of this Actor10 totalUnlimited
Dataset rows per runUp to 200Limited by your maximum total charge

These limits are set by the Actor developer, not Apify. Hitting the run cap finishes with a clear status message — it is not a platform bug. Upgrade to a paid Apify plan for unlimited runs.

maxItems applies to each startUrls URL, or to the location search when no URLs are supplied. The default is 70. Requests above 70 are collected in control-plane parts of at most 70 rows, while the whole run remains bounded by your maximum total charge and the free-plan allowance.

What can this Rightmove Scraper do?

  • Scrape Rightmove for-sale listings (channel=BUY)
  • Scrape Rightmove to-rent listings (channel=RENT)
  • Scrape all listing search categories via searchCategory (residential, new homes, student, commercial, overseas, retirement)
  • Resolve a place name via Rightmove location typeahead
  • Paginate Rightmove search result pages (SRP)
  • Enrich listings from property detail pages (LDP)
  • Extract prices, beds, baths, property type, tenure, and key features
  • Capture agent / branch names and phone contacts when present
  • Collect images, floorplans, nearest stations, and lettings fields
  • Cap each URL or location search with maxItems and maxPages
  • Run on the Apify platform with scheduling, Dataset export, webhooks, and API access
  • Use the worker-managed control-plane exit; Apify Proxy is not used

What data can you extract from Rightmove?

Property fieldExample
Listing ID / URL89053539, https://www.rightmove.co.uk/properties/...
AddressBeardell Street, Crystal Palace...
Price£625,000 or rent display price
Beds / baths2 / 2
Property typeFlat, Terraced, Semi-Detached
TenureFreehold, Leasehold
Agent / branchBrand and branch display name
Contact phoneLocal telephone when available
ImagesMain and gallery image URLs
StationsNearest stations with distances
LettingsDeposit, furnish type, available date (rent)
CoordinatesLatitude / longitude when present

Lead / Contact fields

Each result includes outreach-ready contact fields (lead keys) alongside the property data above. These fields follow a standard schema so you can join leads across multiple property scrapers.

FieldTypeMeaningRightmove source
phones[{value, type}]Agent phone numbers (sales / lettings / main landlines)customer.contactTelephone in SRP hydration; DOM tel: href on Detail; branchSalesTelephone / branchLettingsTelephone / branchMainTelephone on Agent page
emails[{value, type}]Agent contact emailNot available — Rightmove uses a contactBranch.html lead form instead of mailto or plaintext; emails are gated behind a form
address{street, unit, locality, region, postalCode, country, full}Property address; unit = door/building number (门牌), full = display stringdisplayAddress (full), outcode + incode (postalCode), countryCode (country), ukCountry (region) — already-visible in hydration
geo{lat, lng}Latitude / longitudelocation.latitude / location.longitude in hydration — already-visible
person{name, role}Named agent / salespersonNot available as a structured field — agent names appear only in free-text description HTML (non-structured)
org{name, id}Agency / branch name and IDcustomer.brandTradingName / customer.companyName (name), customer.branchId / customer.companyId (id) — already-visible
web{website, socials[]}Agency website and social linksNot available — Rightmove does not expose agency websites or social links on listing pages
leadSourceenumWhere the lead was captured: search (SRP card) | detail (LDP) | entity (Agent page)Surface of the item
leadRevealenumHow the lead was exposed: visible (already in page hydration)All Rightmove phones / addresses / org are already-visible — no click-reveal or XHR required
leadAbsencesstring[]Missing sub-field reasons (e.g. ["emails:闸门锁", "person:未验证", "social:本站无"])Consistent with the site research report

Sample lead data from a detail-page item:

{
"phones": [{ "value": "02039054957", "type": "landline" }],
"emails": [],
"address": {
"street": "Ellery Road",
"unit": null,
"locality": null,
"region": "England",
"postalCode": "SE19 3QG",
"country": "GB",
"full": "Ellery Road, London, SE19"
},
"geo": { "lat": 51.4149, "lng": -0.092286 },
"person": null,
"org": { "name": "iMove Property", "id": 80566 },
"web": { "website": null, "socials": [] },
"leadSource": "detail",
"leadReveal": "visible",
"leadAbsences": ["emails:闸门锁", "person:未验证", "social:本站无"]
}

Reveal cost

Rightmove exposes agent phone numbers, addresses, and agency details already-visible in the page's Next.js hydration JSON (__NEXT_DATA__ on SRP / Agent pages, window.__PAGE_MODEL on Detail). No "show phone" click or XHR-after-click is needed. This means:

  • No extra page loads beyond the detail/agent pages already fetched for enrichment
  • No click-reveal XHR — phones are in the hydration layer and DOM tel: hrefs
  • No login wall for phone/address/org data — the hydration layer is guest-accessible
  • Rate-limit impact: only standard SRP + Detail page fetches; no additional reveal requests
  • The Agent page DOM has a "Call agent" button that triggers a login modal, but the same phone numbers are already in the hydration JSON — the button is not needed

Honest limitations

The following lead fields are not available on Rightmove and are documented in each item's leadAbsences:

FieldReasonleadAbsences value
emailsRightmove uses a contactBranch.html lead form instead of mailto/plaintext emails; submitting the form is not supportedemails:闸门锁
person.nameAgent names appear only in free-text description HTML (non-structured), not as a dedicated fieldperson:未验证
web.socialsRightmove listing/agent pages do not expose agency social media linkssocial:本站无

These limitations are consistent with the site research report and the worker's leadAbsences output. The scraper does not invent or fabricate contact data for fields that are gated, unverified, or absent on Rightmove.

Why scrape Rightmove?

Rightmove is one of the largest UK property portals. Scraping Rightmove listing data helps with:

  • Market research and price benchmarking by city or postcode area
  • Lead generation for agencies, conveyancers, and service providers
  • Investment screening across sale and rental inventory
  • Monitoring new listings, price changes, and agent coverage
  • Feeding dashboards, CRMs, spreadsheets, or AI agent workflows

More Actors like this

Looking for another property portal, or a scraper outside real estate? Use a specialized Actor when one exists — structured fields, better coverage, usually lower cost. Use this Actor for Rightmove UK sale / rent listings and related search pages.

Similar real estate Actors

Prefer another specialized scraper?

Jobs & Freelance

E-commerce

Travel & Stays

Social & Content

Ads Intelligence

Local & Maps

General Tools

→ See the full catalog in Related Actors below, or browse apify.com/lentic_clockss.


How to scrape Rightmove property data

  1. Open this Actor and click Try for free (or Start).
  2. Set location (for example London) or provide Rightmove startUrls.
  3. Choose searchCategory (residential by default) and channel (BUY / RENT).
  4. Set maxItems and maxPages for a small test first.
  5. Keep scrapeDetails enabled when you need full listing enrichment.
  6. Click Start, then download the Dataset as JSON, CSV, Excel, or JSONL.

Search categories (searchCategory)

CategoryBUY pathRENT path
residential/property-for-sale/find.html/property-to-rent/find.html
new_homes/new-homes-for-sale/find.html— (buy-only)
student— (rent-only)/student-accommodation/find.html
commercial/commercial-property-for-sale/find.html/commercial-property-to-let/find.html
overseas/overseas-property-for-sale/find.html— (buy-only)
retirement/property-for-sale/find.html + mustHave=retirement— (buy-only)

Alias: homes → residential. You can also paste any category find.html URL in startUrls.

Overseas locations (important)

Rightmove’s UK typeahead can match country names to UK places (for example Spain → “Spains End, Essex”). For searchCategory=overseas:

  • Prefer an overseas country/region name (resolved via overseas SEO pages to WORLD_REGION^…, e.g. Spain → WORLD_REGION^169)
  • Or paste an overseas startUrl such as https://www.rightmove.co.uk/overseas-property-for-sale/Spain.html
  • Or set location to an explicit identifier like WORLD_REGION^169
  • UK-only REGION^… hits are rejected for overseas searches

Example input (for sale in London)

{
"location": "London",
"channel": "BUY",
"searchCategory": "residential",
"maxItems": 25,
"maxPages": 1,
"scrapeDetails": true
}

Example input (commercial to let)

{
"location": "London",
"channel": "RENT",
"searchCategory": "commercial",
"maxItems": 10,
"maxPages": 1,
"scrapeDetails": false
}

Example input (overseas Spain)

{
"location": "Spain",
"channel": "BUY",
"searchCategory": "overseas",
"maxItems": 10,
"maxPages": 1,
"scrapeDetails": false
}

Or use a start URL / identifier:

{
"startUrls": [
{
"url": "https://www.rightmove.co.uk/overseas-property-for-sale/Spain.html"
}
],
"maxItems": 10,
"scrapeDetails": false
}

Example input (student accommodation)

{
"location": "London",
"searchCategory": "student",
"maxItems": 10,
"maxPages": 1,
"scrapeDetails": false
}

Example input (to rent via search URL)

{
"startUrls": [
{
"url": "https://www.rightmove.co.uk/property-to-rent/find.html?locationIdentifier=REGION%5E87490&sortType=6&index=0"
}
],
"maxItems": 20,
"maxPages": 1,
"scrapeDetails": true
}

Input

Use the Input tab for the full form. Core fields:

FieldDescription
startUrlsOptional Rightmove search (SRP) or property detail (LDP) URLs
locationPlace name (UK typeahead, or overseas country for searchCategory=overseas)
channelBUY / RENT (output channel is always normalized; raw enum in channelRaw)
searchCategoryListing category: residential, new_homes, student, commercial, overseas, retirement
maxItemsMaximum listings for each start URL, or for the location search when no URLs are supplied (default 70; free runs capped at 200 total rows)
maxPagesMaximum search pages (Rightmove caps around 42)
scrapeDetailsFetch LDP and merge full property details
includeRawPayloadsKeep bulky rawSrp/rawLdp (default false)
sortTypeNewest, highest price, lowest price, or oldest
requestDelayMillisDelay between HTTP requests
maxConcurrencyConcurrent detail fetches
workerBaseUrlOptional per-run worker origin override (Advanced)

Output example

Each Dataset item is one Rightmove listing. You can download results as JSON, CSV, Excel, or JSONL.

Each item is one billed entity with rowType: "listing". maxItems caps rows for each start URL, or for the location search when no URLs are supplied. Requests above 70 continue through cursor units without letting legacy maxPages: 1 stop the first unit. keyFeatures and image lists are capped at 50; optional raw payloads are removed only when needed to keep a row below 256 KiB.

{
"id": "89053539",
"url": "https://www.rightmove.co.uk/properties/89053539",
"source": "rightmove",
"sourceLayer": "ldp",
"searchCategory": "residential",
"channel": "BUY",
"displayAddress": "Beardell Street, Crystal Palace, London, SE19",
"primaryPrice": "£625,000",
"bedrooms": 2,
"bathrooms": 2,
"propertySubType": "Flat",
"tenureType": "Leasehold",
"customer": {
"brandTradingName": "Example Estate Agents",
"branchDisplayName": "Crystal Palace"
},
"images": ["https://media.rightmove.co.uk/..."],
"scrapedAt": "2026-07-17T14:48:00.000Z"
}

Key-value store helpers:

  • OUTPUT / RUN_SUMMARY — counts, engine, URLs, warnings
  • ERROR_SUMMARY — present when a run fails

How much does it cost to scrape Rightmove?

This Actor uses Pay per event pricing:

EventPrice
Actor start (apify-actor-start)$0.005 per start
Result (apify-default-dataset-item)$2.50 / 1,000 listings ($0.0025 each)

User pays platform usage costs: No. Platform compute and worker egress for this Actor are included — you pay the event prices above, not separate Apify usage on top. Keep maxItems low while testing. For production, schedule recurring runs and export only the fields you need.

Example: 1 start + 1,000 enriched listings ≈ $0.005 + $2.50 in event charges.

Tips for better Rightmove scraping results

  • Start with maxPages: 1 and maxItems: 5–25 to validate filters.
  • The worker obtains its GB exit through the control plane; do not configure Apify Proxy.
  • Keep maxConcurrency modest (2–3) to reduce detail-page rate limits.
  • Prefer Newest Listed (sortType: "6") when monitoring fresh inventory.
  • Rightmove search pagination is capped (~42 pages). Split large areas into smaller locations if you need more coverage.

FAQ

Why did my free-plan run stop after 10 runs?

Free Apify plan users get 10 runs of this Actor and up to 200 Dataset rows per run. These limits are set by the Actor developer (not Apify). When you hit the run cap, the run finishes with a clear status message — it is not a platform bug. Upgrade to a paid Apify plan for unlimited runs.

Is there an official Rightmove API?

Rightmove does not offer a simple public listings API for arbitrary third-party extraction. This Actor provides a Rightmove scraper / API-style Dataset export for public listing pages.

Can I scrape both sale and rent?

Yes. Run once with channel=BUY and once with channel=RENT, or supply separate search URLs in startUrls.

Does it scrape property detail pages?

Yes, when scrapeDetails is enabled. Detail enrichment hydrates Rightmove window.__PAGE_MODEL into full propertyData fields.

What format can I export?

Apify Dataset downloads support JSON, JSONL, CSV, Excel, XML, and RSS. You can also pull results through the Apify API, Integrations, or webhooks.

Only scrape publicly available listing data and only if you have a legitimate reason. Personal data may appear in public listings and can be protected by GDPR and similar laws. Review Rightmove terms and your own compliance obligations before large-scale collection. This tool is intended for ethical use of public information.

How do I run this Rightmove Scraper via API?

Use the Apify API, CLI (apify call), or Schedules. Pass the same JSON input shown above. See the API tab on this Actor page for ready-made code snippets.

Live View / standby endpoints

When the Actor runs in standby / Live View mode, these operational endpoints are available:

MethodPathDescription
GET/Service info
GET/healthHealth check
GET/input-exampleLow-cost sample input
GET/openapi.jsonDeployed OpenAPI document

Normal scraping still runs as a standard Actor run (not through these endpoints).

Support

Open the Issues tab on this Actor page with sample input, run ID, and expected vs actual results. Feature requests for extra filters or fields are welcome.


All 77 public Actors from [lentic_clockss]. Click a name to open the Store detail page.

Jobs & Freelance

Real Estate

E-commerce

Travel & Stays

Social & Content

Ads Intelligence

Local & Maps

General Tools

→ Browse the full profile: apify.com/lentic_clockss