Zillow Detail Scraper avatar

Zillow Detail Scraper

Pricing

Pay per usage

Go to Apify Store
Zillow Detail Scraper

Zillow Detail Scraper

Scrape full Zillow property details as clean JSON — Zestimate, price history, tax history, nearby schools, photos, listing agent, home facts, plus comps, walk/transit/bike scores, value-over-time and local market trends. Just pass a zpid or Zillow URL. No proxies, no CAPTCHAs, no login.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

ReefAPI

ReefAPI

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Share

Zillow Detail Scraper — Full Property Data, Zestimate, History & Comps as JSON

📮 Need help, hit a problem, want a new feature, or a field that's missing from the output? Email support@reefapi.com or open an issue on the Issues tab of this Actor — we reply fast and take feature requests seriously.

Scrape complete Zillow property details as clean, structured JSON. Pass a zpid or Zillow URL and get the full record: Zestimate (with monthly value history), price history, tax history, nearby schools with ratings, photos, listing agent & broker, home facts (beds, baths, sqft, lot, year built, HOA, property-tax rate, days-on-market), plus comparable homes (comps), walk / transit / bike scores and local market trends. No proxies, no CAPTCHAs, no login — just send an id and get the data.

What is the Zillow Detail Scraper?

The Zillow Detail Scraper is a Zillow property data API that hydrates a single home into everything Zillow knows about it. Where a search gives you the summary card, this Actor opens the full property page and returns the deep record — description, Zestimate and its history, price and tax history, RESO facts, nearby schools, the listing agent and broker, and dozens of home facts. It also answers area questions: pull comparable homes to build comps, walk/transit/bike scores for a location, the Zestimate value-over-time chart, or local market trends (median list/sale price, inventory, days-to-pending) for a city or ZIP. It's the tool you use to scrape Zillow property details and enrich a list of zpids into full, analysis-ready records.

What can this Zillow Detail Scraper do?

  • 🏠 Full property detail — everything Zillow shows for a home, as flat JSON.
  • 💰 Zestimate + value history — current estimate plus the monthly value-over-time series.
  • 📈 Price & tax history — past list/sale events and year-by-year tax records.
  • 🏫 Nearby schools — assigned/nearby schools with ratings and distance.
  • 🧑‍💼 Listing agent & broker — who's representing the home, MLS id and parcel id.
  • 🖼️ Photos & description — the full photo set and listing narrative.
  • 🔁 Comparable homes (comps) — ranked comparable listings near a property.
  • 🚶 Walk / transit / bike scores — with descriptions.
  • 📊 Local market trends — median list/sale price, inventory, days-to-pending for an area.

What data can I extract?

property_detail returns one flat record per home. Key fields (from real output):

FieldWhat it is
zpid / urlZillow id + link to the property page
status / property_typeFOR_SALE / SOLD · SINGLE_FAMILY, CONDO, …
list_price_usd / price_per_sqft_usdList price and price per square foot
zestimate_usdCurrent Zestimate market value
zestimate_historyMonthly Zestimate value-over-time series
rent_zestimate_usdEstimated monthly rent
last_sold_price_usd / last_sold_dateMost recent sale price + date
price_change_usd / price_change_dateLatest price change on the listing
beds / baths / sqft / lot_sqftCore home facts
year_builtConstruction year
days_on_marketDays live on Zillow
property_tax_rateEffective property-tax rate (%)
hoa_fee_monthly_usdMonthly HOA fee (when applicable)
address_line / city / state_code / postal_codeAddress breakdown
county / neighborhood / subdivisionLocality context
latitude / longitudeExact coordinates
descriptionFull listing narrative
price_historyPast listing/sale events
tax_historyYear-by-year tax records
schoolsNearby schools with ratings
photos / photo_countPhoto URLs + count
listing_agent / agent_name / broker_name / brokerAgent & brokerage detail
mls_id / parcel_idMLS number + county parcel id
reso_factsStructured RESO home facts
walk_transit_scoreWalk / transit / bike scores
home_insightsZillow "home insights" tags

