Zoopla UK Properties Scraper
Pricing
from $5.00 / 1,000 property scrapeds
Zoopla UK Properties Scraper
Scrape Zoopla.co.uk UK property listings for sale and to rent by location or URL. Returns price, beds, baths, address, coordinates, images; optional detail enrich. Cloudflare cleared via Apify Unblocker (GB). MCP-ready.
Pricing
from $5.00 / 1,000 property scrapeds
Rating
0.0
(0)
Developer
Khadin Akbar
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
9 days ago
Last modified
Categories
Share
Turn a Zoopla search URL, detail URL, or UK place name into structured for-sale and to-rent listing rows. UK investors, lettings teams, and AI agents get price, bedrooms, bathrooms, address, coordinates, floor size, images, and listing URLs in one Apify dataset, ready for comps, CRM import, or MCP workflows.
Best fit for this Actor
- Pull current Zoopla for-sale inventory for a city or postcode with price, beds, baths, address, and GPS.
- Monitor Zoopla to-rent stock for lettings comps with monthly rent and listing URLs.
- Enrich known Zoopla detail URLs when search cards need tenure or a longer description.
- For multi-portal UK coverage that also includes sold prices and estate agents, continue with Rightmove All-in-One Scraper after you finish the Zoopla extract.
London for-sale comps in one run
A UK investor sets searchLocation to London, channel to BUY, and maxItems to 10. The dataset returns one row per listing with id, url, price, bedrooms, bathrooms, displayAddress, and coordinates. Listings under the investor's budget become the shortlist; the rest stay in the sheet for later. A nonsense location finishes SUCCEEDED with VALID_EMPTY and no property-scraped charge, so the workflow stays safe to schedule.
Quick start input
{"searchLocation": "Manchester","channel": "BUY","maxItems": 25,"fetchPropertyDetails": false}
Use startUrls for Zoopla search or detail pages when you already have links. Leave Start URLs empty and set searchLocation plus channel when you want the Actor to build the search.
Input reference
| Field | Type | What it controls |
|---|---|---|
startUrls | array | Zoopla search or detail URLs. Auto-detected mode. |
searchLocation | string | UK place used when Start URLs are empty. Example: London. |
channel | enum | BUY (for sale) or RENT (to rent). Default BUY. |
minPrice / maxPrice | integer | GBP filters on location searches. |
minBedrooms / maxBedrooms | integer | Bedroom filters on location searches. |
fetchPropertyDetails | boolean | Follow detail pages for tenure and longer description. Default false. |
maxItems | integer | Row cap from 1 to 1000. Prefill uses 10. |
What data you receive
One dataset item is one public Zoopla listing card (or enriched detail row).
{"id": "73717271","url": "https://www.zoopla.co.uk/for-sale/details/73717271/","channel": "BUY","propertyTitle": "2 bed flat for sale","displayAddress": "Hampton Tower, South Quay Plaza, Canary Wharf, London E14","price": 1000000,"priceCurrency": "GBP","priceDisplay": "£1,000,000","bedrooms": 2,"bathrooms": 2,"sizeSqFt": 969,"latitude": 51.500961,"longitude": -0.017234,"enriched": false,"scrapedAt": "2026-09-23T12:00:00.000Z"}
| Field | Meaning |
|---|---|
id / url | Listing id and canonical detail URL |
channel | BUY or RENT |
price / priceDisplay | Numeric GBP asking price and display string |
bedrooms / bathrooms / sizeSqFt | Core specs when Zoopla publishes them |
displayAddress / latitude / longitude | Location |
description / tenure | Stronger when detail enrich is enabled |
images | Photo URLs when present on the page |
OUTPUT and RUN_SUMMARY in the default key-value store hold outcome, itemsPushed, and chargedEventCounts.
Use through the API
curl -X POST "https://api.apify.com/v2/acts/khadinakbar~zoopla-scraper/runs" \-H "Authorization: Bearer $APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"searchLocation":"London","channel":"BUY","maxItems":10}'
Download rows as JSON, CSV, Excel, or HTML from the Dataset tab.
Use with AI agents through Apify MCP
Scrape up to 20 Zoopla for-sale listings in Manchester under £400,000 with at least 2 bedrooms. Return id, url, price, bedrooms, displayAddress.
Connect via https://mcp.apify.com. Read OUTPUT.outcome and itemsPushed to interpret empty datasets. Cost signal: about $0.005 per saved listing with Apify platform usage included. Empty valid searches surface as VALID_EMPTY without a property-scraped charge.
Connect the workflow
- After Zoopla for-sale or to-rent rows are in the dataset, expand to sold prices and estate-agent branches with Rightmove All-in-One Scraper.
- For Spanish portal inventory in the same research pack, add Idealista Scraper.
- For US listing search parallel to this UK workflow, use Zillow Search Scraper.
Pricing
Startup billing and empty runs
The apify-actor-start event costs $0.00005 per startup unit. Apify charges one startup unit per GB of allocated memory, with a minimum of one unit, so a 2 GB run incurs two units. This startup charge still applies when input is invalid, no results are found, or an upstream request fails. Statements about free, unbilled, or skipped results refer only to the corresponding result event; they do not waive the startup charge. Apify platform usage is included in the event prices and is not passed through as an additional customer charge. Check the live Pricing tab for current events, tiers, and rates. Result limits cap result events, not the entire run cost.
This Actor uses Pay per event with Apify platform usage included. The live Pricing tab is the current source of truth for billing details.
apify-actor-start: $0.00005 per runproperty-scraped: $0.005 per saved listing
A ten-listing London prefill is about $0.05 in result events with Apify platform usage included. Search cards already carry price, beds, baths, address, and GPS; detail enrich adds request usage without a second PPE event.
Best results
- Prefer Zoopla search URLs when you already have radius or postcode filters dialed in.
- Keep
maxItemsnear 10–25 on first runs so pagination stays cheap while you confirm the area. - Leave the built-in Unblocker GB route enabled; it is tuned for Zoopla's public pages.
- Typo or empty locations finish
SUCCEEDEDwithVALID_EMPTYand zero listing charges.
Builder's note
I found that Zoopla's public search HTML embeds a JSON-LD SearchResultsPage ItemList with Product cards and related RealEstateListing fields, which is enough for price, beds, baths, address, and GPS without a browser. Location searches resolve reliably through Zoopla's /search/?q=§ion= geo path rather than bare property-slug URLs, so cities such as Leeds and Croydon return the same structured cards as London. Keeping detail enrich optional lets agents pay Unblocker usage only when tenure or a longer description is needed.
Responsible use
Use this Actor on public Zoopla listing pages you are authorized to process, follow applicable law and Zoopla's terms, and keep the output in your own compliance workflow. Zoopla is a trademark of its owners. This independent Actor is not affiliated with, associated with, or endorsed by Zoopla Limited.
Issues and feature requests: use the Actor Issues tab on Apify.