Zoopla Search Scraper(Cheap)
Pricing
from $3.99 / 1,000 results
Zoopla Search Scraper(Cheap)
Collect UK property listings from any Zoopla search. Enter search URLs or location keywords, the actor scrapes prices, addresses, postcodes, bedrooms, bathrooms, agent details, GPS coordinates, and images. Run multiple searches per run with automatic pagination. For-sale and to-rent both supported.
Pricing
from $3.99 / 1,000 results
Rating
0.0
(0)
Developer
Data API
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Share
Zoopla Property Search Scraper

Watching the UK property market on Zoopla usually means scrolling page after page and copying out the price, address, and agent for every listing by hand. This scraper does the copying for you. Paste a Zoopla search link or type a town name, and each listing comes back as a tidy row with the price, postcode, bedrooms, agent, and map coordinates already split into fields. It pages through the results on its own, it's cheap and code-free, and you only pay for the listings you pull.
What you get
Every Zoopla listing comes back as one row, grouped into three kinds of data:
- Property and location —
listingRef,headline,fullAddress,postalCode,homeType,bedroomCount,bathroomCount,floorAreaSqft,mapLat,mapLng, plus thelistingUrl - Price and listing state —
priceLabel,priceValue,currencyCode,dealType,statusFlag,isUnderOffer,isFeatured,listedDate - Agent, media, and run info —
agentLabel,contactPhone,summaryText,photoLinks,collectedAt,sourceQuery
Quick start
- Open zoopla.co.uk, apply your filters (area, price, bedrooms, property type), and copy the link from the address bar.
- Hit Try for free and paste that link into Zoopla search links — or type a town name into Location keywords instead.
- Set a Listings cap per input to decide how many results you pull per search.
- Press Start, then export the rows as JSON, CSV, Excel, or XML.

