Zillow Market Trends Scraper avatar

Zillow Market Trends Scraper

Pricing

from $1.00 / 1,000 results

Go to Apify Store
Zillow Market Trends Scraper

Zillow Market Trends Scraper

Scrape Zillow market data for cities, ZIP codes, and states. Returns median listing price, days on market, inventory, price cuts, sale-to-list ratio, and historical trend arrays.

Pricing

from $1.00 / 1,000 results

Rating

5.0

(21)

Developer

Crawler Bros

Crawler Bros

Maintained by Community

Actor stats

21

Bookmarked

2

Total users

1

Monthly active users

10 days ago

Last modified

Share

Scrape real estate market trend data from Zillow for any US city or state. Returns the Zillow Home Value Index (ZHVI), median listing and sale prices, for-sale inventory, days to pending, sale-to-list ratio, rental index (ZORI), and configurable months of historical data — everything an investor or market analyst needs in one structured record.

Features

  • City or state input — e.g. "Austin, TX", "Texas", or "TX"
  • Home Value Index — latest ZHVI with year-over-year change
  • Listing & sale metrics — median listing price, median sale price, inventory, new listings
  • Transaction ratios — sale-to-list ratio, % selling above/below list, days to pending
  • Rental index — latest ZORI (Zillow Observed Rent Index)
  • Historical arrays — configurable months (1–120) of monthly trend data
  • Multiple locations per run — pass a list and get one record per location

Input

FieldTypeRequiredDefaultDescription
locationsstring[]City ("Austin, TX") or state ("Texas" / "TX")
historyMonthsinteger24Months of historical trend arrays to return (1–120)

Note: ZIP codes are not supported by Zillow's market data pages — use a city or state instead.

Output

One JSON record per location:

{
"location": "Austin, TX",
"locationType": "city",
"slug": "austin-tx",
"url": "https://www.zillow.com/austin-tx/home-values/",
"regionId": 10221,
"regionName": "Austin",
"zhviLatest": 508000,
"zhviYoY": -0.057,
"zhviAsOf": "2026-03-31",
"medianListingPrice": 556000,
"forSaleInventory": 4193,
"newListings": 1163,
"medianSalePrice": 528000,
"saleToListRatio": 0.972,
"pctSellingAboveList": 0.118,
"pctSellingBelowList": 0.741,
"medianDaysToPending": 53,
"zoriLatest": 1542,
"zhviHistory": [
{"date": "2026-03-31", "value": 508000}
],
"rentalHistory": [
{"date": "2026-03-31", "zori": 1542}
],
"scrapedAt": "2026-05-01T12:00:00Z"
}

Full field reference: see the Output tab in the Apify Console.

Use Cases

  • Investor research — score markets by ZHVI growth + sale-to-list ratio + days to pending
  • Real estate dashboards — feed Zillow's authoritative metrics into BI tools
  • Comparative market analysis — pull 50+ cities in one run for cross-market reports
  • Trend modeling — historical arrays drive YoY/QoQ analysis without scraping calendars
  • Rental yield calc — combine ZORI + ZHVI per market to model gross rental yield

Examples

Single city, 12-month history:

{
"locations": ["Austin, TX"],
"historyMonths": 12
}

Multi-state comparison:

{
"locations": ["TX", "FL", "CA", "NY"],
"historyMonths": 60
}

FAQs

What locations are supported? Any US city or state that has a home-values page on Zillow (zillow.com/{slug}/home-values/). ZIP codes are not supported — use a city name instead. International locations are not supported.

What is ZHVI? The Zillow Home Value Index is Zillow's estimate of the typical home value for a region. zhviYoY is the year-over-year change as a decimal (e.g. -0.057 = -5.7%).

What is ZORI? The Zillow Observed Rent Index tracks typical market-rate rents. Available for most cities and states.

Why are some fields missing? Zillow's data coverage varies by market. Smaller markets may omit some metrics. The actor returns whatever Zillow provides for each location.

Why are some history arrays shorter than historyMonths? Zillow may have less historical data available for certain markets. The actor returns up to the requested number of months, capped at what Zillow provides.

How many locations can I scrape per run? There is no hard cap — pass as many locations as you need. Each location takes 2–5 seconds including the inter-location delay.