Zoopla Scraper avatar
Zoopla Scraper

Pricing

Pay per usage

Go to Apify Store
Zoopla Scraper

Zoopla Scraper

Extract property listings, sales history, and rental data from Zoopla, the UK's leading real estate platform. Perfect for detailed market analysis and investment insights. To ensure seamless extraction and prevent blocking, the use of residential proxies is strongly recommended.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Shahid Irfan

Shahid Irfan

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

13 hours ago

Last modified

Share

Zoopla Property Listings Scraper


πŸ“‹ Description

Zoopla Property Listings Scraper is a powerful Apify actor designed to extract comprehensive property data from Zoopla.co.uk, the leading UK property portal. This scraper efficiently collects property listings including prices, addresses, specifications, agent information, and high-quality images for real estate analysis, market research, property investment research, and competitive intelligence.

The actor handles pagination automatically and provides structured, clean data ready for analysis or integration into your applications. Whether you're building a property database, conducting market research, or monitoring real estate trends, this scraper delivers reliable results with minimal configuration.


🎯 Use Cases

This scraper is ideal for various real estate and data applications:

  • Real Estate Market Research β€” Analyze UK property prices, trends, and market conditions across different regions and property types.
  • Property Investment Analysis β€” Collect comprehensive property data to identify investment opportunities and evaluate property values.
  • Estate Agent Lead Generation β€” Build databases of property listings with agent contact information for business development.
  • Property Comparison Tools β€” Aggregate listing data to create comparison platforms and property search engines.
  • Academic and Data Science Projects β€” Obtain clean, structured property data for research and machine learning applications.
  • Property Portal Development β€” Seed databases with existing listings when building new property platforms.
  • Price Monitoring β€” Track price changes over time for specific areas or property types.

πŸš€ Getting Started

Quick Start

  1. Open the actor page on Apify
  2. Click Try it out to run with default settings
  3. Configure input parameters as needed
  4. Click Run to start the scraping job

Prerequisites


βš™οΈ Input Configuration

Configure the scraper using the following parameters. All parameters are optional β€” the scraper will use sensible defaults if not specified.

Input Schema

ParameterTypeRequiredDefaultDescription
startUrlstringNoZoopla London listingsSingle Zoopla search URL to scrape. Must be a valid Zoopla.co.uk URL.
startUrlsarrayNoβ€”Array of multiple URLs to crawl in a single run. Overrides startUrl.
results_wantedintegerNo50Maximum number of property listings to collect. Range: 1-500.
max_pagesintegerNo5Maximum number of pages to scrape per URL. Each page typically contains 25 listings.
maxConcurrencyintegerNo2Number of concurrent browser pages. Lower values increase reliability but reduce speed.
proxyConfigurationobjectNoUK ResidentialProxy settings for making requests (see below).

Example Input

{
"startUrl": "https://www.zoopla.co.uk/for-sale/property/london/",
"results_wanted": 100,
"max_pages": 5,
"maxConcurrency": 2,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"],
"countryCode": "GB"
}
}

URL Examples

Get started with these URL patterns:

Search TypeURL Pattern
Properties for salehttps://www.zoopla.co.uk/for-sale/property/{location}/
Properties to renthttps://www.zoopla.co.uk/to-rent/property/{location}/
New homeshttps://www.zoopla.co.uk/new-homes/for-sale/{location}/

πŸ“Š Output Structure

The scraper returns a comprehensive JSON array containing detailed property information. Each listing includes multiple data points for complete property analysis.

Data Fields

FieldTypeDescription
listingIdstringUnique Zoopla listing identifier
urlstringDirect URL to the property listing page
titlestringProperty title or listing headline
pricenumberAsking price in numeric format (GBP)
priceValuenumberNumeric price value for calculations
priceCurrencystringCurrency code (always "GBP")
priceTextstringFormatted price string (e.g., "Β£325,000")
addressstringFull property address
postalCodestringUK postal code
localitystringTown or city name
bedsnumberNumber of bedrooms
bathsnumberNumber of bathrooms
propertyTypestringProperty type (Flat, House, Bungalow, etc.)
descriptionstringFull property description text
imagestringURL to main property image
agentNamestringListing estate agent or property developer
sourcestringData extraction method identifier
scrapedAtstringISO 8601 timestamp of extraction

Example Output

[
{
"listingId": "72064206",
"url": "https://www.zoopla.co.uk/for-sale/details/72064206/",
"title": "2 bed flat for sale",
"price": 325000,
"priceValue": 325000,
"priceCurrency": "GBP",
"priceText": "Β£325,000",
"address": "Birdhurst Rise, South Croydon CR2",
"postalCode": "CR2",
"locality": "London",
"beds": 2,
"baths": 1,
"propertyType": "Flat",
"description": "Stunning two-bedroom first-floor period conversion apartment with original features throughout.",
"image": "https://lid.zoocdn.com/u/2400/1800/a1b2c3d4.jpg",
"agentName": "Barnard Marcus",
"source": "json-ld",
"scrapedAt": "2026-01-07T11:00:00.000Z"
}
]

πŸ”§ Proxy Configuration

Proper proxy configuration is essential for reliable data extraction. Zoopla implements protection measures that require appropriate proxy setup.

{
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"],
"countryCode": "GB"
}
}

Proxy Type Comparison

Proxy TypeSuccess RateNotes
UK ResidentialHighRecommended for best results
Residential (other)MediumMay work with reduced success
DatacenterLowNot recommended, high failure rate
No proxyVery LowWill likely fail

Important: Residential proxies with UK (countryCode: "GB") geolocation provide the highest success rate. Using datacenter proxies or proxies without country specification will significantly reduce reliability.


⚑ Performance Tips

Optimize your scraping runs with these recommendations:

  • Limit results per run: For best reliability, keep results_wanted under 200 listings
  • Reduce concurrency: Lower maxConcurrency to 1-2 for improved success rate
  • Balance pages and results: Fewer pages with more results per page is more efficient
  • Monitor usage: Large scraping jobs consume more compute units

❓ Frequently Asked Questions


πŸ› οΈ Troubleshooting

Common Issues and Solutions

Request Blocked or Access Denied

  • Verify proxy configuration uses UK residential proxies
  • Reduce maxConcurrency to 1
  • Decrease results_wanted and max_pages
  • Wait several minutes before retrying

Empty or Incomplete Data

  • Some fields may be empty if not provided by the listing
  • Zoopla listings vary in completeness
  • The scraper captures all available data for each property

Timeout Errors

  • Reduce the number of concurrent requests
  • Limit results_wanted to a smaller number
  • Increase timeout settings in your Apify run configuration

Slow Performance

  • Increase maxConcurrency (up to 5) for faster scraping
  • Reduce max_pages if not all pages are needed
  • Consider running multiple smaller jobs instead of one large job

Explore other Apify actors for extended functionality:


πŸ“„ Changelog

Version 2.1.0

  • Enhanced data extraction with improved field coverage
  • Optimized pagination handling for large result sets
  • Better error recovery and retry mechanisms
  • Improved output data structure

Version 2.0.0

  • Major architecture improvements
  • Enhanced data completeness
  • Improved reliability and error handling

Version 1.0.0

  • Initial release
  • Basic property data extraction

πŸ“ License

This project is licensed under the ISC License. See the LICENSE file for details.


🀝 Support and Contributing

Getting Help

Contributing

Contributions are welcome! Please feel free to submit issues and pull requests on the GitHub repository.