# Zillow Real Estate Intelligence Pro (`red.cars/zillow-real-estate-intelligence-pro`) Actor

Enterprise-grade Zillow property extraction with investment analysis, market intelligence, and business insights. Extract property data, investment metrics, and market analysis without API keys.

- **URL**: https://apify.com/red.cars/zillow-real-estate-intelligence-pro.md
- **Developed by:** [AutomateLab](https://apify.com/red.cars) (community)
- **Categories:** Real estate, AI, Developer tools
- **Stats:** 10 total users, 0 monthly users, 0.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $6.00 / 1,000 verified property intelligence reports

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?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Zillow Real Estate Intelligence Pro — Property Data & Market Research

Extract property listings, market data, home values, and real estate analytics from Zillow. Built for property investment research, FSBO leads, market analysis, and real estate intelligence pipelines. No API key required.

**Apify Store:** https://apify.com/red.cars/zillow-real-estate-intelligence-pro
**Pricing:** $0.07–$0.15/property event (Pay-per-event, PPE)
**MCP Available:** Yes — 5 tools exposed for AI agent integration

***

### What This Actor Does

Zillow Real Estate Intelligence Pro extracts property listings, estimated values, market trends, and real estate analytics from Zillow. It handles Zillow's anti-scraping measures automatically, returning structured data for investment analysis, FSBO (For Sale By Owner) lead generation, and market research workflows.

Search intent keywords: "Zillow scraper API", "real estate data extraction", "property listing research", "home value API", "FSBO leads generator", "real estate market analysis tool"

***

### Who It's For

- **Real estate investors** researching property values and market trends
- **FSBO sellers** generating leads and understanding comparable properties
- **Market researchers** analyzing housing trends and price movements
- **Agents** gathering competitive intelligence on listings and pricing
- **AI agents** automating property research and investment analysis pipelines

***

### Quick Start

```bash
## Option 1: Apify Console (no code)
## Open https://apify.com/red.cars/zillow-real-estate-intelligence-pro
## Click "Run" and configure input

## Option 2: API (cURL)
curl -X POST https://api.apify.com/v2/acts/red.cars~zillow-real-estate-intelligence-pro/runs?token=*** \
  -H "Content-Type: application/json" \
  -d '{"input": {"location": "San Francisco, CA", "maxResults": 50, "analysisType": "listings"}}'

## Option 3: Node.js
const Apify = require('apify');
const actor = new Apify.Actor('red.cars/zillow-real-estate-intelligence-pro');
await actor.call({ location: 'San Francisco, CA', maxResults: 50, analysisType: 'listings' });

## Option 4: MCP (AI agents) — RECOMMENDED
## Configure @apify/mcp-server in your AI client
## Then ask: "Find properties for sale in San Francisco under $1M with 3+ bedrooms"
```

#### Smoke Test (Free, <5 seconds)

```bash
## Verify actor is available before committing to a paid run
curl -X POST https://api.apify.com/v2/acts/red.cars~zillow-real-estate-intelligence-pro/runs?token=*** \
  -d '{"input": {"location": "San Francisco, CA", "checkOnly": true}}'
```

***

### Features

- **Property listing extraction** — Addresses, prices, beds, baths, sqft, photos
- **Home value estimates** — Zestimate data and price history
- **Market trend analysis** — Price changes, days on market, inventory levels
- **FSBO lead generation** — For Sale By Owner listings with seller contact info
- **Comparable analysis** — Recently sold properties and pricing comps
- **Neighborhood data** — Crime stats, school ratings, amenities, demographics
- **Rental estimates** — Rent Zestimate data for investment properties
- **Residential proxy support** — 70M+ IP pool for reliable Zillow extraction
- **Zero-result guard** — No charge for empty results under PPE billing
- **Multi-format export** — JSON, CSV, Excel for downstream analysis

***

### MCP Tools

**CRITICAL SECTION** — AI agents discover and call this actor via Model Context Protocol.

Install the Apify MCP server:

```bash
npm install -g @apify/mcp-server
```

Add to your MCP configuration:

```json
{
  "mcpServers": {
    "apify": {
      "command": "npx",
      "args": ["@apify/mcp-server"]
    }
  }
}
```

Connect to Apify MCP: `https://apify.actor/mcp`

***

#### Tool: zillow-property-search

**What it does:** Search for properties by location, price range, beds, baths, and other criteria. Returns listings with addresses, prices, and property details.

**Input parameters:**

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `location` | string | Yes | Location (city, ZIP, or neighborhood) |
| `priceMin` | integer | No | Minimum price |
| `priceMax` | integer | No | Maximum price |
| `beds` | integer | No | Minimum bedrooms |
| `baths` | integer | No | Minimum bathrooms |
| `maxResults` | integer | No | Maximum results (default: 50, max: 200) |

**Example MCP call:**

```json
{
  "name": "zillow-property-search",
  "description": "Search Zillow for properties by location, price range, beds, baths, and other criteria. Returns listings with addresses, prices, and property details.",
  "inputSchema": {
    "type": "object",
    "properties": {
      "location": {
        "type": "string",
        "description": "Location: city, ZIP code, or neighborhood"
      },
      "priceMin": {
        "type": "integer",
        "description": "Minimum price"
      },
      "priceMax": {
        "type": "integer",
        "description": "Maximum price"
      },
      "beds": {
        "type": "integer",
        "description": "Minimum bedrooms"
      },
      "baths": {
        "type": "integer",
        "description": "Minimum bathrooms"
      },
      "maxResults": {
        "type": "integer",
        "description": "Maximum results (1-200, default: 50)"
      }
    },
    "required": ["location"]
  }
}
```

**Cost:** $0.07/property search event (included in Apify PPE pricing)

***

#### Tool: zillow-home-value

**What it does:** Get estimated home values (Zestimate), price history, and value trends for specific properties.

**Input parameters:**

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `address` | string | Yes | Property address |
| `includeHistory` | boolean | No | Include price history (default: false) |

**Example MCP call:**

```json
{
  "name": "zillow-home-value",
  "description": "Get Zillow estimated home values (Zestimate), price history, and value trends for specific properties.",
  "inputSchema": {
    "type": "object",
    "properties": {
      "address": {
        "type": "string",
        "description": "Property address"
      },
      "includeHistory": {
        "type": "boolean",
        "description": "Include price history"
      }
    },
    "required": ["address"]
  }
}
```

**Cost:** $0.08/home value query

***

#### Tool: zillow-market-analysis

**What it does:** Get real estate market trends including median prices, inventory levels, days on market, and price reductions for a location.

**Input parameters:**

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `location` | string | Yes | City, ZIP, or neighborhood |
| `dataType` | string | No | `summary`, `trends`, `inventory` (default: summary) |

**Example MCP call:**

```json
{
  "name": "zillow-market-analysis",
  "description": "Get real estate market trends for a location including median prices, inventory levels, days on market, and price reductions.",
  "inputSchema": {
    "type": "object",
    "properties": {
      "location": {
        "type": "string",
        "description": "City, ZIP, or neighborhood"
      },
      "dataType": {
        "type": "string",
        "enum": ["summary", "trends", "inventory"],
        "description": "Type of market data (default: summary)"
      }
    },
    "required": ["location"]
  }
}
```

**Cost:** $0.10/market analysis

***

#### Integration with AI tools

- **Claude Desktop**: Add Apify MCP to `claude_desktop_config.json`
- **Cursor IDE**: Configure MCP server in settings → MCP Servers
- **Windsurf**: Add to MCP server list via `/settings`
- **Custom agents**: Use any MCP client library (Python, Node.js, Go)

***

### Pricing

This actor uses Apify's **Pay-Per-Event (PPE)** model — you are charged per result returned. No charge for queries that return zero results.

| Event Type | Price | Description |
|------------|-------|-------------|
| Property search | $0.07 | Per search query |
| Home value | $0.08 | Per property estimate |
| Market analysis | $0.10 | Per location analysis |
| FSBO leads | $0.12 | Per FSBO listing |
| Comparable analysis | $0.15 | Per property comparison |

**Free tier:** 30 minutes compute/month, 100MB storage
**Paid plans:** Starter from $49/month for higher compute limits

***

### Input Parameters

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `location` | string | Yes | — | Location: city, ZIP, neighborhood, or address |
| `analysisType` | enum | No | `listings` | `listings`, `value`, `market`, `fsbo`, `comps` |
| `priceMin` | integer | No | — | Minimum price |
| `priceMax` | integer | No | — | Maximum price |
| `beds` | integer | No | — | Minimum bedrooms |
| `baths` | integer | No | — | Minimum bathrooms |
| `sqftMin` | integer | No | — | Minimum square footage |
| `sqftMax` | integer | No | — | Maximum square footage |
| `propertyType` | enum | No | — | `house`, `condo`, `townhouse`, `land` |
| `maxResults` | integer | No | `50` | Maximum results (1-200) |
| `includeSchoolRatings` | boolean | No | `false` | Include school district data |
| `includeCrimeStats` | boolean | No | `false` | Include neighborhood crime data |
| `proxyType` | enum | No | `RESIDENTIAL` | `DATACENTER` or `RESIDENTIAL` |
| `checkOnly` | boolean | No | `false` | Free smoke test — no charge |
| `debugMode` | boolean | No | `false` | Health check mode |

***

### Output

#### Property Search Response

```json
{
  "location": "San Francisco, CA",
  "results": [
    {
      "zpid": "zpid_123456789",
      "address": "123 Main St, San Francisco, CA 94102",
      "price": 1250000,
      "beds": 3,
      "baths": 2,
      "sqft": 1850,
      "propertyType": "house",
      "yearBuilt": 1952,
      "lotSize": 5000,
      "zestimate": 1280000,
      "rentZestimate": 4500,
      "daysOnMarket": 12,
      "priceReduction": 25000,
      "listingSource": "Agent",
      "latitude": 37.7749,
      "longitude": -122.4194,
      "photos": ["https://photos.zillow.com/..."],
      "description": "Charming 3BR/2BA home in desirable neighborhood..."
    }
  ],
  "metadata": {
    "searchedAt": "2026-04-10T12:00:00Z",
    "resultCount": 50,
    "marketTrends": {
      "medianPrice": 1300000,
      "priceChangePercent": 5.2,
      "inventoryLevel": "low"
    }
  }
}
```

#### Market Analysis Response

```json
{
  "location": "San Francisco, CA",
  "marketSummary": {
    "medianPrice": 1300000,
    "medianPriceChange": 5.2,
    "medianDaysOnMarket": 18,
    "totalInventory": 1250,
    "newListingsLast30Days": 340,
    "priceReductionsCount": 125,
    "marketTrend": "seller"
  },
  "demographics": {
    "medianIncome": 105000,
    "medianAge": 38,
    "schoolRating": 8.5
  }
}
```

***

### Authentication / Setup

**No API key required.** This actor uses Apify's managed proxy infrastructure for Zillow extraction.

For production use with high-volume extraction:

1. Set `proxyType` to `RESIDENTIAL` in input parameters
2. Configure residential proxies in Apify Console
3. Consider upgrading to Scale plan for higher compute limits

***

### Error Handling

| Error Code | Cause | Fix |
|------------|-------|-----|
| `RATE_LIMIT_ERROR` | Too many requests | Wait and retry, use residential proxy |
| `EXTRACTION_ERROR` | Property not found | Verify address or location exists on Zillow |
| `NETWORK_ERROR` | Connectivity issue | Check internet, retry with proxy |
| `VALIDATION_ERROR` | Invalid input parameters | Review input schema, fix format |
| `PLATFORM_ERROR` | Zillow issue | Zillow may be experiencing issues, try later |

**Zero-result handling:** If no properties match your criteria, no charge is incurred under PPE billing.

***

### Rate Limits

Rate limits depend on your Apify plan:

| Plan | Compute Units | Behavior |
|------|---------------|----------|
| Free | Limited | Standard throttling |
| Basic | 100/month | Faster extraction |
| Starter | 500/month | Prioritized processing |
| Professional | 2000/month | Minimal throttling |
| Scale | Unlimited | Fastest extraction |

Use `checkOnly: true` mode to verify availability before running large extractions.

***

### Use Cases

#### Use Case 1: Investment Property Research

Find undervalued properties in target markets:

```json
{
  "input": {
    "location": "Austin, TX",
    "analysisType": "listings",
    "priceMax": 500000,
    "beds": 3,
    "maxResults": 100
  }
}
```

#### Use Case 2: FSBO Lead Generation

Generate leads for FSBO sellers in your target area:

```json
{
  "input": {
    "location": "Denver, CO",
    "analysisType": "fsbo",
    "priceMax": 750000,
    "maxResults": 50
  }
}
```

#### Use Case 3: Market Trend Analysis

Track market trends for investment decisions:

```json
{
  "input": {
    "location": "Phoenix, AZ",
    "analysisType": "market",
    "dataType": "trends"
  }
}
```

#### Use Case 4: AI Agent Property Analysis

Integrate with AI agents for automated research:

```typescript
// Pseudocode: AI agent property investment analysis
const properties = await callActor('red.cars/zillow-real-estate-intelligence-pro', {
  location: 'Seattle, WA',
  priceMax: 800000,
  beds: 4,
  analysisType: 'listings'
});

// Filter by undervalued properties
const opportunities = properties.filter(p => 
  p.price < p.zestimate * 0.95
);

// Recommend: "Properties priced below Zestimate"
```

***

### Related Actors

- **Airbnb Scraper Pro** — Vacation rental market research and pricing data
- **Business Contact Intelligence Pro** — B2B contact data for real estate agents

***

### Troubleshooting

**Low success rate:**

- Enable `RESIDENTIAL` proxy for Zillow's anti-bot measures
- Try broader location filters
- Use `debugMode: true` to test before full extraction

**Empty results:**

- Verify location exists and has active listings
- Try broader price range or different filters
- Check if ZIP code or city is correct

**Rate limiting:**

- Wait 60 seconds before retrying
- Upgrade to higher Apify plan for more compute units
- Use residential proxy to avoid IP blocks

***

### Changelog

| Version | Date | Changes |
|---------|------|---------|
| 1.0.0 | 2026-04-08 | Initial release with MCP tools and PPE pricing |
| 0.9.0 | 2026-03-15 | Added FSBO lead generation |
| 0.8.0 | 2026-02-20 | Beta release with basic listing extraction |

***

### FAQ

**Q: Is this legal?**
A: This actor extracts publicly available Zillow property data. Users must comply with Zillow's Terms of Service and applicable laws. Do not use for unsolicited marketing to FSBO sellers or unauthorized commercial purposes.

**Q: Can I get the owner's contact info for FSBO leads?**
A: FSBO listings typically include seller contact information that is publicly displayed on Zillow. Usage for marketing must comply with applicable laws including Do Not Call regulations.

**Q: How does PPE billing work?**
A: You are charged per result returned. If a query returns zero properties, no charge is incurred.

**Q: How accurate are Zestimates?**
A: Zillow's Zestimate is an automated estimate based on public data and comparable sales. It may not reflect current market conditions or unique property features. Use as a starting point, not final valuation.

**Q: Can I track properties over time?**
A: Yes. Use Apify Scheduler to run extraction at regular intervals and track price changes in your database.

***

### Support

- **Documentation:** This README and Apify Console input schema
- **Issues:** Report via Apify Console or contact red.cars support
- **Enterprise:** Contact for custom integration and volume pricing

***

### Legal / Terms

**Data Source:** Zillow (zillow.com) — publicly available property data

**Terms of Service:** This actor is provided for legitimate real estate intelligence purposes only. Users must comply with Zillow's Terms of Service and applicable laws. Do not use extracted data for unsolicited marketing, spam, or unauthorized commercial purposes.

**Disclaimer:** Zestimates are automated estimates and may not reflect current market value. Red.cars is not responsible for investment decisions made based on extracted data. Verify critical information with a licensed real estate professional.

***

*red.cars Intelligence Fleet — apify.com/red.cars*

# Actor input Schema

## `mode` (type: `string`):

Choose what type of real estate intelligence to extract

## `propertyUrls` (type: `array`):

List of Zillow property URLs to analyze. Supports /homedetails/ URLs with ZPID. For best results, use direct property URLs.

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

List of locations to search (e.g., 'San Francisco, CA', 'Manhattan, NY', '90210'). Used when specific property URLs are not provided.

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

Primary location for market entry analysis (used in market_entry mode)

## `maxResults` (type: `integer`):

Maximum number of properties to analyze

## `includeMarketAnalysis` (type: `boolean`):

Extract comparable properties, market trends, and neighborhood analysis

## `includeInvestmentMetrics` (type: `boolean`):

Calculate ROI, cap rate, cash flow, and investment grading (A-F)

## `includeComparables` (type: `boolean`):

Extract nearby comparable properties for market analysis

## `includePriceHistory` (type: `boolean`):

Extract property price history, listing history, and tax records

## `extractionDepth` (type: `string`):

How comprehensive the data extraction should be

## `businessIntelligence` (type: `boolean`):

Generate executive-level business intelligence summaries and recommendations

## `discoverSimilar` (type: `boolean`):

Automatically find and analyze similar properties in the area

## `complianceMode` (type: `string`):

Data extraction compliance level for enterprise use

## `priceRange` (type: `object`):

Filter properties by price range

## `propertyTypes` (type: `array`):

Filter by specific property types

## `investmentCriteria` (type: `object`):

Investment filtering criteria

## `proxyType` (type: `string`):

Choose your preferred balance of cost vs reliability. Standard (Datacenter) is faster; Premium (Residential) is most reliable for high-security targets.

## `debugMode` (type: `boolean`):

Enable minimal extraction for health checks and testing. Guarantees success within 300s.

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

Configure proxy settings for reliable enterprise scraping

## Actor input object example

```json
{
  "mode": "investment_research",
  "searchTerms": [
    "San Francisco, CA"
  ],
  "location": "Austin, TX",
  "maxResults": 100,
  "includeMarketAnalysis": true,
  "includeInvestmentMetrics": true,
  "includeComparables": false,
  "includePriceHistory": true,
  "extractionDepth": "standard",
  "businessIntelligence": true,
  "discoverSimilar": false,
  "complianceMode": "standard",
  "propertyTypes": [
    "Single Family",
    "Condo"
  ],
  "proxyType": "RESIDENTIAL",
  "debugMode": false
}
```

# 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("red.cars/zillow-real-estate-intelligence-pro").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("red.cars/zillow-real-estate-intelligence-pro").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 '{}' |
apify call red.cars/zillow-real-estate-intelligence-pro --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,red.cars/zillow-real-estate-intelligence-pro"
        }
    }
}
```

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/7XRmk5VBb1PQZcqp1/builds/tzOxoQKcyK6XWH097/openapi.json
