# Zillow Property Data API (`apillow/zillow-property-data`) Actor

Get 50+ data fields from any Zillow listing - prices, Zestimates, tax history, schools, comps, and more. Search by city, ZIP code, address, ZPID, or Zillow URL.

- **URL**: https://apify.com/apillow/zillow-property-data.md
- **Developed by:** [APIllow Admin](https://apify.com/apillow) (community)
- **Categories:** Real estate, Developer tools, Automation
- **Stats:** 3 total users, 0 monthly users, 100.0% runs succeeded, 5 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

from $1.18 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use 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 Property Data API

Extract **50+ data fields** from any Zillow listing. Search by city, ZIP code, street address, Zillow Property ID (ZPID), or Zillow URL. Get structured JSON data including prices, Zestimates, tax history, school ratings, comparable properties, and more.

No setup required — just provide your search query and get results.

### What data do you get?

Each property includes:

| Field | Description |
|---|---|
| `zpid` | Zillow Property ID |
| `street_address`, `city`, `state`, `zipcode` | Full address |
| `latitude`, `longitude` | Geocoordinates |
| `price` | Current listing price |
| `zestimate` | Zillow's estimated market value |
| `rent_zestimate` | Estimated monthly rent |
| `last_sold_price` | Last recorded sale price |
| `bedrooms`, `bathrooms` | Bed and bath count |
| `living_area` | Interior square footage |
| `lot_size` | Lot size in sqft |
| `year_built` | Year constructed |
| `property_type` | SINGLE_FAMILY, CONDO, TOWNHOUSE, etc. |
| `home_status` | FOR_SALE, SOLD, FOR_RENT, OTHER |
| `days_on_zillow` | Days listed |
| `hoa_fee` | Monthly HOA fee |
| `price_history` | Historical price events (date, event, price) |
| `tax_history` | Tax records (year, tax paid, assessed value) |
| `listing_agent` | Agent name, phone, email, company |
| `nearby_schools` | Schools with rating, grades, distance |
| `comps` | Comparable listings with price, beds, baths |
| `image_urls` | Property photo URLs |
| `description` | Full listing description |
| `interior_features`, `exterior_features` | Feature lists |
| `page_view_count`, `favorite_count` | Zillow engagement metrics |
| `tax_assessed_value` | Tax assessment value |
| `virtual_tour_url` | Virtual tour link |

### Input

Provide at least one of the following:

#### Search by city or area
```json
{
    "search": "Austin TX",
    "listingType": "sale",
    "maxItems": 50
}
````

#### Look up specific addresses

```json
{
    "addresses": [
        "123 Main St, Austin, TX 78701",
        "456 Oak Ave, Dallas, TX 75201"
    ]
}
```

#### Search by ZIP code

```json
{
    "zipcodes": ["90210", "33139"],
    "listingType": "sale",
    "maxItems": 100
}
```

#### Look up by Zillow Property ID

```json
{
    "zpids": [20794780, 20637558]
}
```

#### Fetch from Zillow URLs

```json
{
    "urls": [
        "https://www.zillow.com/homedetails/123-Main-St/12345_zpid/",
        "https://www.zillow.com/beverly-hills-ca/"
    ],
    "maxItems": 20
}
```

#### Combine multiple input types

```json
{
    "search": "Miami Beach",
    "zipcodes": ["33139"],
    "addresses": ["1000 Ocean Dr, Miami Beach, FL 33139"],
    "listingType": "sale",
    "maxItems": 50
}
```

#### Filter by property type and price

```json
{
    "zipcodes": ["80831"],
    "listingType": "sale",
    "propertyType": "land",
    "priceMax": 50000,
    "maxItems": 20
}
```

#### Input parameters

| Parameter | Type | Default | Description |
|---|---|---|---|
| `search` | string | | Free-text search query (city, neighborhood, area) |
| `addresses` | string\[] | | Street addresses to look up |
| `zipcodes` | string\[] | | US ZIP codes to search |
| `zpids` | integer\[] | | Zillow Property IDs for direct lookup |
| `urls` | string\[] | | Zillow listing URLs or search page URLs |
| `listingType` | string | `"all"` | Filter: `all`, `sale`, `rent`, `sold`, `fsbo` |
| `propertyType` | string | | Filter: `house`, `condo`, `townhouse`, `land`, `apartment`, `manufactured`, `multi_family` |
| `priceMin` | integer | | Minimum price filter (USD) |
| `priceMax` | integer | | Maximum price filter (USD) |
| `maxItems` | integer | `200` | Max properties to return. Capped at ~205 for search/zipcode inputs (5 pages of Zillow results); up to 1,000 for address/ZPID inputs. |

### Output

Results are stored in the default dataset. Each row is one property with 50+ fields.

**Example output:**

```json
{
    "zpid": 20794780,
    "url": "https://www.zillow.com/homedetails/1735-N-Fuller-Ave-APT-425-Los-Angeles-CA-90046/20794780_zpid/",
    "street_address": "1735 N Fuller Ave APT 425",
    "city": "Los Angeles",
    "state": "CA",
    "zipcode": "90046",
    "latitude": 34.098,
    "longitude": -118.35,
    "price": 379888,
    "zestimate": 374200,
    "rent_zestimate": 2100,
    "bedrooms": 1,
    "bathrooms": 1.0,
    "living_area": 750,
    "year_built": 1972,
    "property_type": "CONDO",
    "home_status": "FOR_SALE",
    "days_on_zillow": 14,
    "price_history": [
        {"date": "2024-03-15", "event": "Listed for sale", "price": 379888}
    ],
    "tax_history": [
        {"year": 2023, "tax_paid": 3200, "value": 310000}
    ],
    "listing_agent": {
        "name": "Jane Smith",
        "phone": "310-555-0123",
        "company": "Keller Williams"
    },
    "nearby_schools": [
        {"name": "Fairfax High", "rating": 7, "distance": 0.3, "level": "High"}
    ],
    "image_urls": ["https://photos.zillowstatic.com/..."],
    "description": "Beautifully renovated 1BR/1BA condo..."
}
```

### Listing types

| Value | Description |
|---|---|
| `all` | All listing types (default) |
| `sale` | Properties currently for sale |
| `rent` | Rental listings |
| `sold` | Recently sold properties |
| `fsbo` | For sale by owner |

### Pagination limits

Zillow's search results pages return ~41 listings per page. This actor automatically paginates up to **5 pages** (~205 results) per query for `search`, `zipcodes`, and search-page `urls` inputs.

| maxItems | Expected results |
|---|---|
| 1-205 | up to maxItems |
| 206+ | capped at ~205 |

This cap only applies to area-based searches. When using `addresses` or `zpids`, you can retrieve up to 1,000 properties per run.

**To get more than 205 results from a region**, split into multiple runs by ZIP code, neighborhood, or price range.

### Tips for best results

- **Start small** — set `maxItems` to 5-10 while testing, then scale up
- **Be specific** — "Austin TX" returns better results than just "Austin"
- **Combine inputs** — mix city searches with specific addresses in one run
- **Address format** — use full addresses with city, state, and ZIP for best match rates
- **Split large regions** — to get more than 205 results, split by ZIP code or price range
- **Large searches** — city-wide searches with `maxItems: 205` may take 1-2 minutes

# Actor input Schema

## `search` (type: `string`):

Free-text search query — city name, neighborhood, or area (e.g. "Austin TX", "Miami Beach FL", "90210")

## `addresses` (type: `array`):

List of street addresses to look up (e.g. \["123 Main St, Austin, TX 78701"])

## `zipcodes` (type: `array`):

US ZIP codes to search (e.g. \["90210", "33139"])

## `zpids` (type: `array`):

Zillow Property IDs for direct lookup (e.g. \[20794780, 20637558])

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

Zillow listing URLs or search page URLs (e.g. \["https://www.zillow.com/homedetails/123-Main-St/12345\_zpid/"])

## `listingType` (type: `string`):

Filter results by listing type

## `propertyType` (type: `string`):

Filter by property type

## `priceMin` (type: `integer`):

Minimum price filter (USD)

## `priceMax` (type: `integer`):

Maximum price filter (USD)

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

Maximum number of properties to return (1-50)

## Actor input object example

```json
{
  "search": "Austin TX",
  "listingType": "all",
  "maxItems": 50
}
```

# Actor output Schema

## `properties` (type: `string`):

Structured Zillow property data with 50+ fields per listing including price, Zestimate, rent estimate, tax history, price history, school ratings, listing agent, photos, and comparable properties.

# 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 = {
    "search": "Austin TX"
};

// Run the Actor and wait for it to finish
const run = await client.actor("apillow/zillow-property-data").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 = { "search": "Austin TX" }

# Run the Actor and wait for it to finish
run = client.actor("apillow/zillow-property-data").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 '{
  "search": "Austin TX"
}' |
apify call apillow/zillow-property-data --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Zillow Property Data API",
        "description": "Get 50+ data fields from any Zillow listing - prices, Zestimates, tax history, schools, comps, and more. Search by city, ZIP code, address, ZPID, or Zillow URL.",
        "version": "2.0",
        "x-build-id": "AVp0NScVLt3TjcRrc"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/apillow~zillow-property-data/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-apillow-zillow-property-data",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/apillow~zillow-property-data/runs": {
            "post": {
                "operationId": "runs-sync-apillow-zillow-property-data",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/apillow~zillow-property-data/run-sync": {
            "post": {
                "operationId": "run-sync-apillow-zillow-property-data",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "search": {
                        "title": "Search Query",
                        "type": "string",
                        "description": "Free-text search query — city name, neighborhood, or area (e.g. \"Austin TX\", \"Miami Beach FL\", \"90210\")"
                    },
                    "addresses": {
                        "title": "Street Addresses",
                        "type": "array",
                        "description": "List of street addresses to look up (e.g. [\"123 Main St, Austin, TX 78701\"])",
                        "items": {
                            "type": "string"
                        }
                    },
                    "zipcodes": {
                        "title": "ZIP Codes",
                        "type": "array",
                        "description": "US ZIP codes to search (e.g. [\"90210\", \"33139\"])",
                        "items": {
                            "type": "string"
                        }
                    },
                    "zpids": {
                        "title": "Zillow Property IDs",
                        "type": "array",
                        "description": "Zillow Property IDs for direct lookup (e.g. [20794780, 20637558])",
                        "items": {
                            "type": "integer"
                        }
                    },
                    "urls": {
                        "title": "Zillow URLs",
                        "type": "array",
                        "description": "Zillow listing URLs or search page URLs (e.g. [\"https://www.zillow.com/homedetails/123-Main-St/12345_zpid/\"])",
                        "items": {
                            "type": "string"
                        }
                    },
                    "listingType": {
                        "title": "Listing Type",
                        "enum": [
                            "all",
                            "sale",
                            "rent",
                            "sold",
                            "fsbo"
                        ],
                        "type": "string",
                        "description": "Filter results by listing type",
                        "default": "all"
                    },
                    "propertyType": {
                        "title": "Property Type",
                        "enum": [
                            "",
                            "house",
                            "condo",
                            "townhouse",
                            "land",
                            "apartment",
                            "manufactured",
                            "multi_family"
                        ],
                        "type": "string",
                        "description": "Filter by property type"
                    },
                    "priceMin": {
                        "title": "Min Price ($)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Minimum price filter (USD)"
                    },
                    "priceMax": {
                        "title": "Max Price ($)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum price filter (USD)"
                    },
                    "maxItems": {
                        "title": "Max Results",
                        "minimum": 1,
                        "maximum": 50,
                        "type": "integer",
                        "description": "Maximum number of properties to return (1-50)",
                        "default": 50
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
