Zillow Scraper avatar

Zillow Scraper

Pricing

Pay per usage

Go to Apify Store
Zillow Scraper

Zillow Scraper

Scrape Zillow real-estate listings as clean JSON — search homes for sale, for rent and recently sold by location, map bounds or a Zillow search URL. Get price, beds, baths, sqft, lot size, address, coordinates, Zestimate, photos, days-on-market and broker. 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

4 days ago

Last modified

Share

Zillow Scraper — Search Homes for Sale, Rent & Sold 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 Zillow real-estate listings as clean, structured JSON. Search homes for sale, for rent and recently sold by location, map bounds or a Zillow search URL, with full filters — price, beds, baths, sqft, lot size, home type, year built, HOA, days-on-market and keywords. Every listing comes back with price, Zestimate, beds/baths/sqft, address, coordinates, broker and photos. No proxies, no CAPTCHAs, no login, no daily call limits — just send a location and get the data.

What is the Zillow Scraper?

The Zillow Scraper is a fast, no-code Zillow data API that turns any Zillow search into a downloadable dataset. Instead of copy-pasting listings by hand or fighting bot walls, you send a location (or a Zillow URL, or a map bounding box) and get back every matching property as flat JSON, CSV or Excel. It's the easiest way to scrape Zillow listings for real-estate lead lists, market research, comps and property-tech products — whether you want to search Zillow homes for sale, pull for-rent inventory, or collect recently sold history. Point it at a city, ZIP, neighborhood or county and it handles paging, filters and the ~860-result cap for you.

What can this Zillow Scraper do?

  • 🔎 Search listings — for-sale / for-rent / sold homes in any city, ZIP, neighborhood or county, with 15+ filters.
  • 🔗 Search by Zillow URL — paste a Zillow results URL (?searchQueryState=...) and replay it exactly.
  • 🗺️ Search by map bounds — pass a lat/long bounding box for precise map-area coverage.
  • 🏷️ Recently sold — sold listings with sale price (where the state discloses it) and sold date.
  • 💬 Location autocomplete — turn partial text ("austi") into Zillow regions.
  • 🔓 Bypass the ~860 cap — set fetch_all: true to subdivide dense areas and return every listing.
  • 💵 Rich fields per home — list price, Zestimate, rent Zestimate, tax-assessed value, beds/baths/sqft, lot size, days-on-market, broker and photos.

🔓 Beyond the ~860-result cap

Zillow caps a normal search at roughly 860 results. Set fetch_all: true and the scraper subdivides dense areas to return every listing in the region — ideal for full-market pulls, investor lead lists and complete inventory snapshots. It's slower but complete; combine it with Max results to control run size.

What data can I extract?

Each listing is returned as a flat record. Key fields (real output shown below):

FieldWhat it is
zpidZillow property id (stable key for a home)
urlDirect link to the Zillow listing page
list_price_usd / price_displayNumeric list price + formatted string ($750,000)
status / status_textFOR_SALE / FOR_RENT / SOLD + human status (Active)
property_typeSINGLE_FAMILY, CONDO, TOWNHOUSE, MULTI_FAMILY, LAND, …
beds / bathsBedroom and bathroom counts
sqft / lot_sqftLiving area and lot size in square feet
zestimate_usdZillow's estimated market value (when published)
rent_zestimate_usdEstimated monthly rent (when published)
tax_assessed_value_usdTax-assessed value
days_on_marketDays the listing has been live
address_line / addressStreet line + full formatted address
city / state_code / postal_codeLocation breakdown
latitude / longitudeExact coordinates for mapping
broker_nameListing brokerage
is_showcaseWhether it's a Zillow Showcase listing
photosArray of listing photo URLs

Field availability can vary — Zillow doesn't publish a Zestimate, rent Zestimate or tax value for every home, and can change its page structure at any time. Core fields (price, address, beds/baths/sqft, coordinates, URL) are always present.