Some new-construction / condo listings serve a "light" page where Zillow lazy-loads price/tax history and schools client-side — those arrays can be empty for such homes. Core fields (price, address, beds/baths/sqft, coordinates, Zestimate when published) are present. Field availability can vary as Zillow changes its pages.

How do I scrape a Zillow property?

  1. Open the Actor and go to the Input tab.
  2. Pick an Action — Full property detail, Comps, Walk/transit/bike, Zestimate value history, or Local market trends.
  3. Enter a zpid (from a search result or the …/12345678_zpid/ URL) or a Zillow property URL. For market trends, enter a Location instead.
  4. Click Start, then download the record as JSON, CSV or Excel from the Dataset tab.

Input

{ "action": "property_detail", "zpid": "29505949" }
  • zpid — Zillow property id (detail, comps, scores, value history).
  • url — a Zillow property URL, as an alternative to zpid.
  • location — city / ZIP / neighborhood, for Local market trends.
  • params — advanced JSON (e.g. zpids[] for batch detail, count for comps).

Output

Real property_detail response (trimmed — long arrays shown as […]):

{
"zpid": 29505949,
"source": "zillow",
"url": "https://www.zillow.com/homedetails/29505949_zpid/",
"status": "FOR_SALE",
"property_type": "SINGLE_FAMILY",
"list_price_usd": 439000,
"price_per_sqft_usd": 314.02,
"zestimate_usd": 440000,
"zestimate_history": [ { "date_ms": 1698735600000, "value_usd": 442200 } ],
"rent_zestimate_usd": null,
"last_sold_date": "2017-11-02",
"beds": 3, "baths": 3, "sqft": 1398, "lot_sqft": 7997.616, "year_built": 1984,
"days_on_market": 17,
"property_tax_rate": 1.46,
"hoa_fee_monthly_usd": null,
"address_line": "8536 Birmingham Dr",
"city": "Austin", "state_code": "TX", "postal_code": "78748",
"county": "Travis County",
"neighborhood": "Dittmar-Slaughter",
"subdivision": "Buckingham Estates Ph 3 Sec 4",
"latitude": 30.181974, "longitude": -97.806564,
"description": "Stylish and move-in ready, this South Austin home offers extensive updates…",
"price_history": [], "tax_history": [], "schools": [], "photos": [],
"photo_count": 38,
"agent_name": "Richard Caprioli",
"broker_name": "Engel & Volkers Austin",
"mls_id": "5471794",
"parcel_id": "04251819100000",
"reso_facts": {},
"walk_transit_score": {}
}

Use cases

  • Comps & valuation — pull a home's Zestimate, value history and comparable sales for pricing models.
  • Investment underwriting — taxes, HOA, rent Zestimate, price-per-sqft and days-on-market in one record.
  • Property enrichment — hydrate a list of zpids from search into full detail records.
  • Market research — combine detail + local market trends for an area-level view.
  • Location scoring — attach walk/transit/bike scores and school ratings to a property.
  • Agent & MLS lookup — resolve the listing agent, broker, MLS id and parcel id for a home.

FAQ

Is there an official Zillow API? Zillow retired most of its public property APIs. This Actor is the practical way to get full Zillow property detail, Zestimate history and comps as structured JSON.

Why scrape Zillow property details? The detail page holds the data that matters for valuation — Zestimate history, price/tax history, schools, RESO facts and comps. Pulled in bulk it powers AVMs, underwriting, comps tools and property-tech features.

How much does it cost? Billed on Apify's pay-as-you-go model, benchmarked to be competitive with other Zillow scrapers. See the Pricing section on this Actor's page for the current rate.

Can I integrate it? Yes — run it from the Apify API or the Python / Node.js clients, and connect the output to Make, Zapier, n8n, Google Sheets, webhooks or your database. Great for enriching zpids on a schedule.

Is it legal to scrape Zillow? Reading publicly available property pages (no login, no accounts) is generally lawful. Detail records can include an agent's name — handle any personal data responsibly and per GDPR/CCPA. Not legal advice.


Unofficial — not affiliated with Zillow. Public data only.