Zoopla Property Scraper - UK Listings, Geo & No Login avatar

Zoopla Property Scraper - UK Listings, Geo & No Login

Pricing

$4.00 / 1,000 listing scrapeds

Go to Apify Store
Zoopla Property Scraper - UK Listings, Geo & No Login

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

Gio

Maintained by Community

Actor 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 location to any UK town, city or area name Zoopla recognizes in its search (e.g. "london", "manchester", "leeds"), and listingType to "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

FieldTypeDescription
titlestringShort listing headline, e.g. "3 bed flat for sale".
pricenumberAsking price (for-sale) or rent amount (to-rent), in the listing's currency.
currencystringCurrency code of price, normally "GBP".
urlstringDirect link to the listing on zoopla.co.uk.
imagestringURL of the listing's primary photo.
addressstringAddress or development name as published by the agent.
propertyTypestringProperty category, e.g. "Apartment", "Terraced house".
bedroomsnumberNumber of bedrooms, when published.
bathroomsnumber or nullNumber of bathrooms, when published; otherwise null.
floorSizeValuenumber or nullFloor size figure, when the agent published one.
floorSizeUnitstring or nullUnit for floorSizeValue (e.g. "sq ft"), when present.
latitudenumberListing's geographic latitude.
longitudenumberListing's geographic longitude.
listingTypestringEchoes the input: "for-sale" or "to-rent".
scrapedAtstringISO timestamp of when the item was scraped.

Pricing

Pay-per-event pricing, charged only for listings actually returned:

EventPrice
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

  • bathrooms and floorSizeValue/floorSizeUnit are null whenever Zoopla's own listing does not publish that figure; the Actor does not estimate or infer them.
  • location must 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.