Skip to main content

Zillow Scraper API

Search for-sale, for-rent, and sold listings, pull maximal property detail with the full resoFacts home-facts block, price / tax / Zestimate history, schools, and listing-agent attribution, look up agent profiles with reviews and past sales, and autocomplete locations across zillow.com — a dedicated Zillow real-estate API. The API handles authentication, anti-bot bypass, and session/proxy routing automatically.

Key Features

Deep Property Detail

~99 top-level fields per property plus a nested home_facts block distilled from Zillow’s resoFacts MLS record — beds, baths, sqft, lot size, systems, features, HOA, parcel, and more.

History & Estimates

Full price history, tax history, and Zestimate value history on the /v1/zillow/property/{zpid} detail endpoint, plus current Zestimate and Rent Zestimate.

Schools & Agents

Nearby schools with ratings, listing-agent attribution, and full agent profiles with reviews, past sales, and licenses.

Map-Bounds Tiling

Beat Zillow’s ~820-result (20-page) cap by re-issuing a search over subdivided north/south/east/west map-bound boxes returned in map_bounds.

Anti-Bot Bypass

Automatic session management, Chrome TLS impersonation, and fingerprint rotation to avoid blocks.

US Proxies

Requests are pinned to US residential IPs — Zillow serves all inventory (including Canadian MLS feeds) from zillow.com behind a US IP.
Zillow caps a single search at 20 pages (~820 results). For dense metros, split the area into smaller north/south/east/west map-bound tiles using the map_bounds box returned on each search.

Coverage

Zillow is a single-domain, single-locale target: every market is served from zillow.com in USD / en-US behind a US residential IP. zillow.ca redirects to zillow.com and Canadian inventory is an MLS data feed surfaced inside zillow.com — there is no separate Canadian portal or currency/locale switcher.
MarketPortalCountryCurrencyLocale
:us: USzillow.comUSUSDen-US
:canada: CAzillow.comCAUSDen-US
Use the /v1/zillow/markets endpoint to get the advertised coverage (with domain, currency, and locale) programmatically. Markets are informational only — there is no market routing parameter.

Quick Start

import ScrapeBadger from "scrapebadger";

const client = new ScrapeBadger({ apiKey: "YOUR_API_KEY" });

const results = await client.zillow.search({
  location: "Austin, TX",
  status: "for_sale",
});

console.log(results.results);

Endpoints

EndpointMethodDescription
/v1/zillow/searchGETSearch Zillow for listings
/v1/zillow/property/{zpid}GETFull detail for a single property
/v1/zillow/agentGETAgent profile, reviews, past sales, listings
/v1/zillow/autocompleteGETLocation autocomplete suggestions
/v1/zillow/marketsGETList advertised coverage markets

Credit Costs

EndpointCost
Search5 credits
Get property detail5 credits
Get agent profile5 credits
Autocomplete2 credits
List markets0 credits
Failed requests0 credits

Authentication

All requests require your API key in the X-API-Key header:
curl "https://scrapebadger.com/v1/zillow/search?location=Miami,+FL" \
  -H "X-API-Key: YOUR_API_KEY"

Anti-Bot Handling

Zillow protects its listings with PerimeterX/HUMAN fingerprinting, IP-reputation scoring, and TLS/HTTP-2 fingerprinting, and renders most data as embedded page JSON (__NEXT_DATA__ search state and gdpClientCache property detail). ScrapeBadger clears these automatically using Chrome TLS impersonation on US-pinned sessions. You never need to manage proxies, sessions, or CAPTCHAs.
A few Zillow datapoints (comparable sales, Walk/Transit/Bike scores, climate risk) are lazy-loaded client-side and are not in the server-rendered JSON, so they are intentionally absent from responses.

Rich Datapoints

Every property carries a deep set of structured fields:
GroupFields
Pricingprice, zestimate, rent_zestimate, tax_assessed_value, monthly_hoa_fee, property_tax_rate, last_sold_price, price_change
Sizebedrooms, bathrooms, living_area, lot_size, lot_area_value, year_built, plus home_facts bath/story/area breakdowns
Locationstreet_address, city, state, zipcode, county, neighborhood, latitude, longitude, time_zone
Mediaphotos[], photo_count, virtual_tour_url, has_3d_model, street_view_image_url, static_map_url
Historyprice_history[], tax_history[], zestimate_history[], days_on_zillow
Factshome_facts (heating, cooling, appliances, flooring, parking, pool, HOA, green, features, parcel — ~125 fields)
Contextschools[], home_insights[], open_house_schedule[], nearby_cities/neighborhoods/zipcodes, agent attribution, mortgage_rates
Search returns each result as a Listing (~50 fields); the property detail endpoint returns a full Property with the nested home_facts, history, schools, and agent blocks.

Next Steps

Search Listings

Full API reference for searching the Zillow catalog

Property Detail

Retrieve full detail, home facts, price/tax/Zestimate history, schools, and agent for a property