Rightmove Scraper — UK Property Listings avatar

Rightmove Scraper — UK Property Listings

Pricing

Pay per event

Go to Apify Store
Rightmove Scraper — UK Property Listings

Rightmove Scraper — UK Property Listings

Scrape UK property listings from Rightmove (for-sale or to-rent) — price, address, bedrooms, agent phone, floor plan, EPC, photos, full description — export to JSON or CSV. A Rightmove data scraper that enriches from each detail page, going beyond the public search payload.

Pricing

Pay per event

Rating

0.0

(0)

Developer

DevilScrapes

DevilScrapes

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

20 hours ago

Last modified

Categories

Share


🎯 What this scrapes

Rightmove is the UK's largest property portal and publishes no public API. This Actor is your Rightmove scraper: search by location, filter by price, bedrooms, or listing type (for-sale or to-rent), and optionally enrich each result with detail-page data — agent phone, full description, floor plan URL, and EPC graph image. Built on curl-cffi with browser TLS impersonation; every request looks like a real browser visit from a UK residential IP.

Rightmove's site actively resists automated access. We run the gauntlet so you get clean rows.

🔥 Features

  • 🛡️ Browser fingerprint rotationcurl-cffi replays real Chrome / Firefox / Safari TLS handshakes so every request looks like a real browser, not a script.
  • 🌐 Residential proxy rotation via Apify Proxy — a fresh UK exit IP on every session, automatically swapped whenever the target pushes back.
  • 🔁 Retries with exponential backoff on 408 / 429 / 5xx — up to 5 attempts per page with Retry-After honoured.
  • 🧱 Rate-limit-aware pacing — we slow down when Rightmove signals overload instead of hammering until banned.
  • 🧊 Clean, typed dataset rows — Pydantic-validated, ISO-8601 timestamps, stable property IDs, ready for JSON / CSV / Excel export.
  • 💰 Pay-Per-Event pricing — you only pay for rows that land in your dataset. No data, no charge.

💡 Use cases

  • Property-market analytics — track price-per-square-foot trends across UK postcodes over time.
  • Buyer alerting — daily diff for new sub-£500k 2-bed flats in your target postcode.
  • Landlord intelligence — aggregate to-rent rows by postcode to estimate rental yields across a portfolio.
  • Agent prospecting — build a directory of UK estate agents using agent_name + agent_phone from each listing.
  • Floor-plan + EPC enrichment — detail-page data that cheaper competitors miss entirely: full description, floor plan URL, and EPC graph image.
  • UK property data API substitute — Rightmove's official data access is restricted to registered agents. This Actor gives PropTech founders a clean postcode-property-data feed without a partner contract.

⚙️ How to use it

  1. Click Try for free at the top of the page.
  2. Fill in the input form — most fields have sensible defaults (London, for-sale, 50 results).
  3. Click Start. Results stream into the run's dataset in real time.
  4. Export from Storage → Dataset as JSON, CSV, or Excel — or pull via the Apify API.

📥 Input

FieldTypeRequiredDefaultNotes
searchLocationstringyesLondonFree-form UK location — city, district, postcode prefix (SW1A), or region. Resolved via Rightmove's location autocomplete.
listingTypestringnofor-saleWhich Rightmove channel to scrape — for-sale or to-rent.
radiusMilesstringno0.0Search radius around the centroid of the resolved location (miles).
maxPriceGbpintegernoUpper price filter. Total £ for for-sale; £ per month for to-rent. Leave empty for no cap.
minBedroomsintegernoMinimum number of bedrooms. Leave empty for no floor.
maxPropertiesintegerno50Hard cap on dataset rows. Rightmove's own search caps at ~1 000 results per query.
enrichDetailsbooleannotrueFetch each listing's detail page for full description, floor plan URL, EPC graph URL, and agent phone. Doubles request count and run time; disable to get search-payload fields only.
proxyConfigurationobjectno{"useApifyProxy": true}Apify Proxy spec. UK residential exits are recommended for stable access.

Example input

{
"searchLocation": "London",
"listingType": "for-sale",
"maxProperties": 5,
"enrichDetails": true,
"proxyConfiguration": {
"useApifyProxy": true
}
}

📤 Output

Every row is one dataset item.

