# Zillow Agent Profile Scraper (`codenest/zillow-agent-profile-scraper`) Actor

Extract complete bulk data from Zillow agent profiles - names, ratings, reviews, contact details, sales stats (price range/volume), specialties, service areas, and professional badges and more.

- **URL**: https://apify.com/codenest/zillow-agent-profile-scraper.md
- **Developed by:** [CodeNest](https://apify.com/codenest) (community)
- **Categories:** Real estate, Lead generation, Automation
- **Stats:** 3 total users, 2 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per event + usage

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 Agent Profile Scraper - Professional Real Estate Agent Data Extractor

**Effortlessly extract comprehensive real estate agent profiles from Zillow with our powerful **Zillow Agent Profile Scraper**! This Apify actor enables bulk extraction of agent details, reviews, contact information, and complete professional metadata.**

***

### 📋 Overview

Need to analyze real estate agents, build lead generation lists, or research market trends? This **Zillow Agent Profile Scraper** delivers:

- 🏢 **Agent Profile Extraction** - Complete agent information from Zillow
- ⭐ **Review Analytics** - Ratings, review counts, and individual reviews
- 📞 **Contact Data** - Phone numbers, emails, and office addresses
- 📊 **Sales Statistics** - Property sales, price ranges, and transaction history
- 🔍 **Professional Details** - Experience, specialties, service areas, and badges

Perfect for real estate investors 🏠, mortgage brokers 💰, market researchers 📈, and property professionals 🔑!

***

### ⭐ Core Capabilities of Zillow Agent Profile Scraper

#### 🏢 Agent Profile Extraction

- **Complete Agent Data** - Names, companies, and brokerage details
- **Contact Information** - Phone numbers, emails, and office addresses
- **Professional Badges** - Top Agent status and verified credentials
- **Experience Metrics** - Years of experience and professional history

#### ⭐ Review Analytics

- **Aggregate Ratings** - Overall rating and review count
- **Individual Reviews** - Reviewer names, dates, property types
- **Review Content** - Full review text and property details
- **Sentiment Analysis** - Rating distribution and patterns

#### 📊 Sales Statistics

- **Transaction Volume** - Sales in last 12 months
- **Total Sales** - Lifetime transaction count
- **Price Range** - Minimum to maximum property prices
- **Average Price** - Average property sale price

#### 🔍 Professional Details

- **Specialties** - Buyer's agent, listing agent, relocation, luxury homes
- **Service Areas** - Neighborhoods, cities, and zip codes
- **Nearby Locations** - Associated areas and regions
- **Professional Types** - Agent, broker, showcase buyer designations

#### 🌐 Technical Features

- **Proxy Support** - Built-in Apify proxy with residential groups
- **Batch Processing** - Scrape multiple agent profiles simultaneously
- **Comprehensive Output** - All data fields included in clean JSON format
- **Error Resilience** - Individual profile failures don't stop batch

***

### ⚙️ Input Configuration

Simply enter Zillow agent profile URLs, configure proxy settings, and click "Start". Input looks like this:

```json
{
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": ["RESIDENTIAL"]
  },
  "urls": [
    "https://www.zillow.com/profile/Matt%20Laricy"
  ]
}
```

#### 📝 Input Specifications

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `urls` | Array | ✅ Yes | - | Zillow agent profile URLs to scrape |
| `proxyConfiguration.useApifyProxy` | Boolean | ❌ No | true | Enable Apify proxy rotation |
| `apifyProxyGroups` | Array | ❌ No | \["RESIDENTIAL"] | Proxy groups for reliable scraping |

***

### 📤 Output Structure

Your **Zillow Agent Profile Scraper** produces comprehensive output with agent details, reviews, and professional statistics:

```json
[
  {
    "Profile no.": 1,
    "name": "Matt Laricy",
    "company": "Americorp Real Estate",
    "type": "AGENT_PROFILE",
    "rating": 5,
    "reviewCount": 1993,
    "phoneNumbers": [
      "(708) 250-2696",
      "(773) 585-5385"
    ],
    "email": "mlaricy@americorpre.com",
    "address": "375 W Erie #103A, Chicago, IL, 60654",
    "detailUrl": "https://www.zillow.com/profile/Matt%20Laricy",
    "badge": "Top Agent",
    "experience": "21 Years of experience",
    "teamSalesStats": {
      "salesLast12Months": 572,
      "totalSales": 7066,
      "priceRange": "$55K-$4.3M",
      "averagePrice": "$558K"
    },
    "reviews": [
      {
        "rating": 5,
        "reviewerName": "Jane Eaton",
        "date": "7/24/2026",
        "propertyType": "Bought a Condo home in 2026 in Lake view, Chicago, IL.",
        "reviewFor": "Matt Laricy",
        "comment": "Review for : Matt Laricy My boyfriend and I had a great experience working with Matt..."
      }
    ],
    "specialties": [
      "Buyer's Agent",
      "Listing Agent",
      "Relocation",
      "First Time Homebuyers",
      "Investment Properties",
      "Luxury Homes"
    ],
    "serviceAreas": [
      "Wicker Park, Chicago, IL",
      "Bucktown, Chicago, IL",
      "Lake View, Chicago, IL"
    ],
    "nearbyCities": [
      "Homes For Sale in Chicago",
      "Homes For Sale in Oak Park",
      "Homes For Sale in Berwyn"
    ],
    "profileDetails": {
      "businessAddress": {
        "address1": "375 W Erie #103A",
        "city": "Chicago",
        "state": "IL",
        "postalCode": "60654"
      },
      "businessName": "Americorp Real Estate",
      "isTopAgent": true,
      "profilePhotoSrc": "https://photos.zillowstatic.com/..."
    }
  }
]
```

#### 📖 Output Field Documentation

**🔹 Basic Profile Information**
| Field | Description |
|-------|-------------|
| `Profile no.` | Sequential profile number |
| `name` | Agent's full name |
| `company` | Brokerage/company name |
| `type` | Profile type (AGENT\_PROFILE, etc.) |
| `rating` | Average star rating (0-5) |
| `reviewCount` | Total number of reviews |
| `badge` | Professional recognition badge |
| `experience` | Years of professional experience |

**🔹 Contact Information**
| Field | Description |
|-------|-------------|
| `phoneNumbers` | Array of phone numbers (cell/brokerage) |
| `email` | Professional email address |
| `address` | Office address (formatted) |
| `officeAddress` | Detailed office address |
| `detailUrl` | Original Zillow profile URL |

**🔹 Sales Statistics**
| Field | Description |
|-------|-------------|
| `salesLast12Months` | Properties sold in past year |
| `totalSales` | Lifetime sales volume |
| `priceRange` | Property price range (min-max) |
| `averagePrice` | Average property sale price |

**🔹 Reviews**
| Field | Description |
|-------|-------------|
| `rating` | Individual review rating (0-5) |
| `reviewerName` | Reviewer's name or username |
| `date` | Review publication date |
| `propertyType` | Property type and location |
| `comment` | Full review text content |

**🔹 Professional Details**
| Field | Description |
|-------|-------------|
| `specialties` | Array of professional specialties |
| `serviceAreas` | Primary service locations |
| `nearbyCities` | Associated cities for property searches |
| `nearbyNeighborhoods` | Associated neighborhoods |
| `nearbyZipCodes` | Associated zip codes |

**🔹 Profile Details**
| Field | Description |
|-------|-------------|
| `profilePhotoSrc` | Agent's profile photo URL |
| `businessAddress` | Structured office address object |
| `isTopAgent` | Boolean indicating Top Agent status |
| `profileTypes` | Array of professional designations |

***

### 🎨 Key Features of This Zillow Agent Profile Scraper

#### 📊 Agent Analytics

- **Performance Metrics** - Sales volume, transaction count
- **Price Analysis** - Price ranges and average values
- **Market Coverage** - Service areas and geographic reach
- **Professional Badges** - Recognition and certifications

#### ⭐ Review Intelligence

- **Aggregate Ratings** - Overall performance scores
- **Review Sentiment** - Positive/negative analysis
- **Property Types** - Diverse property categories
- **Temporal Patterns** - Review frequency and timing

#### 🔍 Professional Intelligence

- **Specialty Detection** - Comprehensive specialty extraction
- **Service Area Mapping** - Geographic coverage analysis
- **Nearby Listings** - Associated cities and neighborhoods
- **Expertise Profiling** - Agent capabilities and focus areas

#### 🌐 Scraping Reliability

- **Residential Proxies** - High-quality proxy rotation
- **Profile Validation** - Complete data verification
- **Error Handling** - Robust failure recovery
- **Rate Limiting** - Intelligent request management

***

### 💡 Use Cases for Zillow Agent Profile Scraper

- **🏠 Real Estate Investors** - Find top-performing agents in target areas
- **💰 Mortgage Brokers** - Build agent referral networks
- **📊 Market Researchers** - Analyze real estate market dynamics
- **🔑 Property Professionals** - Identify potential partners and competitors
- **📈 Lead Generation** - Build high-quality real estate leads
- **🏢 Brokerage Analysis** - Evaluate competitor performance
- **📱 App Development** - Power real estate applications
- **📚 Educational Research** - Study real estate industry trends

***

### ✨ Why Choose Our Zillow Agent Profile Scraper?

- **⚡ Comprehensive Extraction** - Get all agent data in one run
- **🎯 100% Accurate** - Preserves all profile information
- **🔄 Regular Updates** - Adapts to Zillow platform changes
- **📦 Complete Data** - Everything from ratings to reviews
- **🛡️ Production Ready** - Battle-tested with thousands of profiles
- **💰 Cost Efficient** - Optimized to minimize compute time
- **🔒 Privacy Focused** - No personal data stored or shared

***

### ⚠️ Limitations

- Only works with public Zillow agent profiles
- Some profiles may have limited public information
- Review data limited to visible public reviews
- Requires valid Zillow profile URLs
- Residential proxies recommended for reliability

***

### 📧 Need Custom Features for Your Zillow Agent Profile Scraper?

Want **custom data fields**, **specific proxy configurations**, **enhanced filtering**, **advanced analytics**, or **CRM integration**?

✉️ Email **<codenest2.0@gmail.com>** for tailored enterprise solutions!

***

# Actor input Schema

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

Enter Zillow property detail URLs, agent profile URLs (e.g. https://www.zillow.com/profile/Matt%20Laricy), or category/search result page URLs.

## `maxItems` (type: `integer`):

Maximum properties to scrape per input search/category URL (e.g. 10, 50, 100). If multiple URLs are provided, each URL will scrape up to this limit. Default is 50.

## `maxConcurrency` (type: `integer`):

Maximum number of Zillow pages to scrape in parallel. Lower values are safer against blocks. Default is 3.

## `minDelayMs` (type: `integer`):

Minimum random delay in milliseconds between requests. Default is 1000ms.

## `maxDelayMs` (type: `integer`):

Maximum random delay in milliseconds between requests. Default is 3000ms.

## `proxyConfiguration` (type: `object`):

Apify Proxy configuration (Residential recommended) to bypass Zillow PerimeterX anti-bot blocks on Agent Profiles & search pages.

## Actor input object example

```json
{
  "urls": [
    "https://www.zillow.com/profile/Matt%20Laricy",
    "https://www.zillow.com/oakland-ca/open-house/"
  ],
  "maxItems": 50,
  "maxConcurrency": 3,
  "minDelayMs": 1000,
  "maxDelayMs": 3000,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("codenest/zillow-agent-profile-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 = {}

# Run the Actor and wait for it to finish
run = client.actor("codenest/zillow-agent-profile-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 '{}' |
apify call codenest/zillow-agent-profile-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/acts/mKfvbahmuNhT7Int2/builds/7BKaK5ZWIQwgf1thf/openapi.json