How do I scrape Zillow?

  1. Open the Actor and go to the Input tab.
  2. Pick an Action (Search listings is the default).
  3. Type a Location (e.g. Austin, TX), choose Listing status, and add any filters (price, beds, baths, home type, days-on-market, keywords).
  4. Optionally tick Fetch ALL listings to go beyond the ~860 cap, and set Max results.
  5. Click Start. When the run finishes, download the results as JSON, CSV, Excel or HTML from the Dataset tab, or pull them via the Apify API.

Input

{
"action": "search",
"location": "Austin, TX",
"status": "for_sale",
"price_max": 700000,
"beds_min": 3,
"max_results": 200
}
  • location — city / ZIP / neighborhood / county (search & sold).
  • statusfor_sale · for_rent · sold.
  • fetch_all — bypass the ~860 cap (slower, complete).
  • price_min / price_max, beds_min, baths_min, home_type, days_on_max, keywords.
  • url — for Search by Zillow URL; map_bounds{north, south, east, west} for Search by map bounds.
  • query — for Location autocomplete.
  • params — advanced JSON: sqft_min/max, lot_min/max, year_built_min/max, max_hoa, max_pages, …

Output

Real response (trimmed to one representative listing):

{
"zpid": 337141915,
"source": "zillow",
"url": "https://www.zillow.com/homedetails/4907-Watusi-Bnd-2-Austin-TX-78732/337141915_zpid/",
"list_price_usd": 750000.0,
"price_display": "$750,000",
"status": "FOR_SALE",
"status_text": "Active",
"property_type": "SINGLE_FAMILY",
"beds": 4.0,
"baths": 3.0,
"sqft": 2586.0,
"lot_sqft": 24668.03,
"zestimate_usd": null,
"rent_zestimate_usd": null,
"tax_assessed_value_usd": 732733.0,
"days_on_market": 8,
"address_line": "4907 Watusi Bnd #2",
"city": "Austin",
"state_code": "TX",
"postal_code": "78732",
"address": "4907 Watusi Bnd #2, Austin, TX 78732",
"latitude": 30.388262,
"longitude": -97.8774,
"broker_name": "Keller Williams Realty",
"is_showcase": true,
"photos": ["https://photos.zillowstatic.com/fp/a8b0cc525925715ca3b3eac45a19ca60-p_e.jpg"]
}

Use cases

  • Real-estate lead lists — build buyer / seller / investor pipelines by area and filters.
  • Market analysis & comps — pull for-sale + sold inventory to model pricing per ZIP.
  • Property tech & portals — power search, map and listing features with fresh data.
  • Investment screening — filter by price, Zestimate, rent Zestimate and days-on-market.
  • Rental market research — track for-rent inventory, rent Zestimates and availability.
  • Full-market snapshots — use fetch_all to capture every listing in a metro for a point-in-time dataset.

FAQ

Is there an official Zillow API? Zillow retired most of its public listing APIs, and the remaining partner programs are limited and gated. This Actor is the practical way to get Zillow search data as structured JSON without a partnership.

Why scrape Zillow? Zillow is the largest US real-estate marketplace. Its listing, price, Zestimate and sold data powers lead generation, comps, valuation models, market dashboards and property-tech products — none of which you can get in bulk through the front end.

How much does it cost? This Actor runs on Apify's pay-as-you-go model — you're billed for what you use (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 with my app or spreadsheet? Yes. Run it from the Apify API or the official Python / Node.js clients, schedule it, and connect the output to Make, Zapier, n8n, Google Sheets, Slack, webhooks or your database via Apify integrations.

Is it legal to scrape Zillow? Scraping publicly available data is generally lawful, and this Actor only reads public listing pages (no login, no personal accounts). Listing data can include agent/broker names — treat any personal data responsibly and in line with GDPR/CCPA. This is not legal advice; if in doubt, consult a lawyer.


Unofficial — not affiliated with Zillow. Public data only.