FieldTypeNotes
property_idstringRightmove property ID.
property_urlstringAbsolute URL to the listing detail page.
addressstringDisplay address (Rightmove's truncated form).
postcodestring | nullFull postcode (e.g. E17 6ZL) — only present when enriched from the detail page.
latitudenumber | nullLatitude (WGS-84).
longitudenumber | nullLongitude (WGS-84).
price_gbpinteger | nullAmount in GBP — total for sale, monthly for rent.
price_qualifierstring | nullPrice qualifier (e.g. Offers in Excess of, Guide Price).
price_frequencystring | nullmonthly for rentals, not specified for sales.
listing_typestringfor-sale or to-rent.
property_typestring | nullProperty sub-type (Apartment, Detached, Semi-detached, etc.).
property_type_fullstring | nullHuman-readable description (e.g. 1 bedroom apartment for sale).
bedroomsinteger | nullNumber of bedrooms.
bathroomsinteger | nullNumber of bathrooms.
sqftinteger | nullFloor area in square feet (when published by the agent).
tenurestring | nullTenure type (FREEHOLD / LEASEHOLD / SHARE_OF_FREEHOLD).
epc_graph_urlstring | nullURL of the EPC graph image. Enrichment-only.
epc_ratingstring | nullEPC rating letter (A–G) when extractable. Currently always null — the letter is image-only; OCR the graph if you need it.
descriptionstring | nullFull property description (HTML stripped to plain text). Enrichment-only.
key_featuresarrayBullet list of key features published by the agent.
listing_added_datestring | nullISO timestamp when the listing first appeared on Rightmove.
listing_update_reasonstring | nullLast update reason (e.g. price_reduced).
agent_namestring | nullEstate agent branch display name.
agent_phonestring | nullAgent's contact phone number.
agent_urlstring | nullAbsolute URL to the agent's Rightmove branch page.
photo_urlsarrayList of property photo URLs.
floor_plan_urlstring | nullFloor plan image URL when published. Enrichment-only.
scraped_atstringISO timestamp when this row was recorded.

Example output

{
"property_id": "167180126",
"property_url": "https://www.rightmove.co.uk/properties/167180126",
"address": "Gainsford Road, Walthamstow",
"postcode": "E17 6ZL",
"latitude": 51.587363,
"longitude": -0.027555,
"price_gbp": 300000,
"price_qualifier": "Offers in Excess of",
"listing_type": "for-sale",
"property_type": "Apartment",
"bedrooms": 1,
"bathrooms": 1,
"sqft": 443,
"agent_name": "haart, Walthamstow",
"agent_phone": "020 3910 6244",
"floor_plan_url": "https://media.rightmove.co.uk/property-floorplan/.../...jpeg",
"epc_graph_url": "https://media.rightmove.co.uk/property-epc/.../...png"
}

💰 Pricing

Pay-Per-Event — you pay only when these events fire:

EventUSDWhat it is
actor-start$0.05One-off warm-up charge per run
result-row$0.002Per result pushed to your dataset

Example: 1 000 results at the rates above ≈ $0.05 per 1 000. No subscription, no minimum, no card to start — Apify gives every new account $5 of free credit.

🚧 Limitations

Rightmove's own search caps any query at ~1 000 results. Enabling detail enrichment roughly doubles request count and run time. The EPC rating letter (A–G) is not available in structured form — only the graph image is surfaced; OCR with Tesseract if you need the letter. Some agent phone numbers are masked behind a click-to-reveal widget on certain listings; in those cases agent_phone may be null.

❓ FAQ

What is the Rightmove scraper?

It is an Apify Actor that extracts UK property listings from Rightmove — for-sale or to-rent — and returns structured data including price, address, bedrooms, bathrooms, agent phone, floor plan URL, EPC graph, and full description. No Rightmove API key required.

Is there an official Rightmove API?

Rightmove offers no public API. Their data-access programme is restricted to registered agents under the Property Data Trust Framework. This Actor gives PropTech founders and landlords a practical Rightmove data export without a partner contract.

Can I export Rightmove data to a spreadsheet?

Yes. Every run writes to an Apify dataset that you can export as CSV or Excel directly from the Apify Console, or pull programmatically via the Apify API. That makes this Actor a drop-in Rightmove data export tool.

What is postcode property data and does this include it?

Yes. When enrichDetails is enabled the Actor fetches each listing's detail page and returns the full postcode (e.g. SW1A 1AA), latitude/longitude, and floor area — everything you need for postcode-level property data analysis.

Does this work for rentals?

Yes — set listingType to to-rent. price_gbp is then £ per month and price_frequency reads monthly.

Is detail enrichment optional?

Yes — set enrichDetails to false to halve the request count. You still get price, address, bedrooms, photos, lat/long, and agent name from the search payload — just no floor plan, EPC image, or full description.

Does it cover Zoopla or OnTheMarket?

This Actor covers Rightmove only. Zoopla and OnTheMarket are separate sites with separate structures — a dedicated zoopla-uk-property Actor would be needed for those.

Why isn't the EPC rating letter populated?

Rightmove publishes the EPC as a rendered graph image, not a structured field. We surface epc_graph_url; use Tesseract OCR if you need the letter extracted from the image.

Will the Actor handle blocks if Rightmove pushes back?

Yes — we rotate UK residential proxy exit IPs, rotate browser fingerprints, and retry with exponential backoff. If Rightmove rate-limits mid-run the Actor surfaces a clear status message with the partial result count rather than returning a silent empty dataset.

💬 Your feedback

Spotted a bug, hit a weird edge case, or need a new field? Open an issue on the Actor's Issues tab on Apify Console — we ship fixes weekly and we read every report.