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.
- Total users
- 22
- Monthly active
- 1
- Total runs
- 355
- Bookmarked
- 0
- Rating
- Not rated yet
- Last modified
- 12 days ago
Overview
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
- Create a free Apify account with $5 in credit.
- Open the Zoopla UK Property Listings Scraper.
- Set your inputs and any filters, then click Start.
- 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
| Field | Type | What it does | Default |
|---|---|---|---|
| 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 for | What it is | Price 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.
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.
{
"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
