Zoopla Agent Scraper avatar

Zoopla Agent Scraper

Pricing

Pay per usage

Go to Apify Store
Zoopla Agent Scraper

Zoopla Agent Scraper

Extract Zoopla estate agent data at scale, including agent names, locations, contact details, listings, branches, and property information. Ideal for UK real estate research, lead generation, market analysis, competitor tracking, and property data workflows.

Pricing

Pay per usage

Rating

5.0

(2)

Developer

Shahid Irfan

Shahid Irfan

Maintained by Community

Actor stats

1

Bookmarked

14

Total users

1

Monthly active users

18 days ago

Last modified

Share

What does Zoopla Agent Scraper do?

Zoopla Agent Scraper collects structured estate agent and branch data from Zoopla directory pages in the United Kingdom. Provide one or more public agent directory URLs and receive clean records with agency names, branch contacts, addresses, ratings, listing activity, pricing indicators, staff details, and profile links.

The dataset is useful for estate agency lead generation, CRM enrichment, local market research, competitor monitoring, branch benchmarking, and recurring property-sector reports. Empty values are omitted so the exported records are easier to filter and use.

Why use Zoopla Agent Scraper?

  • Estate agent lead lists - Build location-focused lists with agency names, branch addresses, phone numbers, profile URLs, and contact links.
  • Branch-level market research - Compare sale and rental listing counts, average asking prices, time-on-market indicators, and commercial activity.
  • CRM enrichment - Add public agency, branch, staff, membership, social, and opening-hours information to existing records.
  • Multi-location collection - Process several Zoopla directory URLs in one run.
  • Clean exports - Download structured JSON, CSV, Excel, XML, or other Apify dataset formats.
  • Repeatable monitoring - Schedule runs and compare saved datasets over time.
  • Proxy-ready collection - Use Apify Proxy settings when collecting larger datasets or when source access is inconsistent.

What data can you extract from Zoopla agents?

FieldDescription
agentIdZoopla agent or branch identifier.
nameMain public agency or branch name.
branchNameBranch name when available.
companyNameParent company or agency brand.
urlZoopla branch profile URL.
contactUrlPublic contact page URL.
branchUriBranch URL identifier.
addressFull branch address.
postalCodeUK postcode when published.
outcodeUK postcode outcode when available.
localityLocal area or city extracted from the address.
phonePublic branch telephone number.
websiteAgency website URL when available.
logoAgency or branch logo URL.
featuredWhether Zoopla marks the branch as featured.
ratingPublic agency rating when available.
reviewCountNumber of public reviews.
listingsForSaleActive residential sale listing count.
listingsToRentActive residential rental listing count.
avgAskingPriceAverage sale asking price indicator.
avgRentPriceAverage rental asking price indicator.
avgWeeksOnMarketSaleAverage sale listing time on market.
avgWeeksOnMarketRentAverage rental listing time on market.
commercialSaleTotalCommercial sale listing count.
commercialRentTotalCommercial rental listing count.
latitude and longitudeBranch coordinates when available.
membershipsProfessional memberships or affiliations.
socialUrlsPublic social profile links.
openingTimesBranch opening schedule when published.
branchImagesBranch image URLs.
staffMembersPublic staff names, roles, and image URLs.
listingsPreviewA small sale and rental listing preview.
sourcePageDirectory page where the branch was found.
searchUrlInput URL associated with the record.
scrapedAtISO timestamp for the collection time.

Fields that Zoopla does not publish for a branch are left out of that record.

How to use Zoopla Agent Scraper

  1. Open the Actor in Apify Console.
  2. Add one or more Zoopla estate agent directory URLs.
  3. Set the desired result limit and page limit.
  4. Enable Apify Proxy for larger or repeated runs when needed.
  5. Start the Actor and review the dataset preview.
  6. Export the results or connect the dataset to another workflow.

Input Parameters

ParameterTypeRequiredDefaultDescription
startUrlsArray of stringsYesLondon agent directory URLOne or more public Zoopla estate agent directory URLs.
results_wantedIntegerNo20Maximum number of agent records to save. No schema-level upper limit is imposed.
max_pagesIntegerNo2Maximum directory pages to process for each URL. No schema-level upper limit is imposed.
proxyConfigurationObjectNoApify Proxy ResidentialProxy settings from the Apify proxy editor.

User-provided results_wanted, max_pages, startUrls, and proxy settings take priority over their defaults. The Actor estimates pages from results_wanted only when max_pages is not supplied. If several URLs are supplied, the result limit applies to the overall run.

results_wanted and max_pages must be at least 1, but neither setting has a schema-level maximum.

Usage Examples

Basic extraction

Collect up to 20 estate agents from the London directory.

