ParseForge Scrapers

Zoopla UK Property Listings Scraper

parseforge/zoopla-scraper

AutomationMARKETINGReal estate

Scrapes Zoopla property listings for sale and to rent across the UK. Search by location or postcode with filters for price, bedrooms, property type, and keywords. Returns each listing as a flat row with address, price, description, and agent details.

Run this scraper See the API call
Total users
22
Monthly active
1
Total runs
355
Bookmarked
0
Rating
Not rated yet
Last modified
12 days ago

Overview

ParseForge

Zoopla UK Property Listings Scraper

Scrape UK property listings from Zoopla by location, postcode, or direct URL, with full filters for price, bedrooms, and property type. Every listing returns its asking price, address, description, floor plans, and agent details. Export to CSV, JSON, Excel, or XML.

Zoopla's website is built for browsing one page at a time, which makes collecting property data for market analysis slow and manual. This actor reads the public search results and listing pages directly, applies your price, bedroom, and property type filters as it goes, and returns every match in a consistent flat schema. It works for both sales and lettings, across any UK location or postcode.

Who uses it What they scrape Zoopla for
Estate agents Monitor competitor pricing and stock levels in their local area.
Property investors Identify below-market-value opportunities by comparing asking prices across a postcode.
Data analysts Build UK housing market datasets for price trend modelling and reports.
Lettings managers Track rental yields and furnishing trends in specific city districts.

What it does

This Actor collects Zoopla property listings for sale or to rent by location, postcode, or direct URL, and returns each one as a flat row with price, address, description, and agent details.

  • 🏠 For sale and to rent: switch between sales listings and lettings with one dropdown.
  • πŸ“ Location and postcode search: target a city, area, or full UK postcode like SW1A 1AA.
  • πŸ”— Direct URL mode: paste a Zoopla search or listing URL and scrape exactly that page, ignoring all filters.
  • πŸ’° Price range filter: set minimum and maximum price in GBP to narrow results to your budget band.
  • πŸ›οΈ Bedroom count filter: specify a minimum and maximum number of bedrooms.
  • 🏒 Property type filter: restrict results to detached, semi-detached, terraced, flats, bungalows, land, or park homes.
  • πŸ“… Added since filter: only return listings published in the last 24 hours, 3 days, week, fortnight, or month.
  • πŸ”‘ Keyword search: filter by words found in the property description, like 'garden', 'garage', or 'period'.
  • πŸ›‹οΈ Furnishing filter for rentals: choose furnished, unfurnished, or part-furnished when scraping lettings.
  • πŸ“ Radius control: set a search radius in miles from your chosen location, from a quarter mile up to 40 miles.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

What you can do with Zoopla data

πŸ“Š Monitor competitor pricing.

An estate agent runs the actor weekly on their town's postcode, filters for three-bedroom semi-detached houses, and compares asking prices against their own listings.

🏑 Find investment opportunities.

A property investor scrapes all flats for sale under Β£200,000 in Manchester, filters by 'garden' in the keywords, and shortlists properties with outdoor space.

πŸ“ˆ Track rental market shifts.

A lettings manager scrapes furnished two-bedroom flats to rent in London zones 1 and 2 each month, tracking how asking rents move by postcode.

πŸ—ΊοΈ Build a local market dataset.

A data analyst scrapes all property types across a county, exports to CSV, and feeds the price and bedroom data into a regional housing model.

Why choose this scraper

What you get
Flat output schema Every listing arrives as one row with the same columns, ready for spreadsheets or databases.
No login or API key Reads the public Zoopla pages directly, so there is no registration or rate-limiting to manage.
Full filter support Price, bedrooms, property type, furnishing, keywords, radius, and recency filters all applied during the run.
Sales and lettings One actor covers both the for-sale and to-rent markets across the whole UK.

How it compares

This actor focuses on active listing data with a full set of search filters. The competitors below also scrape Zoopla and offer additional data points like sold prices and valuations.

Feature ParseForge Zoopla Property Scraper Zoopla Scraper - UK Property API Β· Sale + Rent + Valuations
For-sale and to-rent listings Yes Yes Yes
Location and postcode search Yes Yes Yes
Full property description text Yes Yes Not listed
Sold price history Not listed Yes Not listed
Sale and rent valuation estimates Not listed Yes Yes
Furnishing filter for rentals Yes Not listed Not listed
Keyword search within descriptions Yes Not listed Not listed

Configure the run

Drive the Actor from a location, postcode, or direct Zoopla URL, and filters run as each listing is read so only matches reach your dataset. The Input tab lists every parameter.

A first run with the defaults:

{
 "maxItems": 10,
 "listingType": "for-sale",
 "location": "London"
}

A larger pull:

