# Zoopla Agents Scraper - Low-cost💲🔥🏠🔎 (`delectable_incubator/zoopla-agents-scraper-low-cost`) Actor

🏠🔎 Extract Zoopla estate agents with ease. Collect agent names, branch IDs, addresses, descriptions, featured status, average listing times, properties for sale, logos, branch pages, contact URLs, & source URLs. Ideal for UK real estate research, agency intelligence & real estate datasets 🇬🇧

- **URL**: https://apify.com/delectable\_incubator/zoopla-agents-scraper-low-cost.md
- **Developed by:** [Prime Scrape](https://apify.com/delectable_incubator) (community)
- **Categories:** Agents, Real estate, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

from $0.00005 / actor start

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

<p align="center">
  <img src="https://i.ibb.co/jkNS73wX/readme.png" alt="Zoopla Find-Agents Scraper" width="100%">
</p>

***

## 🏠🔎 Zoopla Find-Agents Scraper | Bulk Estate Agent Directory Scraper UK | Apify Actor 🇬🇧

### 🚀 Extract Zoopla Estate Agents in Bulk (No Code)

The **Zoopla Find-Agents Scraper (Apify Actor)** is a powerful and scalable real estate intelligence tool designed to extract **estate agents and branch information from Zoopla's Find Agents directory**.

Scrape multiple Zoopla agent directory URLs in a single run with automatic pagination, structured agent data, pricing information, listing statistics, branch details and contact URLs.

Perfect for **UK real estate research, estate agent intelligence, property market analysis, lead generation, competitor research, agency benchmarking, property datasets and real estate business intelligence**.

***

### 🔥 Why This Zoopla Agents Scraper?

✔ Scrape Zoopla estate agents in bulk

✔ Supports **multiple Find Agents URLs**

✔ Automatic pagination

✔ Shared maximum item limit across all URLs

✔ Extract estate agent and branch names

✔ Extract branch addresses

✔ Extract agent descriptions

✔ Identify featured agents

✔ Extract average listing times

✔ Extract average asking prices

✔ Extract properties currently for sale

✔ Extract agent logos

✔ Extract branch page URLs

✔ Extract contact / valuation URLs

✔ Track source search URLs

✔ Record scraping timestamps

✔ UK residential proxy support

✔ Structured JSON / CSV / Excel output

✔ No coding required

✔ Fast & scalable cloud execution

***

### 🎯 What This Scraper Does

This Actor extracts estate agent information directly from **Zoopla Find Agents directory pages**.

Example directory URLs:

```
https://www.zoopla.co.uk/find-agents/estate-agents/london/
```

```
https://www.zoopla.co.uk/find-agents/estate-agents/manchester/
```

The scraper automatically follows Zoopla pagination:

```
?pn=2
?pn=3
?pn=4
...
```

and continues until the configured maximum number of agents is reached or two consecutive pages return no new agents.

***

### ⚡ Input Configuration

#### 🏢 BULK ZOOPLA AGENT URL MODE

Provide one or multiple Zoopla Find Agents directory URLs.

```
{
  "urls": [
    "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/"
  ],
  "maxitems": 50
}
```

Each URL is crawled independently while the `maxitems` limit is shared across all provided URLs.

***

### 📄 Supported Zoopla URLs

The scraper is designed for Zoopla **Find Agents** directory URLs such as:

#### 🇬🇧 London

```
https://www.zoopla.co.uk/find-agents/estate-agents/london/
```

#### 🏙️ Manchester

```
https://www.zoopla.co.uk/find-agents/estate-agents/manchester/
```

You can provide directory pages for different UK cities and locations available on Zoopla.

***

### 📊 Extracted Agent Data

| Field              | Description                   |
| ------------------ | ----------------------------- |
| branch\_id          | Unique Zoopla branch ID       |
| name               | Estate agent / branch name    |
| address            | Branch address                |
| description        | Agent description             |
| featured           | Whether the agent is featured |
| avg\_listing\_time   | Average listing time          |
| avg\_asking\_price   | Average asking price          |
| currently\_for\_sale | Properties currently for sale |
| logo\_url           | Agent logo URL                |
| branch\_url         | Zoopla branch page URL        |
| contact\_url        | Contact / valuation URL       |
| source\_url         | Original Zoopla search URL    |
| scraped\_at         | Extraction timestamp          |

***

### 🏠 Real Estate Intelligence Data

The scraper provides useful information for analyzing UK estate agencies, including:

📍 **Branch Location**

🏢 **Agent / Branch Name**

⭐ **Featured Status**

⏱️ **Average Listing Time**

💷 **Average Asking Price**

🏘️ **Current Properties For Sale**

🖼️ **Agency Logo**

🔗 **Branch Profile**

📞 **Contact / Valuation URL**

This makes the dataset useful for comparing agencies across different UK markets.

***

### 📦 Example Output

```
{
  "branch_id": "123456",
  "name": "Example Estate Agents",
  "address": "123 High Street, London, UK",
  "description": "Leading estate agency specialising in residential property.",
  "featured": true,
  "avg_listing_time": "32 days",
  "avg_asking_price": "£525,000",
  "currently_for_sale": "84",
  "logo_url": "https://example.com/logo.png",
  "branch_url": "https://www.zoopla.co.uk/find-agents/branch/example-estate-agents/",
  "contact_url": "https://www.zoopla.co.uk/contact/example/",
  "source_url": "https://www.zoopla.co.uk/find-agents/estate-agents/london/",
  "scraped_at": "2026-08-11T10:00:00.000Z"
}
```

***

### 💡 Use Cases

This Zoopla estate agent scraper is ideal for:

🏠 **UK Real Estate Research**

🏢 **Estate Agent Intelligence**

📊 **Property Market Analysis**

🧲 **Real Estate Lead Generation**

🔎 **Agency Competitor Research**

💷 **Property Price Intelligence**

📈 **Estate Agency Benchmarking**

🌍 **UK Property Market Research**

🏘️ **Residential Property Intelligence**

📞 **Agency Contact Discovery**

📋 **Real Estate Directory Building**

🤖 **AI Training Datasets**

📊 **Business Intelligence**

⚙️ **Automated Real Estate Data Pipelines**

***

### 🚀 Key Features

⚡ **Bulk Find-Agents URL Scraping**

🏠 **Estate Agent Directory Extraction**

📄 **Automatic `?pn=` Pagination**

🔢 **Shared Item Limit**

🏢 **Branch Information Extraction**

📍 **Address Extraction**

⭐ **Featured Agent Detection**

⏱️ **Listing Time Data**

💷 **Average Asking Price**

🏘️ **Current For-Sale Listings**

🖼️ **Agency Logo Extraction**

🔗 **Branch & Contact URLs**

🕐 **Scraping Timestamp**

🇬🇧 **UK Residential Proxy Support**

📊 **Structured Dataset Output**

***

### 🌐 Proxy Configuration

Zoopla is a UK-focused property platform, so the Actor is configured to use a **UK residential proxy** by default.

```
{
  "useApifyProxy": true,
  "apifyProxyGroups": [
    "RESIDENTIAL"
  ],
  "apifyProxyCountry": "GB"
}
```

🇬🇧 A GB residential proxy is recommended for reliable access to `zoopla.co.uk`.

***

### 📊 Dataset View

The Actor includes a preconfigured **Zoopla Agents Overview** dataset view.

It displays:

- Branch ID
- Agent / Branch Name
- Address
- Description
- Featured Status
- Average Listing Time
- Average Asking Price
- Currently For Sale
- Logo URL
- Branch Page URL
- Contact / Valuation URL
- Source Search URL
- Scraped At

Perfect for:

📊 Filtering

🔍 Agency comparison

📈 Market analysis

📋 Reporting

📤 Dataset export

***

### 📤 Output Formats

Export your Zoopla agent dataset through Apify in:

✔ JSON

✔ CSV

✔ Excel / XLSX

✔ XML

✔ HTML

✔ RSS

***

### 🔥 Why Use This Zoopla Agents Scraper?

✔ Built specifically for Zoopla Find Agents pages

✔ Supports multiple UK locations

✔ Bulk URL processing

✔ Automatic pagination

✔ Shared item limit

✔ Detailed estate agent information

✔ Property listing statistics

✔ Average asking price data

✔ Branch and contact URLs

✔ UK residential proxy support

✔ Structured datasets

✔ No coding required

✔ Ready for automation workflows

✔ Ideal for real estate intelligence

***

### 💸 Pricing

This scraper runs on a **pay-per-result pricing model**.

You only pay for successfully extracted agent records.

💳 **Price: $1.49 / 1,000 results**

***

### ❓ FAQ

#### Can I scrape multiple Zoopla locations?

Yes. Add multiple Find Agents directory URLs to the `urls` input.

#### Does the scraper support pagination?

Yes. The Actor automatically follows Zoopla `?pn=` pagination.

#### Is the item limit per URL?

No. `maxitems` is a **shared total limit across all provided URLs**.

#### When does pagination stop?

The scraper stops when the shared item limit is reached or when two consecutive pages return no new agents.

#### What information can I extract?

The scraper extracts agent names, branch IDs, addresses, descriptions, featured status, average listing times, average asking prices, current properties for sale, logos and branch/contact URLs.

#### Can I find estate agents in different UK cities?

Yes. You can provide Find Agents URLs for different UK cities and areas supported by Zoopla.

#### Does it support UK proxies?

Yes. The default configuration uses Apify Residential proxies with `GB` as the proxy country.

#### Is coding required?

No. This is a fully no-code Apify Actor.

#### Can I export the data?

Yes. Export your dataset in JSON, CSV, Excel and other formats supported by Apify.

***

### ⚠️ Disclaimer

This tool is an independent scraper and is not affiliated with, endorsed by, or sponsored by Zoopla.

***

### 🔗 Related Actors — PrimeScrape Ecosystem

We are building a complete **PrimeScrape Real Estate & Property Intelligence Suite**.

🚀 More property, estate agent, real estate directory, rental and market intelligence scrapers coming soon.

***

### 🌍 PrimeScrape Ecosystem

Built for modern data extraction and automation workflows.

🏠 **Real Estate Intelligence**

🏢 **Estate Agent Intelligence**

🏘️ **Property Market Research**

💷 **Property Price Intelligence**

🧲 **Real Estate Lead Generation**

📊 **Market Intelligence**

🔎 **Competitor Research**

🤖 **AI Training Datasets**

📈 **Business Intelligence**

⚙️ **Automation Pipelines**

🌍 **Large-Scale Data Collection**

***

### 📬 Support

⭐⭐⭐⭐⭐ Leave a review if you enjoy this scraper.

📩 Need custom scraping solutions, enterprise integrations, bulk datasets or dedicated real estate extraction workflows?

Contact **PrimeScrape** directly through Apify.

# Actor input Schema

## `urls` (type: `array`):

One or more Zoopla "find-agents" directory URLs.

Examples:
• https://www.zoopla.co.uk/find-agents/estate-agents/london/
• https://www.zoopla.co.uk/find-agents/estate-agents/manchester/

## `maxitems` (type: `integer`):

Total number of agents to scrape, shared across all the URLs above.

## `proxy` (type: `object`):

RESIDENTIAL proxy required (GB recommended for zoopla.co.uk).

## Actor input object example

```json
{
  "urls": [
    "https://www.zoopla.co.uk/find-agents/estate-agents/london/"
  ],
  "maxitems": 50,
  "proxy": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "GB"
  }
}
```

# Actor output Schema

## `overview` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "urls": [
        "https://www.zoopla.co.uk/find-agents/estate-agents/london/"
    ],
    "maxitems": 50,
    "proxy": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ],
        "apifyProxyCountry": "GB"
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("delectable_incubator/zoopla-agents-scraper-low-cost").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "urls": ["https://www.zoopla.co.uk/find-agents/estate-agents/london/"],
    "maxitems": 50,
    "proxy": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
        "apifyProxyCountry": "GB",
    },
}

# Run the Actor and wait for it to finish
run = client.actor("delectable_incubator/zoopla-agents-scraper-low-cost").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "urls": [
    "https://www.zoopla.co.uk/find-agents/estate-agents/london/"
  ],
  "maxitems": 50,
  "proxy": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "GB"
  }
}' |
apify call delectable_incubator/zoopla-agents-scraper-low-cost --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,delectable_incubator/zoopla-agents-scraper-low-cost"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/9iflwxQTqtionIu2c/builds/seze7ZWYFciBibunY/openapi.json
