# Zillow Phone Number Scraper (`scraperoka/zillow-phone-number-scraper`) Actor

📞 Zillow Phone Number Scraper extracts verified phone numbers from Zillow listings for targeted real estate leads. 🚀 Fast, efficient, and great for B2B prospecting, sales outreach, and market research. ✅ Streamline contact discovery today!

- **URL**: https://apify.com/scraperoka/zillow-phone-number-scraper.md
- **Developed by:** [Scraperoka](https://apify.com/scraperoka) (community)
- **Categories:** Lead generation, Real estate, Automation
- **Stats:** 2 total users, 1 monthly users, 100.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 Phone Number Scraper 🚀

Manually collecting phone numbers from Zillow profiles and bios wastes hours you don’t have. **Zillow Phone Number Scraper** pulls phone numbers from Zillow using your keywords and country targeting—ideal for marketers, recruiters, and growth teams who need leads fast. This Zillow phone number scraper (and Zillow contact info scraper) is built to help you scrape Zillow phone numbers at scale, so you can build outreach lists in minutes rather than days.

***

### What You Get: Sample Output

Here's a sample record from a single run:

```json
{
  "platform": "Zillow",
  "keyword": "marketing",
  "title": "Example Zillow Profile Title",
  "description": "No data",
  "url": "https://www.zillow.com/",
  "phone_number": "+447911123456",
  "country": "United Kingdom",
  "dial_code": "+44"
}
```

| Field | Type | What It Tells You |
|---|---|---|
| `platform` | string | Confirms the source platform label used for each lead record. |
| `keyword` | string | Which keyword you used to find this contact (useful for reporting and iteration). |
| `title` | string | The profile/result title associated with the extracted phone number. |
| `description` | string | The text content the phone number was extracted from (helps you verify relevance). |
| `url` | string | The associated profile/result URL so you can audit the source record. |
| `phone_number` | string | The extracted phone number in E.164 format for consistent dialing and deduping. |
| `country` | string | The country you targeted for phone number extraction. |
| `dial_code` | string | The dial code tied to your selected country (handy for localization and validation). |

Export your dataset as JSON, CSV, or Excel — straight from the Apify dashboard.

***

### Why Zillow Phone Number Scraper?

There are a lot of ways to pull data from Zillow—here’s what sets **Zillow Phone Number Scraper** (including a Zillow listing phone number extractor and Zillow leads phone scraper) apart.

#### Keyword and country targeting for better relevance

Zillow Phone Number Scraper uses your `keywords` input along with your selected `country` to focus extraction on the most relevant public content. This is what makes a Zillow phone number data extraction run feel more “lead-ready” than raw scraping.

#### Built for bulk extraction with smart stop conditions

You can cap results using `maxPhoneNumbers`, so you can stop after you’ve collected enough data. This makes Zillow phone numbers bulk download runs easier to control during testing, campaigns, or list-building sprints.

#### Deduplicated phone numbers for cleaner datasets

Phone numbers are tracked so duplicates aren’t repeatedly pushed into the dataset. For teams building call lists, this reduces wasted CRM imports and keeps your Zillow agent phone number scraper outputs more usable.

#### Resilient long runs with progress saving

The actor maintains progress so interrupted runs can be resumed. For large scraping tasks (Zillow property lead scraper phone workflows), this helps you keep momentum and avoid starting from scratch.

***

### Configuring Your Run

Drop this into your `input.json` to get started:

```json
{
  "keywords": ["marketing", "founder"],
  "location": "California",
  "country": "United States (+1)",
  "maxPhoneNumbers": 50
}
```

| Parameter | Required | What It Does |
|---|---|---|
| `keywords` | ✅ | Enter keywords to search for. These are used to guide which public Zillow content is considered for phone number extraction. |
| `location` | ⬜ | Filter by location (for example, `London` or `California`). Leave empty for global search. |
| `country` | ✅ | Select the country to target for phone numbers (this also controls the phone-number validation region). |
| `maxPhoneNumbers` | ⬜ | Stop scraping after this many phone numbers are found. Higher limits generally mean longer runs. |

***

### Core Capabilities

#### Scrape phone numbers from Zillow profile content

Zillow Phone Number Scraper is designed to scrape phone numbers from Zillow bios, profiles, and post content. If you’re looking for a Zillow property contact scraper or Zillow phone number collector approach, this actor outputs records that are ready for outreach workflows.

#### Target the right region with country selection

Choosing the `country` ensures extracted numbers match the intended region format expectations. This is especially useful when you’re running a Zillow agent contact scraper for a specific geography.

#### Controlled volume with `maxPhoneNumbers`

You can prevent runaway runs by setting `maxPhoneNumbers`. That makes Zillow listing phone number extractor runs more predictable—great for lead campaigns with a clear quota.

#### Structured output pushed to the dataset incrementally

Each result is pushed into the Apify dataset as it’s found, including the source `url`, extracted `phone_number`, and context fields like `keyword`, `title`, `description`, `country`, and `dial_code`. This lets you monitor progress and export when you’re satisfied.

#### Resumable runs for reliability

The actor saves progress and keeps track of already-seen phone numbers. If your run stops early or you need to pause for operations, you can resume without losing the work already captured—ideal for Zillow phone number scraping tool workflows.

***

### Who Gets the Most Out of This

Here's how different teams put Zillow Phone Number Scraper to work:

**Real Estate Marketing Teams** — Use it to scrape Zillow phone numbers for campaign lists by keyword and region, so you can quickly generate a calling shortlist tied to the exact public content it came from.

**Sales Development Representatives** — Filter by the right `country` and use focused keywords to build a cleaner Zillow leads phone scraper dataset, then import results into your dialer or CRM for faster outreach.

**Recruiters and Local Business Lead Gen** — Target specific roles or business interests with `keywords` and optional `location`, collecting phone numbers that match your intended market for faster candidate or partner contact.

**Data Analysts & Researchers** — Build a structured dataset of Zillow phone number data extraction outputs where each record includes `url`, `description`, and standardized `phone_number` formatting for downstream cleaning and enrichment.

**Automation Specialists (Technical Users)** — Integrate Zillow Phone Number Scraper into scheduled workflows, so phone-number collection happens reliably at the cadence your pipeline requires, while output remains consistent for programmatic processing.

***

### Step-by-Step: How to Use It

No coding needed. Here's how to run Zillow Phone Number Scraper from start to finish:

1. **Open the actor on Apify** — go to [console.apify.com](https://console.apify.com) and find **Zillow Phone Number Scraper**.
2. **Enter your inputs** — set `keywords` and `country` (required), and optionally add `location` and `maxPhoneNumbers`.
3. **Configure proxy settings** — enable proxy support in the run options for more reliable scraping on larger workloads.
4. **Hit Run and watch the live log** — monitor progress as phone numbers are found and written to the dataset.
5. **View results in the dataset tab** — each extracted record includes `url`, `phone_number`, and context fields like `keyword` and `dial_code`.
6. **Export as JSON, CSV, or Excel** — download when you’ve reached your desired results for your Zillow listing phone number extractor or Zillow agent phone number scraper use case.

The whole process takes under 5 minutes to set up.

***

### Integrations & Export Options

Once your data is collected, Zillow Phone Number Scraper plugs directly into your existing workflow.

You can export your dataset as **JSON, CSV, or Excel** from the Apify dataset tab, making it easy to share with teammates or import into tools that accept spreadsheet formats. Each row includes the extracted `phone_number` plus context fields like `url`, `keyword`, and `dial_code`.

For automation, you can connect your run to your systems via the **Apify API** (see: [apify.com/docs/api](https://apify.com/docs/api)), use **webhooks** for downstream actions after completion, and set up **Zapier/Make** style no-code flows to push results into CRMs and other lead management tools.

***

### Pricing & Free Trial

Zillow Phone Number Scraper runs on the Apify platform, which offers a **free tier** — no credit card required to get started.

You can run small tests using Apify credits and then scale up as needed on paid plans. For up-to-date limits and billing details (including how compute units are charged), check the Apify pricing page. Start for free at [apify.com](https://apify.com) and scale when you're ready.

***

### Reliability & Performance

| What We Handle | How |
|---|---|
| Large scraping tasks | Works for longer runs, and you can stop with `maxPhoneNumbers` when you’ve reached your quota. |
| Deduplication | Avoids pushing the same phone number repeatedly into the dataset. |
| Resumability | Progress is saved so you can continue from where you left off. |
| Error handling behavior | Results are pushed incrementally as they’re found, so partial runs still produce useful data. |
| Data relevance | Uses your `keywords` and `country` selection to focus extraction toward your intended lead sources. |

Limitations: This actor works with publicly available data only. If relevant phone numbers are not present in the matched public content, you may get fewer results—try broader keywords or different country targeting.

For enterprise-scale runs, contact us to discuss custom configurations.

***

### Frequently Asked Questions

#### Is there a free plan or trial?

Yes—Apify provides a free tier so you can run test jobs before scaling up. For larger jobs, you may need a paid plan depending on your run size and platform usage.

#### Do I need to log in to Zillow to use this?

No. Zillow Phone Number Scraper is built to scrape phone numbers from publicly available Zillow content without requiring login.

#### How accurate is the data?

Accuracy depends on what is actually published in the matched public bios, profiles, and post content. The actor extracts phone numbers and outputs them in `phone_number` (E.164) format, so the result is consistent for analysis and outreach.

#### How many results can I get per run?

You control this with `maxPhoneNumbers`. If you don’t set it, the actor still enforces limits depending on whether you’re running on a free or paid plan on the Apify platform.

#### How often is the data updated / how fresh is it?

Freshness depends on when you run the actor—each run scrapes currently accessible public content and writes results to the dataset. For the most up-to-date leads, schedule runs to match your outreach cycles.

#### Is this legal? Does it comply with GDPR / CCPA?

The actor accesses **publicly available data** that users can view without login. It’s your responsibility to ensure your use, storage, and outreach comply with GDPR, CCPA, and any applicable platform terms and local regulations.

#### Can I export results to Google Sheets or Excel?

Yes. You can export from the Apify dataset as JSON, CSV, or Excel and then import into tools like Excel or Google Sheets. You can also automate exports via integrations supported by Apify.

#### Can I run this on a schedule automatically?

Yes. You can trigger Apify actors via the Apify platform scheduling capabilities and run jobs automatically on a cron-like cadence, which is useful for ongoing Zillow property contact scraper lead pipelines.

#### Can I access this via API?

Yes. You can use the Apify API to trigger runs programmatically and retrieve results. API documentation is available at [apify.com/docs/api](https://apify.com/docs/api).

#### What happens if the actor hits an error?

Results are written incrementally as phone numbers are found, so partial datasets are still usable if a run stops early. The actor also saves progress so you can resume rather than losing previously captured phone numbers.

***

### Need Help or Have a Request?

Got a question about Zillow Phone Number Scraper or want a new feature added? Reach out at <dataforleads@gmail.com>. We’re happy to help with usage questions and are open to requests like additional export formats, workflow triggers, or better lead filtering options.

***

### Disclaimer & Responsible Use

*Zillow Phone Number Scraper is the fastest, most reliable way to scrape Zillow leads phone numbers — start your free run today.*

This actor collects **publicly available data** from Zillow. It does not access private accounts, login-gated content, or password-protected pages. You are responsible for complying with GDPR, CCPA, platform Terms of Service, and any local regulations when using and storing the data. For data removal requests, contact <dataforleads@gmail.com>. Use responsibly, ethically, and only for lawful purposes.

# Actor input Schema

## `keywords` (type: `array`):

Enter keywords to search for (e.g., 'Target Keyword').

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

Filter by location (e.g., 'London', 'California'). Leave empty for global search.

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

Select the country to target for phone numbers.

## `maxPhoneNumbers` (type: `integer`):

Stop scraping after this many phone numbers are found. Setting a higher limit extends the scraping duration.

## Actor input object example

```json
{
  "keywords": [
    "marketing",
    "founder"
  ],
  "country": "United Kingdom (+44)",
  "maxPhoneNumbers": 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 = {
    "keywords": [
        "marketing",
        "founder"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("scraperoka/zillow-phone-number-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 = { "keywords": [
        "marketing",
        "founder",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("scraperoka/zillow-phone-number-scraper").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 '{
  "keywords": [
    "marketing",
    "founder"
  ]
}' |
apify call scraperoka/zillow-phone-number-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,scraperoka/zillow-phone-number-scraper"
        }
    }
}

```

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/0QTpOgw2qXAuKNexb/builds/wldbZGp4LOhhfcU98/openapi.json
