# Zillow Market Data Scraper (`axesso_data/zillow-market-data-scraper`) Actor

The Zillow Market Data Scraper retrieves real-time rental market data for any city, neighborhood, or ZIP code on Zillow, including median rent trends, market temperature, nearby area comparisons, and rental price distributions for real estate research and investment analysis.

- **URL**: https://apify.com/axesso\_data/zillow-market-data-scraper.md
- **Developed by:** [AxCrawler](https://apify.com/axesso_data) (community)
- **Categories:** Real estate
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.00 / 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 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

### How does Zillow Market Data Scraper work?

The Zillow Market Data Scraper extracts real-time rental market data from Zillow for a specified city, neighborhood, or ZIP code. The data includes the current market temperature, median rent price trends over time, nearby area comparisons, rental price distribution histograms, and a summary of available rentals and rent changes.

This Actor performs live queries directly to Zillow, ensuring that all data returned is current and accurate at the time of the request. It does not use any cached data, so each execution retrieves fresh, up-to-date market information.

The extraction process involves receiving an array of input locations, fetching the market data for each location, and returning structured JSON output containing the detailed rental market information.

### Input data

Input data must be provided in JSON format and must contain one mandatory array field "input". Each item in the array represents a request for a specific location and includes the following field:

- `location` (Required): The city, neighborhood, or ZIP code to retrieve market data for, formatted as a string, e.g., "Houston, TX".

Multiple locations can be queried in a single run by providing multiple entries in the "input" array.

#### Example input

```json
{
  "input": [
    {
      "location": "Houston, TX"
    },
    {
      "location": "Austin, TX"
    }
  ]
}
```

### Output data

```json
{
  "marketPage": {
    "areaName": "Houston, TX",
    "areaType": "city",
    "date": "2023-10-24",
    "marketTemperature": {
      "temperature": "COOL"
    },
    "medianRentPriceOverTime": {
      "currentYear": [
        { "month": "Jan", "price": 1790, "year": "2023" },
        { "month": "Feb", "price": 1795, "year": "2023" }
      ],
      "prevYear": [
        { "month": "Jan", "price": 1640, "year": "2022" },
        { "month": "Feb", "price": 1677.5, "year": "2022" }
      ]
    },
    "nearByAreas": [
      {
        "areaId": 216288373,
        "areaType": "CITY",
        "city": "Bellaire",
        "name": "Bellaire",
        "resourceName": "bellaire-tx",
        "state": "TX"
      }
    ],
    "nearbyAreaTrends": [
      {
        "areaName": "Bellaire, TX",
        "date": "2023-10-24",
        "medianRent": 2350,
        "resourceId": "bellaire-tx"
      }
    ],
    "rentCompare": {
      "areaName": "US",
      "medianRent": 2012.5
    },
    "rentHistogram": {
      "maxPrice": 90000,
      "minPrice": 150,
      "priceAndCount": [
        { "count": 6, "price": 0 },
        { "count": 9, "price": 500 }
      ]
    },
    "summary": {
      "availableRentals": 7194,
      "medianRent": 1800,
      "monthlyChange": 0,
      "yearlyChange": 38.75
    },
    "zillowRentalsSrpUrl": "https://www.zillow.com/houston-tx/apartments",
    "zipcodesInCity": [
      {
        "areaId": 333802469,
        "areaType": "ZIP",
        "city": "Houston",
        "name": "77072",
        "resourceName": "77072",
        "state": "TX"
      }
    ]
  }
}
```

### How much does Zillow Market Data Scraper cost?

The cost of using this Actor depends on the volume of data retrieved and the number of location queries made. It is recommended to execute a test run with a small sample input to estimate the cost applicable for your use case before scaling up your usage.

### What to consider when using this Actor?

This Actor integrates the full lifecycle of web data extraction ensuring stability and reliability:

1. **Proxy Rotation:** Uses a large proxy pool to avoid blocks by Zillow, ensuring smooth data retrieval.

2. **Geo Targeting:** Determines appropriate proxy location based on the provided locations to minimize geo-restriction issues.

3. **Captcha and Blocking Handling:** Automatically manages captchas or temporary access blocks without user intervention.

4. **Stability and Reliability:** Designed to handle large scale requests with error handling and retries for consistent and dependable operation.

### More Zillow Actors by Axesso

Looking for a different slice of Zillow data? Axesso offers a full suite of real-time Zillow Actors - each one dedicated to a specific endpoint:

| Actor | What it does |
|---|---|
| [Zillow Accessibility Scores Scraper](https://apify.com/axesso_data/zillow-accessibility-scores-scraper) | The Zillow Accessibility Scores Scraper retrieves real-time walk, transit, and bike scores for any property listed on Zillow using ZPID ... |
| [Zillow Nearby Schools Scraper](https://apify.com/axesso_data/zillow-nearby-schools-scraper) | The Zillow Nearby Schools Scraper retrieves real-time data on schools near any property listed on Zillow using ZPID or URL. |
| [Zillow Price and Tax History Scraper](https://apify.com/axesso_data/zillow-price-tax-history-scraper) | The Zillow Price and Tax History Scraper retrieves real-time price and tax history for any property listed on Zillow using ZPID or URL. |
| [Zillow Property Details Scraper V2](https://apify.com/axesso_data/zillow-property-details-scraper-v2) | The Zillow Property Details Scraper V2 fetches detailed, real-time property data by ZPID or URL from Zillow. |
| [Zillow Property Photos Scraper](https://apify.com/axesso_data/zillow-property-photos-scraper) | The Zillow Property Photos Scraper retrieves real-time photo galleries for any property listed on Zillow using ZPID or URL. |
| [Zillow Property Search Scraper](https://apify.com/axesso_data/zillow-property-search-scraper) | The Zillow Property Search Scraper returns real-time listings by neighborhood, city, or ZIP code. |
| [Zillow Rent Estimate Scraper](https://apify.com/axesso_data/zillow-rent-estimate-scraper) | The Zillow Rent Estimate Scraper retrieves real-time rent zestimates, market summaries, and comparable rental floorplans for any ... |
| [Zillow Search by Address Scraper](https://apify.com/axesso_data/zillow-search-by-address-scraper) | The Zillow Search by Address Scraper retrieves real-time property data by address from Zillow, providing accurate details including ... |
| [Zillow Search by Coordinates Scraper](https://apify.com/axesso_data/zillow-search-by-coordinates-scraper) | The Zillow Search by Coordinates Scraper retrieves real-time property listings within a radius of any latitude and longitude point. |
| [Zillow Search by MLS Scraper](https://apify.com/axesso_data/zillow-search-by-mls-scraper) | The Zillow Search by MLS Scraper retrieves real-time property listings by MLS number from Zillow, returning matching addresses and ZPIDs. |
| [Zillow Search by Polygon Scraper](https://apify.com/axesso_data/zillow-search-by-polygon-scraper) | The Zillow Search by Polygon Scraper retrieves real-time property listings within a custom map area defined by polygon coordinates. |
| [Zillow Similar Properties Scraper](https://apify.com/axesso_data/zillow-similar-properties-scraper) | The Zillow Similar Properties Scraper retrieves real-time listings of comparable homes for sale near any property on Zillow using ... |
| [Zillow Similar Rental Properties Scraper](https://apify.com/axesso_data/zillow-similar-rental-properties-scraper) | The Zillow Similar Rental Properties Scraper retrieves real-time listings of comparable rental homes near any property on Zillow using ... |
| [Zillow Similar Sold Properties Scraper](https://apify.com/axesso_data/zillow-similar-sold-properties-scraper) | The Zillow Similar Sold Properties Scraper retrieves real-time data on recently sold comparable homes near any property on Zillow using ... |
| [Zillow Zestimate History Scraper](https://apify.com/axesso_data/zillow-zestimate-history-scraper) | The Zillow Zestimate History Scraper retrieves historical Zestimate value estimates for any property listed on Zillow using ZPID or URL. |

All Axesso Actors are built and maintained to the same standards: real-time data without caching, high availability and active maintenance, consistent input patterns, and responsive support when you need help. If you are missing a specific endpoint, reach out - the portfolio is continuously growing.

### Where else you can find Axesso - Data Service solutions?

Axesso provides APIs and Actors through its own [API Portal](https://axesso.developer.azure-api.net/apis) and on [RapidAPI](https://rapidapi.com/search?term=axesso\&sortBy=ByRelevance). Axesso has a proven track record delivering stable services to thousands of subscribers over a period exceeding five years.

- **Direct API access**: You can also consume the same real-time Zillow data directly via the [Axesso Zillow API](https://axesso.de/zillow-api/) - ideal for high-volume or backend integrations.

### Use cases for our Axesso Actors

1. **Market Research:** Obtain detailed, real-time rental market information to support analysis and decision-making.

2. **Price Monitoring:** Track median rent changes and market temperature for specific locations.

3. **Inventory Management:** Automate the collection of available rental counts and listing trends.

4. **Property Valuation:** Use median rent trends and area comparisons to assess property values.

5. **Agent Insights:** Combine market data with agent and brokerage details for contact or analysis.

6. **Content Aggregation:** Collect market data for real estate websites or applications.

7. **Lead Generation:** Identify high-demand areas for buyer or renter outreach.

8. **Competitive Analysis:** Monitor market trends and nearby area comparisons.

9. **Data Enrichment:** Enhance existing real estate databases with comprehensive, live market data.

# Actor input Schema

## `input` (type: `array`):

List of inputs, each entry refers to one request to be executed. Full list of valid parameters can be found in the README tab.

## Actor input object example

```json
{
  "input": [
    {
      "location": "Houston, TX"
    },
    {
      "location": "Austin, TX"
    }
  ]
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# 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 = {
    "input": [
        {
            "location": "Houston, TX"
        },
        {
            "location": "Austin, TX"
        }
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("axesso_data/zillow-market-data-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 = { "input": [
        { "location": "Houston, TX" },
        { "location": "Austin, TX" },
    ] }

# Run the Actor and wait for it to finish
run = client.actor("axesso_data/zillow-market-data-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 '{
  "input": [
    {
      "location": "Houston, TX"
    },
    {
      "location": "Austin, TX"
    }
  ]
}' |
apify call axesso_data/zillow-market-data-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,axesso_data/zillow-market-data-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/FAe9UXrkzqvuen1wy/builds/qm9OCU0hYBBxBua5a/openapi.json