{
 "maxItems": 200,
 "listingType": "for-sale",
 "location": "London"
}

Pricing

Pay-per-result: $0.007 per result collected. You pay only for the results written to your dataset.

Results collected Approximate cost
100 results $0.70
1,000 results $7.00
10,000 results $70.00

New Apify accounts start with $5 in free credit.

Free users

Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.

Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the Zoopla UK Property Listings Scraper.
  3. Set your inputs and any filters, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.

Use with AI agents (MCP)

Give an AI agent live access to Zoopla through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/zoopla-scraper"

Then prompt it in plain language to run the scraper and read back the results.

Troubleshooting

Why am I getting no results?

Check that your location is spelled correctly and that your filters are not too restrictive. Try broadening the price range, removing the keywords filter, or increasing the radius to see if listings exist for that combination.

The actor returns fewer results than I see on the Zoopla website.

Confirm your Max Items setting is high enough. Also check that your filters match what you entered on the website. Zoopla sometimes shows slightly different results between visits.

I am getting blocked or seeing captchas.

Add a proxy configuration in the optional Proxy Configuration field. Residential proxies work best if you are running many requests in a short period.

The Start URL is not working.

Make sure the URL is a full Zoopla search results page or listing page URL, starting with https://www.zoopla.co.uk. When a Start URL is set, all filter fields are ignored.

The furnishing filter is not applying.

The furnishing filter only works when Listing Type is set to 'To Rent'. For sales listings, this filter is ignored even if a value is selected.

FAQ

Question Answer
Can I scrape both for-sale and to-rent listings with this actor? Yes. Use the Listing Type dropdown to choose 'For Sale' or 'To Rent'. The actor uses the same filters for both, and the furnishing filter activates for rentals.
How do I scrape a specific Zoopla search result page? Paste the full Zoopla URL into the Start URL field. When a Start URL is provided, all other filters are ignored and the actor scrapes exactly that page.
What locations can I search? You can search by city name, area name, or full UK postcode. The radius filter lets you expand or narrow the search around that point.
Does this actor return sold price history? This actor returns active listing data from Zoopla's search results and listing pages. Sold price history is not included in the current output.
Can I filter by property type? Yes. The Property Type dropdown lets you choose from detached, semi-detached, terraced, flat, bungalow, land, and park home, or leave it on 'Any'.
How many listings can I scrape in one run? Free accounts are limited to 10 items as a preview. Paid accounts can set a Max Items value up to 1,000,000 per run.
Do I need a proxy to scrape Zoopla? A proxy is not required for normal use. The Proxy Configuration field is available if you experience blocking, but most runs work without it.
What format does the data export in? You can export your dataset in CSV, JSON, Excel, or XML from the Apify platform after the run completes.
Can I search for keywords inside property descriptions? Yes. The Keywords field filters listings to only those whose descriptions contain your search terms, such as 'garage' or 'period features'.
Does the actor handle Zoopla's pagination automatically? Yes. It follows the pagination links on search results pages and stops when it reaches your Max Items limit or there are no more pages.

Related actors

Browse the full ParseForge collection for more scrapers.

πŸ†˜ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.

⚠️ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by Zoopla Limited. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.

Input

FieldTypeWhat it doesDefault
startUrl string Direct Zoopla listing page URL to scrape. If provided, all filters below are ignored. not set
maxItems integer Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000. 10
listingType string (2 options) Whether to search properties for sale or to rent. for-sale
location string City, area, or postcode to search in (e.g. 'London', 'Manchester', 'SW1A 1AA'). London
minPrice integer Minimum property price in GBP. not set
maxPrice integer Maximum property price in GBP. not set
minBedrooms integer Minimum number of bedrooms. not set
maxBedrooms integer Maximum number of bedrooms. not set
propertyType string (8 options) Type of property to search for. not set
radius number Search radius in miles from the specified location (e.g. 0.25, 0.5, 1, 3, 5, 10, 20). not set
addedSince string (6 options) Only show listings added within this time period. not set
keywords string Keywords to search within property descriptions (e.g. 'garden', 'garage', 'period'). not set
furnishingType string (4 options) Furnishing preference for rental properties only. not set
proxyConfiguration object Optional. Not required for Zoopla. Only use if you experience blocking. not set

Pricing

from $5.00 per 1,000 results

Charged forWhat it isPrice each
result Single result in the default dataset. $0.005 to $0.007

Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.

API

One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.

POST Β· run and get results
curl -X POST "https://api.apify.com/v2/acts/parseforge~zoopla-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "helloWorld": 123
  }'

Examples

Input that runs as-is.

input.json
{
  "helloWorld": 123
}

Reviews

No reviews yet. Be the first.

Issues

We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.

Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.

Related scrapers

Run Zoopla UK Property Listings Scraper on Apify All scrapers