# Zoopla Find Agents (`burbn/zoopla-agents-list`) Actor

Instantly find and extract agents from Zoopla UK. Get real-time contact details and listing performance stats for any location. Fast, reliable, and perfect for building high-quality B2B real estate lead lists.

- **URL**: https://apify.com/burbn/zoopla-agents-list.md
- **Developed by:** [Kevin](https://apify.com/burbn) (community)
- **Categories:** Lead generation, Real estate, Automation
- **Stats:** 5 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.00 / 1,000 results

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/actors/running/actors-in-store.md#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

## 🏢 Zoopla Agents List

Extract estate agents, letting agents, and commercial agents from Zoopla UK. This powerful Apify actor retrieves comprehensive agent data including contact details, listing statistics, and property market insights.

### 🎯 What This Actor Does

This actor allows you to:

- **Find estate agents** - Search by location to get a complete list of agents in any UK area
- **Search by company name** - Look up specific agent companies on Zoopla
- **Get contact details** - Agent name, phone number, and office address
- **Access listing statistics** - Average asking price, weeks on market, available listings
- **Residential & commercial data** - Both for sale and to rent stats
- **Auto-pagination** - Automatically scrapes all pages of results

### 🚀 How to Use

#### Step 1: Set Your Search

You can search by:

1. **Location** - Enter a location in lowercase (e.g., `birmingham`, `greenwich-royal-borough`, `station/greenwich`)
2. **Company Name** - Search for a specific agent company (e.g., `Bairstow Eves`)

#### Step 2: Configure the Actor

| Input | Description | Default |
|-------|-------------|---------|
| `location` | Location to search (lowercase) | `birmingham` |
| `companyName` | Agent/company name to search | - |
| `searchType` | Type of agent to search | `estate-agents` |
| `agentsSort` | Sort order for results | `a_z` |
| `radius` | Search radius in miles (0-40) | `0` |
| `maxPages` | Max pages to scrape (0 = all) | `0` |

#### Step 3: Run and Get Results

Run the actor and download your data in JSON, CSV, or Excel format.

### 📊 Output Data Structure

Each agent result contains:

#### 🏢 Agent Information

| Field | Description |
|-------|-------------|
| `agentId` | Zoopla Agent ID |
| `displayName` | Agent display name |
| `name` | Agent name |
| `description` | Agent description/about |
| `displayAddress` | Office address |
| `contactNumber` | Phone number |
| `featured` | Whether the agent is featured |
| `zooplaUrl` | Direct link to Zoopla agent profile |

#### 🖼️ Logo

| Field | Description |
|-------|-------------|
| `logoUrl` | Agent logo image URL |
| `logoWidth` | Logo width |
| `logoHeight` | Logo height |

#### 🏠 Residential For Sale Statistics

| Field | Description |
|-------|-------------|
| `residentialForSale_avgAskingPrice` | Average asking price |
| `residentialForSale_avgWeeksOnMarket` | Average weeks on market |
| `residentialForSale_availableListings` | Number of available listings |

#### 🏘️ Residential To Rent Statistics

| Field | Description |
|-------|-------------|
| `residentialToRent_avgAskingPrice` | Average asking rent |
| `residentialToRent_avgWeeksOnMarket` | Average weeks on market |
| `residentialToRent_availableListings` | Number of available listings |

#### 🏗️ Commercial For Sale Statistics

| Field | Description |
|-------|-------------|
| `commercialForSale_avgAskingPrice` | Average asking price |
| `commercialForSale_avgWeeksOnMarket` | Average weeks on market |
| `commercialForSale_availableListings` | Number of available listings |

#### 🏪 Commercial To Rent Statistics

| Field | Description |
|-------|-------------|
| `commercialToRent_avgAskingPrice` | Average asking rent |
| `commercialToRent_avgWeeksOnMarket` | Average weeks on market |
| `commercialToRent_availableListings` | Number of available listings |

### 📋 Example Input

#### Search by Location

```json
{
  "location": "birmingham",
  "searchType": "estate-agents",
  "agentsSort": "a_z"
}
```

#### Search by Company Name

```json
{
  "companyName": "Bairstow Eves",
  "searchType": "estate-agents"
}
```

#### Search Letting Agents with Radius

```json
{
  "location": "greenwich",
  "searchType": "letting-agents",
  "radius": 5,
  "maxPages": 3
}
```

### 📋 Example Output

```json
{
  "searchLocation": "Birmingham",
  "agentId": 122074,
  "displayName": "10X Rising",
  "name": "10X Rising",
  "description": "",
  "displayAddress": "25 Institute Road, Birmingham, B14 7EG",
  "contactNumber": "0121 721 7690",
  "featured": false,
  "uriName": "10x-rising-birmingham-122074",
  "zooplaUrl": "https://www.zoopla.co.uk/find-agents/agent/10x-rising-birmingham-122074/",
  "logoUrl": "https://st.zoocdn.com/zoopla_static_agent_logo_(749567).png",
  "logoWidth": "140",
  "logoHeight": "70",
  "residentialForSale_avgAskingPrice": 2073333,
  "residentialForSale_avgWeeksOnMarket": 94,
  "residentialForSale_availableListings": 3,
  "residentialToRent_avgAskingPrice": 3936,
  "residentialToRent_avgWeeksOnMarket": 110,
  "residentialToRent_availableListings": 2,
  "commercialForSale_avgAskingPrice": 999999,
  "commercialForSale_avgWeeksOnMarket": 105,
  "commercialForSale_availableListings": 1,
  "commercialToRent_avgAskingPrice": 241,
  "commercialToRent_avgWeeksOnMarket": 108,
  "commercialToRent_availableListings": 5
}
```

### 🎨 Dataset Views

The actor provides 2 organized table views:

| View | Description |
|------|-------------|
| **Overview** | Quick view with agent name, address, phone, featured status, and Zoopla URL |
| **Listing Statistics** | Complete listing stats for residential & commercial (sale & rent) |

### 🔧 Tips for Best Results

1. **Use lowercase locations** - Location values must be in lowercase (e.g., `birmingham`, `greenwich-royal-borough`)
2. **Adjust radius** - Increase search radius to find more agents in surrounding areas
3. **Use maxPages** - Limit pages if you only need a subset of results
4. **Sort options** - Use `highest_avg_price` or `lowest_avg_price` to find agents by price range

### 📌 Use Cases

- **Real Estate Lead Generation** - Build agent contact lists for marketing campaigns
- **Market Research** - Analyze agent density and pricing in specific UK areas
- **Agent Comparison** - Compare listing stats across agents in a location
- **Competitor Analysis** - Track which agents are active and featured in target areas
- **Property Market Insights** - Understand average prices and time on market by area

### 🎁 Get $5 Free Apify Credits

New to Apify? [Sign up using this link](https://apify.com?fpr=free-credits) and get **$5 free credits** to start scraping right away! No credit card required.

### 📞 Support

For questions, feedback, or issues, please contact us through Apify or open an issue.

***

**Happy scraping! 🏢✨**

# Actor input Schema

## `location` (type: `string`):

Enter a location in lowercase. Examples: greenwich, greenwich-royal-borough, station/greenwich, schools/primary/greenwich-steiner-school. Either 'location' or 'companyName' is required.

## `companyName` (type: `string`):

Search by agent/company name. You can ignore 'location' parameter when passing value into 'companyName'. Example: Bairstow Eves

## `searchType` (type: `string`):

Type of agent to search for.

## `agentsSort` (type: `string`):

How to sort the agent results.

## `radius` (type: `integer`):

The radius in miles to look for agents (0 - 40). Default: 0

## `maxPages` (type: `integer`):

Maximum number of pages to scrape. Set 0 for all pages. Default: 0 (all pages)

## Actor input object example

```json
{
  "location": "birmingham",
  "searchType": "estate-agents",
  "agentsSort": "a_z",
  "radius": 0,
  "maxPages": 1
}
```

# Actor output Schema

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

View all agents with name, address, contact number, and featured status.

## `listingStats` (type: `string`):

View agent listing statistics including average asking price, weeks on market, and available listings.

# 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 = {
    "location": "birmingham"
};

// Run the Actor and wait for it to finish
const run = await client.actor("burbn/zoopla-agents-list").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 = { "location": "birmingham" }

# Run the Actor and wait for it to finish
run = client.actor("burbn/zoopla-agents-list").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 '{
  "location": "birmingham"
}' |
apify call burbn/zoopla-agents-list --silent --output-dataset

```

## MCP server setup

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

```

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/ChhlznlV7pq9MTtyp/builds/7PCqwjhIaPkRw7nYY/openapi.json
