Zillow Scraper - Real Estate Listings, Agents & Zestimate avatar

Zillow Scraper - Real Estate Listings, Agents & Zestimate

Pricing

$2.00 / 1,000 results

Go to Apify Store
Zillow Scraper - Real Estate Listings, Agents & Zestimate

Zillow Scraper - Real Estate Listings, Agents & Zestimate

Scrape Zillow listings, agent contacts, prices, Zestimate, photos, price & tax history at scale. Two modes: DETAIL (per URL or ZPID) and SEARCH (paginated by city, ZIP, neighborhood). HTTP-only with Chrome TLS impersonation + US residential proxies. No Zillow API needed. Export JSON, CSV, Excel.

Pricing

$2.00 / 1,000 results

Rating

0.0

(0)

Developer

ApiMaster

ApiMaster

Maintained by Community

Actor stats

1

Bookmarked

9

Total users

3

Monthly active users

4 days ago

Last modified

Share

๐Ÿก Zillow Scraper โ€” Extract Zillow Real Estate Data at Scale

The fastest, no-browser Zillow scraper for Apify. Extract full listing details, agent contacts, price history, Zestimate, photos, and search results from Zillow.com โ€” without the official Zillow API, without a headless browser, and without getting blocked. Built on pure HTTP requests with Chrome TLS-fingerprint impersonation, US residential proxies, and automatic captcha bypass.

Scrape For Sale, Sold, and For Rent Zillow listings. Search by city, ZIP code, neighborhood, or region URL. Paginate up to 820 listings per query.


๐Ÿ”ฅ What does Zillow Scraper do?

Zillow Scraper is a drop-in replacement for the Zillow API that pulls every public field from a Zillow property page or search result. Use it to:

  • ๐Ÿ˜๏ธ Extract Zillow listing data at scale โ€” price, beds, baths, square footage, lot size, year built, home type
  • ๐Ÿ“ Search Zillow by ZIP code, city, neighborhood, or address with full pagination across all result pages
  • ๐Ÿ  Scrape For Sale, Sold, and For Rent properties from any US region
  • ๐Ÿ“ฉ Build real estate agent contact lists โ€” listing agent name, phone, email, license number, broker info
  • ๐Ÿ’ฐ Capture full price history, tax history, and Zestimate (including rent Zestimate)
  • ๐ŸŠ Pull property amenities โ€” pool, fireplace, parking, security, HOA, schools, nearby homes
  • ๐Ÿ–ผ๏ธ Download high-resolution photo URLs (50+ photos per listing)
  • ๐Ÿ“Š Export Zillow data to JSON, CSV, Excel, XML, or RSS
  • ๐Ÿ”Œ Integrate with Make, Zapier, n8n, Google Sheets via Apify webhooks and integrations

โš™๏ธ Two scraping modes

Mode 1 โ€” DETAIL: full property data per listing

Provide individual Zillow listing URLs or raw ZPIDs. The scraper returns the complete native Zillow property payload โ€” the same data that powers the Zillow website itself (extracted from the embedded GraphQL cache).

Mode 2 โ€” SEARCH: paginated search results by query

Provide a search query ("Beverly Hills, CA", "90210", "sonoma-ca") or a full Zillow search URL. The scraper paginates through every result page and emits one summary item per listing โ€” zpid, detailUrl, address, price, beds, baths, homeStatus, zestimate, latLong, etc.

๐Ÿ’ก Pro tip: chain SEARCH โ†’ DETAIL by feeding the output dataset of a SEARCH run into the datasetId input of a DETAIL run.


๐Ÿ“ฅ Input

SEARCH mode

{
"mode": "SEARCH",
"searchQueries": ["Beverly Hills, CA", "90210", "https://www.zillow.com/sonoma-ca/"],
"propertyStatus": "FOR_SALE",
"maxPagesPerSearch": 20,
"maxConcurrency": 5,
"proxy": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"],
"apifyProxyCountry": "US"
}
}

