Rightmove, Zoopla & OnTheMarket UK Property Scraper
Pricing
Pay per event
Rightmove, Zoopla & OnTheMarket UK Property Scraper
Scrapes UK property listings from Rightmove, Zoopla, and OnTheMarket in one run. Returns unified records with price, bedrooms, EPC rating, council tax band, tenure, leasehold details, agent info, and coordinates. Cross-portal coverage with price history from Zoopla.
Pricing
Pay per event
Rating
0.0
(0)
Developer
BowTiedRaccoon
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
3 days ago
Last modified
Categories
Share
Scrapes UK property listings from Rightmove, Zoopla, and OnTheMarket in a single run. Returns unified records with price, bedrooms, EPC rating, council tax band, tenure, leasehold details, agent info, coordinates, and price history — across all three portals from one actor.
Rightmove, Zoopla & OnTheMarket Scraper Features
- Extracts listings from all three UK property portals with a single run and a single output schema
- Collects 30+ fields per listing including price, bedrooms, bathrooms, postcode, coordinates, and agent contact
- Returns EPC rating, council tax band, tenure type, and remaining lease years for properties where available
- Retrieves Zoopla price history and Land Registry last-sold data — the field that most scrapers skip
- Accepts any search URL from any of the three portals, or falls back to sensible London defaults
- Filters by listing type (sale, rent, or both) across all portals simultaneously
- Returns clean, flat JSON — no nested objects, no arrays, just columns that load straight into a spreadsheet or database
Who Uses UK Property Portal Data?
- PropTech developers — Build valuation models, automated alerts, or comparison tools that need real-time listings from all three portals at once
- BTL investors — Track yield opportunities across regions, compare listing prices to sold prices, filter by EPC rating before viewing
- Estate agent intel firms — Monitor competitor stock levels, pricing strategy, and time-on-market across portals simultaneously
- Mortgage lead generators — Match active buyers to pre-qualified listings, trigger outreach when price reductions appear
- Academic researchers — Build price trend datasets with the sold-price history that Zoopla surfaces but most scrapers ignore
- Data brokers — Maintain a unified UK property database without running three separate scrapers and reconciling the output
How the Rightmove, Zoopla & OnTheMarket Scraper Works
- Paste a search URL from Rightmove, Zoopla, or OnTheMarket — or use the defaults. The actor detects the portal from the URL and routes accordingly.
- The scraper pages through search results, collecting property IDs and detail URLs. Zoopla's Cloudflare challenge is solved automatically; Rightmove and OnTheMarket require no bypass.
- Each detail page is fetched and parsed. Rightmove data lives in the server-rendered HTML. OnTheMarket uses Next.js with a full Redux state dump in the page. Zoopla follows the same pattern once the challenge clears.
- All three portals are mapped to the same output schema. The
platformfield tells you where each record came from.maxItemscaps the total across all portals combined.
Input
{"searchUrls": [{ "url": "https://www.rightmove.co.uk/property-for-sale/find.html?locationIdentifier=REGION%5E87490&sortType=6&numberOfPropertiesPerPage=24&index=0&includeSSTC=false&viewType=LIST&channel=BUY" },{ "url": "https://www.onthemarket.com/for-sale/property/london/?max-price=500000" }],"listingType": "sale","maxItems": 50}
| Field | Type | Default | Description |
|---|---|---|---|
searchUrls | array | London defaults | Search result URLs from Rightmove, Zoopla, or OnTheMarket. Use the search form on each site to filter by location, price, bedrooms, and property type, then paste the URL here. |
listingType | string | both | Filter by listing type. Options: sale, rent, both. |
maxItems | integer | 15 | Maximum total records to return across all portals in the run. |
Rightmove, Zoopla & OnTheMarket Output Fields
{"listing_id": "88574661","platform": "rightmove","url": "https://www.rightmove.co.uk/properties/88574661","listing_type": "sale","property_type": "apartment","title": "2 bedroom apartment for sale in Pullman Court, Streatham Hill, London, SW2","price_gbp": 500000,"price_qualifier": null,"rental_frequency": null,"bedrooms": 2,"bathrooms": 1,"reception_rooms": null,"area_sqft": null,"tenure": "Leasehold","lease_years": 108,"ground_rent": null,"service_charge": null,"council_tax_band": "D","epc_rating": "B","address": "Pullman Court, Streatham Hill, London, SW2","postcode": "SW2 4ST","town": null,"region": null,"latitude": 51.4498,"longitude": -0.1256,"agent_name": "Barnard Marcus","agent_branch": "Barnard Marcus, Streatham","agent_phone": "020 8769 0000","agency_url": "https://www.barnardmarcus.co.uk","images": "https://media.rightmove.co.uk/property-photo/88574661/image-0.jpeg,https://media.rightmove.co.uk/property-photo/88574661/image-1.jpeg","floorplan": "https://media.rightmove.co.uk/floorplan/88574661/floorplan-0.jpeg","description": "A well-proportioned two-bedroom apartment in the iconic Pullman Court development...","features": "Porter service, Residents parking, Private garden","listed_at": "2024-11-03","price_history": "[{\"date\":\"2024-11-03\",\"price\":510000},{\"date\":\"2025-01-15\",\"price\":500000}]","last_sold_price": 425000,"last_sold_date": "2019-06-14","scrapedAt": "2026-05-15T23:38:32.337Z"}
| Field | Type | Description |
|---|---|---|
listing_id | string | Portal-native listing ID |
platform | string | Source portal: rightmove, zoopla, or onthemarket |
url | string | Canonical listing URL on the source portal |
listing_type | string | sale or rent |
property_type | string | Property type — Flat, Detached house, Semi-detached house, Terraced house, etc. |
title | string | Full listing title |
price_gbp | integer | Asking price in GBP |
price_qualifier | string | Guide price, Offers over, Fixed price, etc. |
rental_frequency | string | pcm or pw for rental listings |
bedrooms | integer | Number of bedrooms |
bathrooms | integer | Number of bathrooms |
reception_rooms | integer | Number of reception/sitting rooms |
area_sqft | number | Floor area in square feet, where available |
tenure | string | Freehold, Leasehold, Share of freehold, or Commonhold |
lease_years | integer | Remaining lease years for leasehold properties |
ground_rent | number | Annual ground rent in GBP |
service_charge | number | Annual service charge in GBP |
council_tax_band | string | UK council tax band (A–H) |
epc_rating | string | Energy Performance Certificate rating (A–G) |
address | string | Full display address |
postcode | string | UK postcode |
town | string | Town or city |
region | string | UK region or county |
latitude | number | Latitude coordinate |
longitude | number | Longitude coordinate |
agent_name | string | Estate agent company name |
agent_branch | string | Agent branch name or location |
agent_phone | string | Agent contact phone |
agency_url | string | Agent website or profile URL |
images | string | Comma-separated list of property image URLs |
floorplan | string | Floorplan image URL |
description | string | Full property description |
features | string | Comma-separated key property features |
listed_at | string | Date first listed (ISO date) |
price_history | string | JSON array of price changes with date and amount (Zoopla) |
last_sold_price | integer | Last sold price from Land Registry in GBP (Zoopla) |
last_sold_date | string | Date of last sale (ISO date, Zoopla) |
scrapedAt | string | ISO-8601 timestamp when the record was scraped |
🔍 FAQ
How do I scrape Rightmove, Zoopla, and OnTheMarket at the same time?
The actor handles all three in one run. Provide search URLs from any combination of the three portals in searchUrls. If you only provide Rightmove URLs, only Rightmove is scraped — and that is fine.
How much does this actor cost to run?
The actor charges $0.10 per start and $0.001 per record. A run returning 100 listings costs roughly $0.20. Zoopla adds overhead from the Cloudflare bypass, but it is baked into the pricing.
Does the scraper handle Zoopla's Cloudflare protection?
Yes. Zoopla uses a managed Cloudflare Turnstile challenge that blocks most plain HTTP scrapers. This actor solves it automatically using a residential proxy and a captcha solver. You do not configure anything — it works, or logs a warning and skips Zoopla seeds if the solve fails.
Can I get price history and sold prices?
Price history and last-sold data come from Zoopla, which surfaces Land Registry data on listing detail pages. Rightmove and OnTheMarket do not expose this. Include at least one Zoopla search URL in your input to capture these fields.
Do I need to supply search URLs?
No. If searchUrls is empty, the actor falls back to default London for-sale searches on Rightmove and OnTheMarket. Useful for testing. For production, paste the exact search URL from the portal's own search interface with your preferred filters applied.
Need More Features?
Need additional portals, custom field extraction, or region-specific coverage? File an issue or get in touch.
Why Use the Rightmove, Zoopla & OnTheMarket Scraper?
- Tri-portal coverage — One actor, one run, one schema. Most scrapers pick one portal and stop. This one does all three and hands you a consistent output regardless of source.
- Leasehold detail — Returns tenure type, remaining lease years, ground rent, and service charge. The fields that matter when evaluating a flat purchase, and the ones most scrapers leave blank.
- Price history from Zoopla — Captures the Land Registry sold-price integration that Zoopla surfaces on detail pages, giving you a trail of price changes that Rightmove does not offer.