Use cases
- Price tracking — follow asking prices and rents across a city or postcode and catch reductions early
- Investment research — filter by price, bedrooms, and home type to score for-sale or rental stock against your criteria
- Area comparison — line up price, bedroom count, and home type across several towns in one run
- Agent and lead research — collect estate and letting agent names and phone numbers from live listings
- Portfolio monitoring — keep an eye on under-offer status, new listings, and price flags for homes you're watching
- Market dashboards — feed fresh Zoopla data into your own sheet, BI tool, or model
Input
| Field | Type | Required | Description |
|---|---|---|---|
listingUrls | array of strings | One of listingUrls or searchTerms | Full Zoopla search links copied from your browser; each is crawled on its own. Prefilled with a Bristol for-sale search. |
searchTerms | array of strings | One of listingUrls or searchTerms | Plain location keywords like Leeds or Cardiff; each becomes its own Zoopla search using the category below. |
searchCategory | string | No | For keyword searches, choose for-sale or to-rent. Ignored for pasted links. Default for-sale. |
resultsLimit | integer | No | Top number of listings to gather per link or keyword. Default 50. |
pageLimit | integer | No | Top number of result pages to walk through per link or keyword. Default 5. |
timeoutSeconds | integer | No | Seconds to wait on each request before giving up. Default 45. |
Example input
{"listingUrls": ["https://www.zoopla.co.uk/for-sale/property/bristol/?q=Bristol"],"searchTerms": ["Leeds", "Cardiff"],"searchCategory": "for-sale","resultsLimit": 50,"pageLimit": 5,"timeoutSeconds": 45}
Output
Every listing on the search results becomes one row, paginated automatically up to your limit. Fields that Zoopla does not publish for a given property — floor area, a second bathroom, coordinates — come back as null rather than guessed.
Example output
{"listingRef": "73070889","listingUrl": "https://www.zoopla.co.uk/for-sale/details/73070889/","headline": "3 bed semi-detached house for sale","priceLabel": "£285,000","priceValue": 285000,"currencyCode": "GBP","fullAddress": "Maple Avenue, Bishopston, Bristol BS7","postalCode": "BS7","bedroomCount": 3,"bathroomCount": 1,"homeType": "semi-detached","floorAreaSqft": null,"summaryText": "A well-presented three-bedroom semi-detached home in Bishopston, close to Gloucester Road shops and well-rated schools.","photoLinks": ["https://lid.zoocdn.com/800/600/a1b2c3d4e5f6.jpg","https://lid.zoocdn.com/800/600/b2c3d4e5f6a1.jpg"],"agentLabel": "Greenfield & Co","contactPhone": "0117 244 1234","listedDate": "2026-06-24T10:22:00","statusFlag": "Just added","isUnderOffer": false,"isFeatured": false,"dealType": "for-sale","mapLat": 51.480123,"mapLng": -2.587456,"collectedAt": "2026-06-30T09:14:22.841Z","sourceQuery": "https://www.zoopla.co.uk/for-sale/property/bristol/?q=Bristol"}
Output fields
| Field | Type | Description |
|---|---|---|
listingRef | string | Zoopla's own unique code for the listing |
listingUrl | string | Link to the property's detail page on Zoopla |
headline | string | Listing headline, e.g. "3 bed semi-detached house for sale" |
priceLabel | string | Asking price or monthly rent with its currency symbol |
priceValue | integer | The price as a bare whole number, ready for sorting |
currencyCode | string | Three-letter currency code, usually GBP |
fullAddress | string | Complete property address with area and postcode |
postalCode | string | UK postcode pulled out of the address |
bedroomCount | integer | Number of bedrooms |
bathroomCount | integer | Number of bathrooms |
homeType | string | Detached, semi-detached, terraced, flat, bungalow, and so on |
floorAreaSqft | integer | Internal floor area in square feet when Zoopla publishes it |
summaryText | string | Short marketing blurb from the listing |
photoLinks | array | Full-size property photo URLs |
agentLabel | string | Estate or letting agent name |
contactPhone | string | Phone number listed for the agent |
listedDate | string | ISO 8601 date the listing first appeared |
statusFlag | string | Marketing flag such as "Just added" or "Reduced" |
isUnderOffer | boolean | true when the property is currently under offer |
isFeatured | boolean | true when the listing is a premium featured placement |
dealType | string | for-sale or to-rent |
mapLat | number | Latitude coordinate of the property |
mapLng | number | Longitude coordinate of the property |
collectedAt | string | ISO 8601 timestamp of when the row was captured |
sourceQuery | string | The search link or keyword that surfaced this listing |
Tips for best results
- Filter on Zoopla first. Set your area, price band, minimum bedrooms, and home type before copying the link — the scraper pulls exactly what that search shows, so a tighter search means a cleaner dataset.
- Keywords are great for quick multi-town runs. Type a few town names into
searchTermsfor broad coverage; for precise postcode or price-band control, a pasted link is more reliable. resultsLimitandpageLimitwork together. Each page holds about 25 listings, so apageLimitof 5 gives you up to roughly 125 results per search. The run stops at whichever cap it reaches first.- Run it on a schedule. Re-running the same search over time builds a price history —
collectedAtmakes it easy to see what moved between runs. - Raise
timeoutSecondsif large result sets start tripping timeout errors.
How can I use Zoopla property data?
How can I use the Zoopla Property Search Scraper to track UK house prices?
Paste a Zoopla search link for your target area and run it on a schedule. Each row carries priceLabel, priceValue, fullAddress, and listedDate, so you can chart asking prices over time and flag reductions the day they show up.
How can I compare towns on Zoopla by bedrooms and price?
Drop several town names into searchTerms and run them in one go. With priceValue, bedroomCount, homeType, and postalCode on every row, you get a clean side-by-side read on where the value sits across areas.
How can I build a UK property dataset for investment research?
Feed in one or more search links, set resultsLimit to the volume you need, and export to CSV or Excel. The result is a structured property database — address, price, bedrooms, agent, and coordinates — that you can score against your own buy-to-let or flip criteria.
How do I pull estate agent contacts from Zoopla listings?
Run a search for your market and each row returns agentLabel and contactPhone alongside the property, so you can build an agent lookup or contact list straight from live for-sale and to-rent listings.
Is it legal to scrape data?
Our actors are ethical and do not extract any private user data, such as email addresses or private contact information. They only extract what the user has chosen to share publicly. We therefore believe that our actors, when used for ethical purposes by Apify users, are safe.
However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.
You can also read Apify's blog post on the legality of web scraping.
Support
Questions, feature requests, or a field you'd like added? Reach out at data.apify@proton.me and we'll get back to you.