DETAIL mode

{
"mode": "DETAIL",
"startUrls": [
{ "url": "https://www.zillow.com/homedetails/17199-Park-Ave-Sonoma-CA-95476/15800416_zpid/" }
],
"zpids": ["15800416"],
"datasetId": "optional-id-from-a-previous-SEARCH-run"
}
FieldModeDescription
modebothDETAIL or SEARCH
startUrlsDETAILZillow /homedetails/ URLs
zpidsDETAILRaw ZPIDs (e.g. "15800416")
datasetIdDETAILApify dataset id from a previous SEARCH or third-party Zillow scraper run
searchQueriesSEARCHFree-text queries, region slugs, or full Zillow URLs
maxPagesPerSearchSEARCHPagination cap per query (1โ€“20, default 20)
propertyStatusbothFOR_SALE / SOLD / FOR_RENT / ANY
maxConcurrencybothParallel requests (default 5)
maxRetriesbothRetry budget on 4xx/5xx
proxybothApify proxy config โ€” US residential by default
rawOutputDETAILInclude raw GraphQL cache under _raw

๐Ÿ“ค Output

DETAIL mode (one item per listing)

Mirrors Zillow's native property payload โ€” over 150 fields including:

  • Identity: zpid, hdpUrl, mlsid, parcelId, countyFIPS
  • Address: streetAddress, city, state, zipcode, latitude, longitude, county, neighborhoodRegion
  • Listing: homeStatus (FOR_SALE / SOLD / FOR_RENT), price, lastSoldPrice, daysOnZillow, datePostedString
  • Property: bedrooms, bathrooms, livingArea, lotSize, yearBuilt, homeType
  • Detailed facts (resoFacts): appliances, cooling, heating, parking, HOA, view, flooring, roofing, foundation, schools
  • Agent / broker (attributionInfo): agentName, agentPhoneNumber, agentEmail, agentLicenseNumber, brokerName, brokerPhoneNumber, mlsId, mlsName
  • Financial: zestimate, rentZestimate, taxHistory[], priceHistory[], monthlyHoaFee, propertyTaxRate, mortgageZHLRates
  • Media: responsivePhotos[] (high-res), photoCount, virtualTourUrl, hiResImageLink, desktopWebHdpImageLink
  • Locale: nearbyCities[], nearbyNeighborhoods[], nearbyZipcodes[], nearbyHomes[], comps[], schools[]
  • Scheduling: tourEligibility, openHouseSchedule

SEARCH mode (one item per result row)

  • searchQuery, page, sourceUrl
  • zpid, detailUrl, imgSrc
  • price, unformattedPrice, address, addressStreet, addressCity, addressState, addressZipcode
  • beds, baths, area, latLong
  • homeStatus, homeType, daysOnZillow, zestimate, rentZestimate
  • brokerName, listing_sub_type, hdpData.homeInfo.*

๐Ÿ›ก๏ธ How it bypasses Zillow's anti-bot (PerimeterX / HUMAN)

Most public Zillow scrapers fail because Zillow fingerprints the TLS handshake and HTTP/2 SETTINGS frame before any header or cookie is checked. This scraper uses:

  • curl_cffi with Chrome TLS impersonation โ€” every request looks identical to a real Chrome browser at the byte level (cipher suites, ALPN, JA3/JA4, HTTP/2 priority frames).
  • US residential proxies by default โ€” Zillow only serves data to US visitors and aggressively blocks datacenter ASNs.
  • Fresh proxy session ID per retry โ€” uuid rotates the Apify exit IP on every captcha or proxy failure.
  • Dedicated retry budgets: 5 retries for proxy errors + 5 retries for captcha challenges, independent of the main retry counter so transient blocks never exhaust your budget.
  • 15-second timeout, exponential backoff with jitter.
  • No headless browser โ†’ 5โ€“10ร— faster and cheaper than Playwright/Puppeteer scrapers.