{
"startUrls": ["https://www.zoopla.co.uk/find-agents/estate-agents/london/"],
"results_wanted": 20,
"max_pages": 2
}

Multiple locations

Collect agency records from several UK cities in one run.

{
"startUrls": [
"https://www.zoopla.co.uk/find-agents/estate-agents/london/",
"https://www.zoopla.co.uk/find-agents/estate-agents/manchester/",
"https://www.zoopla.co.uk/find-agents/estate-agents/birmingham/"
],
"results_wanted": 120,
"max_pages": 6
}

Larger collection with Apify Proxy

Use Apify Proxy for a broader collection or recurring monitoring run.

{
"startUrls": ["https://www.zoopla.co.uk/find-agents/estate-agents/london/"],
"results_wanted": 250,
"max_pages": 10,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

Run without Apify Proxy

Disable Apify Proxy for a small test or when your own network is suitable.

{
"startUrls": ["https://www.zoopla.co.uk/find-agents/estate-agents/leeds/"],
"results_wanted": 10,
"max_pages": 1,
"proxyConfiguration": {
"useApifyProxy": false
}
}

Sample Output

The following is an example of one dataset item. Actual fields depend on the information published for each branch.

{
"agentId": "162401",
"name": "Foxtons",
"branchName": "Foxtons - Chelsea",
"companyName": "Foxtons",
"url": "https://www.zoopla.co.uk/find-agents/branch/foxtons-chelsea-162401/",
"contactUrl": "https://www.zoopla.co.uk/find-agents/contact/foxtons-chelsea-162401/",
"address": "144-146 King's Road, London",
"postalCode": "SW3 4XB",
"locality": "London",
"phone": "020 0000 0000",
"website": "https://www.foxtons.co.uk/",
"rating": 4.6,
"reviewCount": 84,
"listingsForSale": 49,
"listingsToRent": 12,
"avgAskingPrice": 609082,
"avgRentPrice": 3200,
"latitude": 51.4877,
"longitude": -0.1687,
"sourcePage": 1,
"searchUrl": "https://www.zoopla.co.uk/find-agents/estate-agents/london/",
"scrapedAt": "2026-08-15T10:00:00.000Z"
}

Tips for best results

  • Start with results_wanted: 10 and max_pages: 1 to confirm the URL and output quality.
  • Use public Zoopla directory URLs for the locations you want to analyze.
  • Full Zoopla URLs with query parameters such as q, radius, and search_source are supported, including encoded spaces and pasted surrounding punctuation.
  • Keep a separate run for each large region when you need clearer reporting and easier retries.
  • Use Apify Proxy for larger jobs, scheduled collection, or repeated runs.
  • Store each run's dataset so you can compare listing volumes, prices, and branch coverage over time.
  • Expect some fields to be missing because agencies do not all publish the same information.

Integrations and exports

Apify datasets can be connected to common business and data workflows:

  • Google Sheets - Review and share agency records with a team.
  • Airtable - Build searchable lead and market databases.
  • Make and Zapier - Trigger enrichment, notifications, or CRM actions.
  • Webhooks - Send completed-run events to your systems.
  • Apify API - Retrieve datasets from applications and scheduled workflows.

Available dataset exports include JSON, CSV, Excel, XML, and other formats supported by Apify.

Frequently Asked Questions

Can I collect agents from more than one city?

Yes. Add multiple public Zoopla directory URLs to startUrls and set a result limit that covers the combined collection.

Does the Actor collect branch contact information?

Yes. It returns public phone numbers, addresses, profile URLs, contact URLs, websites, and other branch details when available.

Can I collect listing activity for each branch?

Yes. Records may include sale and rental listing counts, average asking price indicators, time-on-market indicators, commercial listing totals, and a small listing preview.

Do I need to use a proxy?

No for every run. Small tests may work without a proxy, while Apify Proxy is recommended for larger, repeated, or less consistent collections.

Why are some output fields missing?

Zoopla does not publish every field for every branch. The Actor keeps available values and omits empty fields rather than creating misleading placeholders.

Can I schedule recurring collection?

Yes. Create an Apify schedule to run the Actor hourly, daily, weekly, or at another interval, then compare the resulting datasets.

Can I export the results to CSV or Excel?

Yes. Download the dataset from Apify in CSV, Excel, JSON, XML, or another supported format.

Is this Actor suitable for lead generation?

Yes. The output is designed for public agency and branch research, CRM enrichment, market analysis, and contact-list preparation.

Support

For bugs, source changes, or feature requests, use the Issues tab on the Actor page or contact the developer through Apify Console.

This Actor is intended for legitimate collection and analysis of publicly available information. You are responsible for complying with Zoopla's terms, applicable laws, privacy requirements, and responsible data-use practices.