Explore Zillow datasets covering all 50 US states — 45+ fields including list price, Zestimate, Rent Zestimate, beds, baths, and coordinates. Analysis-ready CSV.
Most Zillow datasets available today fall into one of two disappointing categories. Either they are aggregate index files — median price by metro, updated monthly, useful for charting a trend and nothing else — or they are single-city listing scrapes with the coordinates stripped out and half the columns missing.
This one is neither. It is a nationwide, listing-level Zillow dataset covering every U.S. state, where each row carries pricing, valuation, physical attributes, geolocation, listing status, and media flags. Load it, group it, model it — no geocoding step, no external joins, no reconstruction work.
Understanding the landscape helps you pick the right file for the job.
Aggregate index data. Zillow publishes free market-level indices — home value indices, rent indices, inventory counts — through Zillow Research. Excellent for macro trend analysis. Useless if you need to model an individual property.
Listing-level data. Row-per-property files with attributes, price, and status. This is what you need for valuation modeling, investment screening, or anything spatial. Far rarer at national scale, because assembling one requires sustained collection across every state.
Sold and transaction records. Closed-sale prices, typically sourced from county recorders rather than Zillow itself. Different data, different provider.
This dataset sits squarely in the second category — and the national coverage is the part that is genuinely hard to find. Among listing-level Zillow datasets, most stop at one metro or one state.
Among the forty-five columns, three carry disproportionate analytical weight — and their presence together is what separates this from thinner Zillow datasets.
zestimate gives you an independent valuation on the same row as the asking price. The gap between them is a directly measurable signal of seller optimism.
rent_zestimate turns every record into a cash-flow candidate. Rent-to-price ratio becomes a single arithmetic operation instead of a second data purchase.
tax_assessed_value is the assessor's number, which moves on a different clock than the market. Comparing it to price exposes assessment lag by jurisdiction.
Three independent value signals per property. Most listing exports give you one.
Real estate investors screening markets nationally instead of one MLS at a time. The rent-yield math that usually requires stitching two sources together is available in one file.
Data analysts and BI professionals building housing dashboards. ZIP code, state code, and coordinates all ship together, so the file drops into Tableau, Power BI, or Looker without a geography lookup step.
Machine learning practitioners training home-price prediction models. You get a target variable, a strong benchmark, and roughly forty features spanning structure, location, and listing behavior.
Proptech developers prototyping search, valuation, or lead-scoring products before committing to a paid API contract.
Academic researchers and students working on housing economics, spatial econometrics, or urban studies, where nationwide cross-sectional data is usually the bottleneck.
Spot over- and under-priced markets
Compare median price against median zestimate grouped by ZIP. A persistent positive gap means sellers are asking above algorithmic value — often a leading indicator of softening demand.
import pandas as pd df = pd.read_csv("zillow_dataset.csv") gap = ( df.groupby("zipcode") .agg(med_price=("price", "median"), med_zest=("zestimate", "median")) ) gap["premium_pct"] = (gap.med_price - gap.med_zest) / gap.med_zest * 100 print(gap.sort_values("premium_pct", ascending=False).head(20))
Anything above roughly 0.08 warrants a closer look; below 0.04 rarely cash-flows without heavy leverage. Sanity-check the rent estimates against HUD's Fair Market Rent datasets before trusting them at the market level.
Measure market temperature with price cuts and days on market
price_reduction_flag and days_on_zillow together form a demand index. Rising reduction share plus lengthening days on market is the classic cooling signature — the same relationship visible at national scale in the FHFA House Price Index.
Build price heat maps
Every row carries latitude and longitude, so density and price gradients render directly in GeoPandas or Kepler.gl. No geocoding, no address-parsing errors.
Track new construction share by state
Group is_new_construction by state to find where builders are concentrated, then cross-reference Census Bureau housing survey data for the supply-side view.
Benchmark assessed value against market price
tax_assessed_value versus price reveals which jurisdictions have assessments trailing the market — useful for estimating future property tax exposure.
For machine learning work, these Zillow datasets give you a clean baseline. A reasonable pipeline:
Target: price — log-transform it, since housing prices are right-skewed.
Numeric features: bedrooms, bathrooms, living_area, lot_area_value, latitude, longitude, days_on_zillow.
Categorical features: home_type, state, zipcode — target-encode ZIP rather than one-hot encoding it; the cardinality is far too high.
Leakage warning: exclude zestimate and price_label from your feature set. Zestimate is itself a price model. Including it produces a beautiful R² and a worthless model. Use it as the benchmark you are trying to beat.
Model: gradient boosting handles the mixed feature types and non-linear location effects well. Start from the scikit-learn regression guide if you want a simpler baseline first.
A well-tuned model on these features typically lands within 10–15% median absolute percentage error — competitive with published automated valuation benchmarks.
What this dataset is, and what it is not:
It is a listing snapshot, not a sales record. price is what the seller asked, not what a buyer paid. For closed-sale prices you need county recorder data or a source like the Median Sales Price series on FRED.
Zestimate is a model output, not ground truth. Zillow publishes its own accuracy metrics, and error rates vary meaningfully by market.
Nulls exist in optional fields. rent_zestimate, unit, and lot_area_value are sparse on some property types, land listings especially. Check null rates before assuming a column is populated.
Coverage is uneven by density. Rural states contribute fewer records than California, Texas, or Florida. Weight accordingly in national aggregates.
Vintage matters. Use created_at and updated_at to understand when any given row was captured.
The file ships in analysis-ready tabular format and loads directly with pandas:
df = pd.read_csv("zillow_dataset.csv", parse_dates=["date_price_changed", "created_at", "updated_at"]) print(df.shape) print(df.state.value_counts())
For anything larger than memory, convert to Parquet once and query with DuckDB — the columnar layout makes state-level and ZIP-level aggregations dramatically faster.
What are Zillow datasets? Zillow datasets are structured files containing property and housing market data sourced from Zillow. They range from free aggregate market indices to listing-level files with per-property attributes. This dataset is the listing-level type, covering all 50 US states.
What is included in this Zillow dataset? Over 45 fields per listing: address and coordinates, list price, Zestimate, Rent Zestimate, tax assessed value, bedrooms, bathrooms, living area, lot size, home type, listing status, days on market, agent and broker details, media flags, and record timestamps.
Does it cover all 50 states? Yes. Every US state is represented, with both a two-letter state code and a numeric state ID for joining to external geography tables.
Can I use Zillow datasets for machine learning? Yes — this one suits home price prediction, rent estimation, and market classification. Exclude the zestimate field from your features to avoid target leakage, and use it as a benchmark instead.
What is the difference between price and Zestimate? price is the seller's asking price on the listing. zestimate is Zillow's algorithmic estimate of market value. The gap between the two is itself a useful analytical signal.
Are sold prices included? No. This is a listing dataset covering active and recent listing states, not a record of closed transactions.
Do the records include latitude and longitude? Yes. Every record carries decimal latitude and longitude, so no geocoding step is required for mapping or spatial analysis.
How often is the data updated? Each record carries created_at and updated_at timestamps, so you can determine the vintage of a snapshot and build panel data across refreshes.
Zillow datasets are only as valuable as the questions they let you answer without extra work. This one is built so market screening, rent-yield ranking, price-cut tracking, and valuation modeling are each a single groupby away.