๐Ÿ’ผ Use cases

  • ๐Ÿ“ˆ Real estate market research and competitive price analysis
  • ๐ŸŽฏ Lead generation โ€” build targeted real estate agent contact lists
  • ๐Ÿค– Train ML models on US housing data (Zestimate validation, price prediction)
  • ๐Ÿ“Š Investor dashboards monitoring new listings in target neighborhoods
  • ๐Ÿ’ต Compare Zestimate vs actual sale price for valuation accuracy
  • ๐Ÿ—๏ธ Custom real estate search engines and aggregators
  • ๐Ÿ“ฐ News and journalism โ€” track housing trends by ZIP code
  • ๐Ÿ”” Price-drop alerts for specific properties

๐Ÿ’ฐ Pricing

Pay-per-result on the Apify platform. With Apify's Free plan ($5/month free credits) you can scrape ~1,500 listings for free. The Starter plan ($49/month) gives you ~16,000 listings monthly. Higher tiers scale linearly.

Apify proxy traffic to Zillow is included in the listed pay-per-result price.


โ“ FAQ

Q: Do I need a Zillow API key? No. This scraper extracts only publicly visible Zillow data โ€” exactly what any visitor to zillow.com can see.

Q: Is it legal to scrape Zillow? Public real estate data (price, address, beds, baths, etc.) is legally scrapeable in most jurisdictions. Personal data (agent emails, phone numbers) is regulated under GDPR / CCPA โ€” consult your legal team for commercial use cases that store or process such data.

Q: Can I get more than 1,500 results for free? Yes โ€” Apify's free $5 credits renew every month.

Q: Does the scraper paginate automatically? Yes. In SEARCH mode it walks through every page up to maxPagesPerSearch (default 20 pages ร— 41 listings = ~820 results per query).

Q: Can I scrape sold and for-rent properties? Yes. Set propertyStatus to SOLD or FOR_RENT in SEARCH mode, or just provide any /homedetails/ URL in DETAIL mode โ€” the scraper handles all three statuses uniformly.

Q: Can I integrate this with Zapier / Make / n8n / Google Sheets? Yes. Apify provides native integrations and webhooks for all major automation platforms. Trigger a Zillow scrape from a Google Sheet, send results to Slack, or pipe new listings directly into your CRM.

Q: What proxy should I use? US residential. Already configured by default. Datacenter, mobile, or non-US proxies will be blocked by PerimeterX.

Q: How fast is it? ~2 seconds per listing through US residential proxy. With maxConcurrency: 10 you can process 1,000 listings in ~3โ€“5 minutes.

Q: What happens if a listing is blocked? The scraper auto-rotates the Apify proxy session (new IP) and retries up to 5 times. Failed URLs are emitted as {"sourceUrl": "...", "error": "..."} items so you never lose visibility.

Q: Can I export to CSV / Excel? Yes. Apify datasets export to JSON, CSV, Excel, XML, RSS, and HTML out of the box. You can also stream results via the Apify API in any language (Python, Node.js, Go, etc.).


๐Ÿ› ๏ธ Run locally

git clone <repo>
cd zillow_apify
pip install -r requirements.txt
apify run # uses storage/key_value_stores/default/INPUT.json
# or
python -m src

Deploy to Apify with one command:

deploy.bat # Windows
# or
apify push --force

๐Ÿท๏ธ Tags

zillow scraper ยท zillow api ยท zillow data extraction ยท real estate scraper ยท property scraper ยท mls scraper ยท home listings ยท for sale ยท sold homes ยท for rent ยท zestimate ยท real estate api ยท housing data ยท zillow zip code search ยท zillow agents ยท real estate web scraping ยท python zillow scraper ยท apify zillow ยท zillow listing data ยท real estate lead generation ยท property data api ยท us housing market data ยท mls data ยท realtor scraper ยท homes for sale data


๐Ÿ”— Built for Apify ยท Pure HTTP, no browser ยท TLS impersonation ยท US residential proxies ยท DETAIL & SEARCH modes