# US Housing Market Trends — Zillow Home Values & Rents (`straightforward_hydra/us-housing-market-trends`) Actor

Clean home-value (ZHVI) & rent (ZORI) data from Zillow Research — by metro, city, ZIP, county, state. No key.

- **URL**: https://apify.com/straightforward\_hydra/us-housing-market-trends.md
- **Developed by:** [Dev D](https://apify.com/straightforward_hydra) (community)
- **Categories:** Real estate, Lead generation, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.00 / 1,000 records

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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/docs.md):

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

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.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/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

## US Housing Market Trends — Zillow Home Values & Rents 🏠

**Clean home-value and rent market data from Zillow Research — by metro, city, ZIP, county, state or neighborhood. No scraping, no API key, no anti-bot.**

Everyone wants "Zillow data," but scraping Zillow's listings site means anti-bot walls, proxies and ToS headaches. This actor uses **Zillow Research's public data instead** — the same **Zillow Home Value Index (ZHVI)** and **Zillow Observed Rent Index (ZORI)** economists cite — delivered clean, no scraping.

Get a **current snapshot** (value + 1-month & 1-year change per region) or the **full monthly history** back to 2000.

Perfect for **real-estate analytics, investors, PropTech, market research, dashboards and reports**.

> Data comes from **Zillow Research** public CSVs (research market data, **not** the listings site) — no key, no login, very low maintenance.

---

### Metrics & geographies

- **Home value (ZHVI)** — typical home value (smoothed, seasonally adjusted).
- **Rent (ZORI)** — typical asking rent.
- Geographies: **Metro, City, ZIP, County, State, Neighborhood**.

### Modes

- 📸 **Latest snapshot** — one row per region: latest value + **1-month and 1-year % change**.
- 📈 **Full time series** — one row per region per month (great for charts/models).

### Features

- ✅ **No API key, no proxy, no scraping** — public research data.
- ✅ **Both home values and rents.**
- ✅ **All the way down to ZIP & neighborhood.**
- ✅ **Change metrics computed** (MoM, YoY).
- ✅ **Filters** — region name, state, start date.

---

### Input

| Field | Description |
|---|---|
| **Metric** | home_value (ZHVI) / rent (ZORI). |
| **Geography** | metro / city / zip / county / state / neighborhood. |
| **Mode** | latest / timeseries. |
| **Region name contains** | e.g. `New York`, `Austin`, `90210`. |
| **State** | e.g. `CA`, `TX`. |
| **Start date** | Earliest month for time-series mode. |
| **Max results** | Cap on records. |

#### Example — latest home values by metro

```json
{
  "metric": "home_value",
  "geography": "metro",
  "mode": "latest",
  "maxResults": 1000
}
````

#### Example — rent history for New York ZIPs since 2020

```json
{
  "metric": "rent",
  "geography": "zip",
  "mode": "timeseries",
  "regionName": "New York",
  "startDate": "2020-01-01"
}
```

### Output (latest)

```json
{
  "region_id": "394913",
  "region_name": "New York, NY",
  "region_type": "msa",
  "state": "NY",
  "metric": "home_value",
  "geography": "metro",
  "latest_date": "2026-06-30",
  "latest_value": 735003.0,
  "value_1m_ago": 733460.0,
  "change_1m_pct": 0.21,
  "value_1y_ago": 706189.0,
  "change_1y_pct": 4.08
}
```

Time-series mode returns `{region…, date, value}` per month.

### Run it on a schedule

Zillow updates monthly — re-run to keep your market dataset current, then pipe to a database, BI tool or dashboard.

### Notes & limitations

- Source: **Zillow Research** public data (ZHVI/ZORI). Attribution to Zillow is appreciated.
- City / ZIP / neighborhood files cover tens of thousands of regions — use filters and `maxResults` to scope; large pulls take longer.
- This is **market-trend index data**, not individual property listings.
- (Redfin Data Center market metrics could be added as a future source.)

***

#### Keywords

Zillow, ZHVI, ZORI, home values, rent, housing market, real estate data, property values, house prices, rent prices, market trends, real estate analytics, PropTech, housing index, median home price, metro, ZIP code, real estate investing, market research, housing data.

# Actor input Schema

## `metric` (type: `string`):

Home value (Zillow Home Value Index) or rent (Zillow Observed Rent Index).

## `geography` (type: `string`):

Region granularity.

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

latest = current value + 1-month & 1-year change per region; timeseries = full monthly history.

## `regionName` (type: `string`):

Filter regions by name, e.g. "New York", "Austin", "90210".

## `state` (type: `string`):

Filter by state abbreviation, e.g. "CA", "TX", "NY".

## `startDate` (type: `string`):

Only months on/after this date (YYYY-MM-DD) in time-series mode.

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

Maximum number of records to return.

## Actor input object example

```json
{
  "metric": "home_value",
  "geography": "metro",
  "mode": "latest",
  "maxResults": 5000
}
```

# 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("straightforward_hydra/us-housing-market-trends").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("straightforward_hydra/us-housing-market-trends").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 straightforward_hydra/us-housing-market-trends --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=straightforward_hydra/us-housing-market-trends",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "US Housing Market Trends — Zillow Home Values & Rents",
        "description": "Clean home-value (ZHVI) & rent (ZORI) data from Zillow Research — by metro, city, ZIP, county, state. No key.",
        "version": "0.1",
        "x-build-id": "mqJ6Xp3EfALJck6Dl"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/straightforward_hydra~us-housing-market-trends/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-straightforward_hydra-us-housing-market-trends",
                "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/straightforward_hydra~us-housing-market-trends/runs": {
            "post": {
                "operationId": "runs-sync-straightforward_hydra-us-housing-market-trends",
                "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/straightforward_hydra~us-housing-market-trends/run-sync": {
            "post": {
                "operationId": "run-sync-straightforward_hydra-us-housing-market-trends",
                "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": {
                    "metric": {
                        "title": "Metric",
                        "enum": [
                            "home_value",
                            "rent"
                        ],
                        "type": "string",
                        "description": "Home value (Zillow Home Value Index) or rent (Zillow Observed Rent Index).",
                        "default": "home_value"
                    },
                    "geography": {
                        "title": "Geography",
                        "enum": [
                            "metro",
                            "city",
                            "zip",
                            "county",
                            "state",
                            "neighborhood"
                        ],
                        "type": "string",
                        "description": "Region granularity.",
                        "default": "metro"
                    },
                    "mode": {
                        "title": "Mode",
                        "enum": [
                            "latest",
                            "timeseries"
                        ],
                        "type": "string",
                        "description": "latest = current value + 1-month & 1-year change per region; timeseries = full monthly history.",
                        "default": "latest"
                    },
                    "regionName": {
                        "title": "Region name contains",
                        "type": "string",
                        "description": "Filter regions by name, e.g. \"New York\", \"Austin\", \"90210\"."
                    },
                    "state": {
                        "title": "State",
                        "type": "string",
                        "description": "Filter by state abbreviation, e.g. \"CA\", \"TX\", \"NY\"."
                    },
                    "startDate": {
                        "title": "Start date (timeseries)",
                        "type": "string",
                        "description": "Only months on/after this date (YYYY-MM-DD) in time-series mode."
                    },
                    "maxResults": {
                        "title": "Max results",
                        "minimum": 1,
                        "maximum": 2000000,
                        "type": "integer",
                        "description": "Maximum number of records to return.",
                        "default": 5000
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
