Zoopla Property Scraper - UK Listings, Geo & No Login
Pricing
$4.00 / 1,000 listing scrapeds
Zoopla Property Scraper - UK Listings, Geo & No Login
Scrape Zoopla UK for-sale and to-rent listings with price, address, bedrooms, bathrooms, floor size and exact lat/long coordinates. No login needed. $0.004 per listing.
Pricing
$4.00 / 1,000 listing scrapeds
Rating
0.0
(0)
Developer
Gio
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Why use this scraper
Zoopla is one of the UK's largest property portals, but pulling listings out of it by hand does not scale. Every manual search means opening pages one by one, copying address, price and bedroom count into a spreadsheet, and starting over the moment you want to track a different town or a different week. If you are building a property comparison site, feeding a lead list for estate agents, monitoring price changes across a region, or just want a clean dataset of what is for sale or to rent in a given UK area, scraping the site by hand is not realistic past a handful of listings.
This Actor automates that work. Give it a UK location and whether you want properties for sale or to rent, and it returns structured data for every listing it finds: title, price, currency, address, property type, bedrooms, bathrooms, floor size (when published), exact latitude/longitude, the listing URL and a photo. No Zoopla account, no login and no browser extension required. It runs on Apify's infrastructure, so you can call it from the API, schedule it, or chain it into a larger pipeline without maintaining your own scraper.
Overview
The Actor takes a UK location string (town, city, or postcode-adjacent area name), a listing type (for-sale or to-rent), and a maximum number of listings to fetch. It paginates through Zoopla's public search results for that location and listing type, parses each result, and pushes one dataset item per property. A run for a typical town finishes in well under a minute for small batches (a handful of listings) and scales linearly with maxItems, since the Actor fetches one search results page per batch of listings rather than opening every individual listing page. Output is a standard Apify dataset: downloadable as JSON, CSV, Excel, or queryable via the API.
Supported inputs
- Location + listing type (default mode). Set
locationto any UK town, city or area name Zoopla recognizes in its search (e.g."london","manchester","leeds"), andlistingTypeto"for-sale"or"to-rent". This is the only input mode the Actor needs; there is no separate "search by postcode" or "search by agent" mode, since Zoopla's own location search already accepts postcodes, neighbourhoods and town names interchangeably. - Max listings.
maxItems(1 to 100) caps how many properties the run returns, and the Actor stops paginating once it hits that number, so you control both cost and run time directly.
Use cases
- Property data aggregators and comparison sites that need a feed of current for-sale or to-rent listings for specific UK towns, refreshed on a schedule, instead of licensing a feed from a third party.
- Estate agents and letting agents researching what competitors are listing in their catchment area: price points, how many bedrooms are on the market, and what is actually available right now versus what agents claim.
- Market researchers and investors tracking asking prices across a region over time, by running the same location weekly and comparing price distributions, or scanning several towns to spot where stock is cheapest relative to size.
- Relocation and moving services that want to show clients a live snapshot of what is on the market in a destination town, without sending clients to click through Zoopla's own interface.
- Lead generation tools that turn fresh "to-rent" listings into a contact list for landlords or letting agents who might need software, insurance, or property management services.
How it works
The Actor requests Zoopla's public search results pages for the location and listing type you give it, the same pages a visitor sees without logging in, and reads the structured listing data embedded in those pages rather than trying to read rendered text off the screen. That is what lets it return exact numeric fields (price, bedroom count, coordinates) reliably instead of guessing from visible labels, and it is also why the Actor does not need a Zoopla account, a browser session, or cookies to work: every field comes from the same public page a browser would load anonymously.
Input configuration
Mode 1: search a city for sale (default)
{"location": "london","listingType": "for-sale","maxItems": 25}
Mode 2: search a town for rent
{"location": "manchester","listingType": "to-rent","maxItems": 50}
Mode 3: small batch for a quick check
{"location": "leeds","listingType": "for-sale","maxItems": 5}
Output sample
Real items from a run against location: "london", listingType: "for-sale":
[{"title": "3 bed flat for sale","price": 1353000,"currency": "GBP","url": "https://www.zoopla.co.uk/new-homes/details/74539291/","image": "https://lid.zoocdn.com/645/430/affdcc65e6781b846688d8f35283342e7f2fcdbf.jpg","address": "Wandsworth, Wandsworth SW18","propertyType": "Apartment","bedrooms": 3,"bathrooms": null,"floorSizeValue": null,"floorSizeUnit": null,"latitude": 51.458702,"longitude": -0.192364,"listingType": "for-sale","scrapedAt": "2026-10-19T09:17:06.217Z"},{"title": "1 bed flat for sale","price": 385000,"currency": "GBP","url": "https://www.zoopla.co.uk/new-homes/details/67890887/","image": "https://lid.zoocdn.com/645/430/9718bdf31c61d4279763b71a6b3182b91fd618e9.jpg","address": "\"Wilkinson Apartments\" at 245 Burlington Road, New Malden, London KT3","propertyType": "Apartment","bedrooms": 1,"bathrooms": 1,"floorSizeValue": null,"floorSizeUnit": null,"latitude": 51.400634,"longitude": -0.238833,"listingType": "for-sale","scrapedAt": "2026-10-19T09:17:06.217Z"}]
Key output fields
| Field | Type | Description |
|---|---|---|
title | string | Short listing headline, e.g. "3 bed flat for sale". |
price | number | Asking price (for-sale) or rent amount (to-rent), in the listing's currency. |
currency | string | Currency code of price, normally "GBP". |
url | string | Direct link to the listing on zoopla.co.uk. |
image | string | URL of the listing's primary photo. |
address | string | Address or development name as published by the agent. |
propertyType | string | Property category, e.g. "Apartment", "Terraced house". |
bedrooms | number | Number of bedrooms, when published. |
bathrooms | number or null | Number of bathrooms, when published; otherwise null. |
floorSizeValue | number or null | Floor size figure, when the agent published one. |
floorSizeUnit | string or null | Unit for floorSizeValue (e.g. "sq ft"), when present. |
latitude | number | Listing's geographic latitude. |
longitude | number | Listing's geographic longitude. |
listingType | string | Echoes the input: "for-sale" or "to-rent". |
scrapedAt | string | ISO timestamp of when the item was scraped. |
Pricing
Pay-per-event pricing, charged only for listings actually returned:
| Event | Price |
|---|---|
| Listing scraped | $0.004 per listing |
A run with maxItems: 25 that returns a full batch costs $0.10. There is no separate per-run or per-start charge; you only pay for listings delivered.
What makes this richer than the competition
Most Zoopla scrapers on the Apify Store return the listing card fields (title, price, address) and stop there. This Actor also returns exact latitude/longitude for every listing, which the card itself does not show and which is what you need to plot results on a map or compute distance to a point of interest, without a separate geocoding step. Compared to azzouzana/zoopla-scraper (23 users/30 days), which focuses on agent email enrichment as its differentiator, and tri_angle/fast-zoopla-properties-scraper (19 users/30 days), which is optimized for raw throughput, this Actor is built for anyone who needs the listing data itself, with coordinates included by default and no separate enrichment step to configure.
Notes & limitations
bathroomsandfloorSizeValue/floorSizeUnitarenullwhenever Zoopla's own listing does not publish that figure; the Actor does not estimate or infer them.locationmust be a UK area Zoopla's own search recognizes; the Actor does not validate or auto-correct location names.- This Actor does not fetch agent contact details, mortgage estimates, or historical price data; it returns what is on the current search results for the location and listing type you provide.
- Results depend on what Zoopla currently has listed; delisted properties stop appearing on the next run.
FAQ
Does this need a Zoopla account or login? No. It reads the same public search results any visitor sees without signing in.
Can I search by postcode instead of a town name? Use whatever location string Zoopla's own search box accepts; it typically resolves both town names and postcode-adjacent area names.
Can I get both for-sale and to-rent listings in one run?
Not in a single run. Run the Actor twice with listingType set to "for-sale" and "to-rent" for the same location.
Why are some fields null?
bathrooms and floor size are only published by the agent on some listings. When Zoopla's own page does not show a value, the Actor returns null rather than guessing.
How many listings can I get in one run?
Up to 100 per run via maxItems. For more, run the Actor again with different locations or on a schedule.
Does it include sold or let-agreed properties? No, it returns what is currently listed as available for the listing type you chose.
For AI Agents & LLM Apps
This Actor works as a tool call for AI agents through the Apify MCP server (mcp.apify.com) or directly via the Apify API.
Direct API call (run-sync-get-dataset-items):
curl "https://api.apify.com/v2/acts/gio21~zoopla-property-scraper/run-sync-get-dataset-items?token=<YOUR_TOKEN>" \-H "Content-Type: application/json" \-d '{"location": "london", "listingType": "for-sale", "maxItems": 25}'
The call blocks until the run finishes and returns the dataset items directly, which is convenient for an agent that needs UK property data as part of a larger task without managing run polling itself.
Disclaimer
This Actor is an independent tool that reads publicly available search results from zoopla.co.uk. It is not affiliated with, endorsed by, or sponsored by Zoopla Limited. "Zoopla" is a trademark of its respective owner, referenced here only to describe which site this Actor searches.
SEO Keywords
Zoopla scraper, Zoopla property scraper, UK property listings API, Zoopla for sale scraper, Zoopla to rent scraper, UK real estate data, Zoopla listings scraper.