Full-coverage ingest of the ENTIRE Zillow Research public CSV catalog. Source page: https://www.zillow.com/research/data/ (the page embeds a JS `var data` object mapping SET -> TYPE -> GEOGRAPHY -> direct CSV URL on files.zillowstatic.com). License class: zillow-research (re-serveable). Attribution…
Zillow Research (ZHVI / ZORI). Retrieved from https://www.zillow.com/research/data. Compiled and redistributed by the Elkassabgi Data Library.
Processing: Retrieved from the official source, normalized to a long {series_key, obs_date, value} schema (period-start dates), de-duplicated, and stored as zstd Parquet. Compiled and redistributed by the Elkassabgi Data Library.
Full-coverage ingest of the ENTIRE Zillow Research public CSV catalog. Source page: https://www.zillow.com/research/data/ (the page embeds a JS `var data` object mapping SET -> TYPE -> GEOGRAPHY -> direct CSV URL on files.zillowstatic.com). License class: zillow-research (re-serveable). Attribution MUST read exactly "Data Provided by Zillow Group". What we pull ------------ EVERY metric x EVERY geography x EVERY frequency Zillow publishes: Home Values (ZHVI, all tiers/home-types), Home-Value Forecast (ZHVF), Rentals (ZORI/ZORDI), Rental Forecast (ZORF), For-Sale Listings (inventory, median list price, new listings, new pending, share price-cut...), Sales (median/mean sale price, sales count, sale-to-list, days-to-close, total transaction value...), Days-on-Market & Price-Cuts, Market Heat Index, New Construction, and Affordability. Across ~206 live CSVs spanning geographies National / Metro / State / County / City / Zip / Neighborhood, monthly + weekly. GROUPED storage (anti-bloat) ---------------------------- ONE Parquet "cube" per source CSV (the dataset), each holding MANY region-level series in long form -- never one-file-per-series. ~206 cubes total. Per cube we write under data/clean_full/zillow/ : <dataset>.parquet long obs: dataset, series_key, obs_date, value <dataset>__series.parquet one row per region series + all ID/metadata columns <dataset>.meta.json verification stats (re-read from disk) And a top-level zillow.meta.json aggregating the run. Each wide Zillow CSV is region rows x date columns. Leading non-date columns (RegionID, SizeRank, RegionName, RegionType, StateName, and -- for finer geos -- State, City, Metro, CountyName, FIPS, plus BaseDate on forecasts) are metadata; they go in the __series sidecar. Every YYYY-MM-DD column becomes a long observation (obs_date = that date, value = the cell). series_key format: zillow:<metric>:<geo>:<RegionID> e.g. zillow:zhvi:Metro:394913 Usage ----- python jobs/ingest_zillow.py --refresh # re-fetch the research page + re-enumerate python jobs/ingest_zillow.py --dry 5 # parse 5 cubes to memory, print, no writes python jobs/ingest_zillow.py # FULL run (download + parse + write + verify) python jobs/ingest_zillow.py --catalog # also upsert into catalog.db (off by default)
{
"@context": "https://schema.org/",
"@type": "Dataset",
"name": "Zillow Research",
"description": "Full-coverage ingest of the ENTIRE Zillow Research public CSV catalog. Source page: https://www.zillow.com/research/data/ (the page embeds a JS `var data` object mapping SET -> TYPE -> GEOGRAPHY -> direct CSV URL on files.zillowstatic.com). License class: zillow-research (re-serveable). Attribution…",
"url": "https://econdatalibrary.com/zillow.html",
"identifier": "zillow",
"isAccessibleForFree": true,
"publisher": {
"@type": "Organization",
"name": "Econ Data Library",
"url": "https://econdatalibrary.com"
},
"creator": {
"@type": "Organization",
"name": "Zillow Research"
},
"license": "zillow-research",
"keywords": [
"housing",
"zillow"
],
"temporalCoverage": "2000-01-31/2026-04-30",
"repeatFrequency": "P1M",
"creditText": "Data Provided by Zillow Group",
"citation": "Zillow Research (ZHVI / ZORI). Retrieved from https://www.zillow.com/research/data. Compiled and redistributed by the Elkassabgi Data Library.",
"sameAs": [
"https://huggingface.co/datasets/econdatalibrary-zillow",
"https://zenodo.org/communities/econdatalibrary"
],
"distribution": [
{
"@type": "DataDownload",
"encodingFormat": "text/csv",
"contentUrl": "https://econdatalibrary.com/download.html?source=zillow"
}
]
}{
"@context": {
"@language": "en",
"@vocab": "https://schema.org/",
"cr": "http://mlcommons.org/croissant/",
"data": {
"@id": "cr:data",
"@type": "@json"
},
"dataType": {
"@id": "cr:dataType",
"@type": "@vocab"
},
"sc": "https://schema.org/",
"conformsTo": "dct:conformsTo",
"dct": "http://purl.org/dc/terms/"
},
"@type": "sc:Dataset",
"conformsTo": "http://mlcommons.org/croissant/1.0",
"name": "zillow",
"description": "Full-coverage ingest of the ENTIRE Zillow Research public CSV catalog. Source page: https://www.zillow.com/research/data/ (the page embeds a JS `var data` object mapping SET -> TYPE -> GEOGRAPHY -> direct CSV URL on files.zillowstatic.com). License class: zillow-research (re-serveable). Attribution…",
"url": "https://econdatalibrary.com/zillow.html",
"creator": {
"@type": "sc:Organization",
"name": "Zillow Research"
},
"publisher": {
"@type": "sc:Organization",
"name": "Econ Data Library",
"url": "https://econdatalibrary.com"
},
"license": "zillow-research",
"keywords": [
"housing"
],
"temporalCoverage": "2000-01-31/2026-04-30",
"citation": "Zillow Research (ZHVI / ZORI). Retrieved from https://www.zillow.com/research/data. Compiled and redistributed by the Elkassabgi Data Library.",
"distribution": [
{
"@type": "cr:FileObject",
"@id": "zillow-csv",
"name": "zillow-csv",
"description": "Per-series CSV, downloadable with a free API key.",
"contentUrl": "https://econdatalibrary.com/download.html?source=zillow",
"encodingFormat": "text/csv"
}
]
}