# Zillow B2b Lead Generator Email Scraper (`solid-scraper/zillow-b2b-lead-generator-email-scraper`) Actor

📧 Zillow B2B Lead Generator Email Scraper extracts verified business email leads from Zillow for targeted outreach. 🎯 Faster prospecting for agencies, real estate teams & sales—start building your pipeline instantly.

- **URL**: https://apify.com/solid-scraper/zillow-b2b-lead-generator-email-scraper.md
- **Developed by:** [SolidScraper](https://apify.com/solid-scraper) (community)
- **Categories:** Lead generation, Real estate, Automation
- **Stats:** 2 total users, 1 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.99 / 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.

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

### Zillow B2b Lead Generator Email Scraper 🔍

**Zillow B2b Lead Generator Email Scraper** automatically finds real estate agents and realtors on Zillow and extracts their contact emails (and email domains) in a structured dataset. Whether you’re a marketer building a targeted outreach list, a researcher collecting lead data, or a data analyst enriching contact records, this Zillow B2B lead generator helps solve the hard part: turning public agent pages into usable lead-ready information at scale—saving you hours of manual work.

***

### Why choose Zillow B2b Lead Generator Email Scraper?

| Feature | Benefit |
|---|---|
| ✅ **All-in-one lead extraction** | Extracts agent profile details and emails into one dataset run |
| ✅ **Reliability with fallback scraping engines** | Lets you choose a scraping method for better reliability across runs |
| ✅ **Cost-controlled scaling** | Uses a maximum email limit (`maxEmails`) to control output size |
| ✅ **Structured dataset output** | Produces consistent fields for easy import into CRMs and spreadsheets |
| ✅ **Batch-friendly search** | Uses `searchTerms` (zip codes, cities, or agent names) to generate targeted lead lists |
| ✅ **Country-localized discovery** | Targets specific `country` values for localized agent discovery |

***

### Key features

- 📬 **Zillow leads email extraction**: Pulls emails and email domains from agent profile pages into a clean, tabular dataset
- 🌐 **Flexible search terms**: Use zip codes, cities, or agent names as `searchTerms` to find relevant contacts
- 🧭 **Country targeting**: Choose a `country` to focus discovery and improve list relevance for Zillow targeted lead lists
- 🛡️ **Resilient scraping options**: Select a scraping `engine` that matches your needs (Performance or Standard)
- 🔢 **Output sized for production**: Control results with `maxEmails` (1–10000) so you can build lead lists without overshooting
- 💾 **Structured, export-ready results**: Every extracted lead is saved with consistent fields like `url`, `title`, `email`, and `email_domain`

***

### Input

Provide input via an `input.json` file. Example structure:

```json
{
  "searchTerms": ["Los Angeles", "90210", "New York Real Estate"],
  "country": "United States",
  "sourceRegion": "All",
  "engine": "legacy",
  "maxEmails": 20
}
```

#### Input Fields

| Key | Required | Description |
|---|---:|---|
| `searchTerms` | ✅ | Zip codes, cities, or agent names to search for on Zillow. Provide one or more values to generate your targeted lead list. |
| `country` | ✅ | Select the country for localized agent discovery (for example, “United States”). |
| `sourceRegion` | ✅ | Content type selection. This actor currently supports only `All` (Agent Profiles). |
| `engine` | ❌ | Choose the scraping engine. `legacy` is labeled “Standard” in the UI, while `cost-effective` is labeled “Performance (New)”. |
| `maxEmails` | ✅ | Limit the number of emails to collect (minimum 1, maximum 10000). Use this to control output size and run cost. |

***

### Output

The actor saves each extracted lead’s data into a dataset in **JSON format**.

Example output item (as stored in the dataset fields):

```json
[
  {
    "searchTerm": "Los Angeles",
    "title": "Agent Name",
    "url": "https://www.zillow.com/agent-profile/...",
    "description": "Agency / Bio",
    "email": "name@company.com",
    "email_domain": "company.com",
    "source_region": "All",
    "country": "United States"
  }
]
```

#### Output Fields

| Field | Type | Description |
|---|---|---|
| `searchTerm` | string | The search term that produced this result |
| `title` | string | The agent name captured from the profile |
| `url` | string | Agent profile URL |
| `description` | string | Agency / bio text captured from the profile |
| `email` | string | Extracted email address |
| `email_domain` | string | Domain part of the extracted email (e.g. `company.com`) |
| `source_region` | string | Content type used for the run (displayed as “Type” in the dataset UI) |
| `country` | string | Country used for localized agent discovery |

Note: The dataset view is configured as a table (“Extracted Leads”) and includes a link field that shows **View Profile** for `url`.

***

### How to use Zillow B2b Lead Generator Email Scraper (via Apify Console)

1. **Open Apify Console**\
   Log in at https://console.apify.com and open the **Actors** section.

2. **Find the actor**\
   Search for **Zillow B2b Lead Generator Email Scraper** in the Marketplace/Actors search and open the actor page.

3. **Go to the Input section**\
   In the actor page, find the **INPUT** panel and enter values in the fields:
   - `searchTerms` (array of zip codes, cities, or agent names)
   - `country` (target country)
   - `sourceRegion` (use `All`)
   - `engine` (optional)
   - `maxEmails` (email limit)

4. **Tune engine & output size**\
   If you want faster runs, choose `engine: "cost-effective"` (Performance). If you prefer the labeled Standard behavior, use `engine: "legacy"`. Set `maxEmails` to control how many emails you want collected.

5. **Start the run**\
   Click **Run**. Watch the logs while the actor extracts and saves leads.

6. **Monitor progress**\
   During execution, the actor will build out your extracted lead list and store results as it goes.

7. **Open the dataset and export**\
   After completion, open the **OUTPUT** tab to access the dataset named **Zillow Leads Data** with the default view **Extracted Leads**, then export the results to your preferred format (JSON/CSV available in the dataset UI).

No coding required — get accurate Zillow targeted lead lists in minutes with **Zillow B2b Lead Generator Email Scraper**.

***

### Advanced features & SEO optimization

- ⚙️ **Engine selection for different priorities**: Pick `engine: "cost-effective"` (Performance (New)) or `engine: "legacy"` (Standard) to align with your speed and reliability expectations for Zillow email scraper for leads workflows.
- 🔁 **Better run control with `maxEmails`**: Cap results so you can generate a Zillow leads email extraction batch that fits your outreach schedule.
- 🧾 **Clean lead-ready schema**: Consistent fields like `title`, `url`, `email`, and `email_domain` make this Zillow data scraping software easier to feed into downstream pipelines.
- 🌍 **Targeted discovery by country**: Use the `country` selector to improve relevance for Zillow contact info scraper use cases.
- 🔍 **Designed for B2B outreach lists**: This Zillow B2B lead generator is built around agent profile discovery and email collection for B2B real estate lead scraper email tasks.

***

### Best use cases

- 📈 **Real estate marketers building outreach lists**: Generate Zillow business leads email list data tied to agent profile URLs for faster campaigns.
- 🧠 **Lead researchers validating contact coverage**: Compare email domains across regions using Zillow leads database email style analysis from `email_domain`.
- 🤝 **Proptech teams automating lead sourcing**: Run this Zillow agent contact email scraper as part of a recurring lead generation tool job.
- 🏡 **Realtor operations teams scaling capacity**: Extract emails and profile bios to support web scraping leads for realtors workflows.
- 🛠️ **Data analysts enriching CRM records**: Use `title`, `url`, and `country` to join lead datasets with internal account data.
- 💼 **BD teams qualifying leads for follow-ups**: Build a Zillow targeted lead list where each row includes an actionable `email` and `email_domain`.
- 👨‍💻 **Developers ingesting structured lead data**: Use the dataset output fields to automate uploads into your own CRM pipeline or reporting dashboard.

***

### Technical specifications

- **Supported Input Formats**
  - ✅ `searchTerms` as an array of strings (zip codes, cities, or agent names)
  - ✅ `country` as a string (select from the provided country list)
  - ✅ `sourceRegion` as a string (currently `All` for Agent Profiles)
  - ✅ `engine` as a string (`cost-effective` or `legacy`)
  - ✅ `maxEmails` as an integer (1–10000)

- **Proxy Support**
  - ✅ Built-in proxy support for reliable scraping (engine choice affects approach labeled in the UI)

- **Retry Mechanism**
  - ✅ Includes retries and fallbacks for resilience during scraping

- **Dataset Structure**
  - ✅ Stored in the **Zillow Leads Data** dataset
  - ✅ Default view: **Extracted Leads** (table display)

- **Rate Limits & Performance**
  - ✅ Designed for batch processing with configurable output size using `maxEmails`

- **Limitations**
  - ❌ Results depend on publicly available contact information being present on agent profiles
  - ❌ If a profile does not expose an email, it won’t produce an `email` value for that lead record

***

### FAQ

#### Does Zillow B2b Lead Generator Email Scraper require authentication?

✅ No. It’s designed to scrape and extract information from publicly available sources based on your `searchTerms` and `country`.

#### What data does it extract from each Zillow agent profile?

✅ It saves fields including `title`, `url`, `description`, `email`, and `email_domain`, along with `searchTerm`, `source_region`, and `country` for context.

#### Can I limit how many emails are collected?

✅ Yes. Use the `maxEmails` input to cap the number of emails the actor will collect (min 1, max 10000).

#### What does `sourceRegion` mean here?

✅ For this actor, `sourceRegion` is the content type selector. The schema indicates only `All` is available (Agent Profiles).

#### Which `engine` should I choose: cost-effective or legacy?

✅ `engine: "cost-effective"` is labeled “Performance (New)” while `engine: "legacy"` is labeled “Standard”. If you want faster scraping as indicated by the UI, use “Performance (New)”; otherwise choose “Standard”.

#### What output format will I get?

✅ The actor saves extracted results into a dataset in JSON format, and the default dataset view is displayed as a table using the fields configured for that view.

#### Is this actor compliant for lead generation use?

✅ It can help you collect contact info from publicly available sources, but compliance with applicable privacy laws, spam regulations, and platform terms is your responsibility.

#### Can I integrate the results into my workflow?

✅ Yes. Because the dataset includes structured fields like `url`, `email`, and `email_domain`, it’s straightforward to export and use in common marketing and data workflows.

***

### Support & feature requests

If you’re using Zillow B2b Lead Generator Email Scraper and want to share feedback, we’d love to hear from you.

- 💡 **Feature Requests:** Suggest enhancements like CSV export improvements, additional output fields, or more filtering options for Zillow email scraper for leads style workflows.
- 📧 **Contact:** Email us at <dataforleads@gmail.com>.

Your feedback helps shape the roadmap for Zillow B2B lead generator email extraction and targeted lead list quality.

***

- *Build faster Zillow targeted lead lists with the most comprehensive, SEO-optimized Zillow B2b Lead Generator Email Scraper.* \*

# Actor input Schema

## `searchTerms` (type: `array`):

Zip codes, cities, or agent names to search for on Zillow.

## `country` (type: `string`):

Select the country for localized agent discovery.

## `sourceRegion` (type: `string`):

Select content type: Agent Profiles (Default).

## `engine` (type: `string`):

Select your preferred scraping method. ⚡ Performance (New): Faster, cheaper, uses residential proxies. 🛡️ Standard: Reliable, uses GOOGLE\_SERP proxy, but slower.

## `maxEmails` (type: `integer`):

Limit the number of emails to collect.

## Actor input object example

```json
{
  "searchTerms": [
    "Los Angeles",
    "New York Real Estate",
    "90210"
  ],
  "country": "United States",
  "sourceRegion": "All",
  "engine": "legacy",
  "maxEmails": 20
}
```

# 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 = {
    "searchTerms": [
        "Los Angeles",
        "New York Real Estate",
        "90210"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("solid-scraper/zillow-b2b-lead-generator-email-scraper").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 = { "searchTerms": [
        "Los Angeles",
        "New York Real Estate",
        "90210",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("solid-scraper/zillow-b2b-lead-generator-email-scraper").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "searchTerms": [
    "Los Angeles",
    "New York Real Estate",
    "90210"
  ]
}' |
apify call solid-scraper/zillow-b2b-lead-generator-email-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=solid-scraper/zillow-b2b-lead-generator-email-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/j48Yn4h6meOM8mmSK/builds/ZKNPhg1eKJkMbydY5/openapi.json
