Zillow Search Scraper avatar

Zillow Search Scraper

Pricing

$19.99/month + usage

Go to Apify Store
Zillow Search Scraper

Zillow Search Scraper

Zillow Search Scraper extracts property listings from Zillow search results. It collects prices, addresses, property details, listing URLs, images, and agent information. Ideal for real estate market research, lead generation, price monitoring, and building property data pipelines.

Pricing

$19.99/month + usage

Rating

0.0

(0)

Developer

ScraperX

ScraperX

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

0

Monthly active users

13 days ago

Last modified

Share

Zillow Search Scraper

Zillow Search Scraper is a fast, reliable Zillow web scraper that extracts structured property listings from Zillow search results pages. It solves the challenge of turning map/list search results into clean, analyzable records with prices, address components, beds/baths, square footage, listing URLs, images, and more. Built for marketers, developers, data analysts, and researchers, this Zillow listings scraper scales from quick lookups to large real estate data pipelines — enabling market research, lead generation, and price monitoring at scale. 🚀

What data / output can you get?

Below are examples of the structured fields this Zillow data scraper returns (from live dataset pushes). Values are illustrative.

Data fieldDescriptionExample value
zpidZillow Property ID (string)55826232
priceFormatted price$1,000,000
unformattedPriceNumeric price extracted from price1000000
addressFull address3810 Hawthorne Ave, Dallas, TX 75219
addressCityCityDallas
addressStateState (abbrev)TX
bedsBedrooms3
bathsBathrooms3.0
areaLiving area (sqft)2622
detailUrlAbsolute link to listing pagehttps://www.zillow.com/homedetails/55826232_zpid/
statusTypeStatus codeFOR_SALE
imgSrcPrimary image URLhttps://photos.zillowstatic.com/fp/abcdef123456-p_e.jpg

Bonus metadata often included:

  • rawHomeStatusCd, marketingStatusSimplifiedCd, statusText
  • hasImage, isZillowOwned, has3DModel, hasVideo, isFeaturedListing, isShowcaseListing
  • hdpData (raw Zillow object), carouselPhotosComposable (photo keys/URLs), latLong
  • zestimate, shouldShowZestimateAsPrice
  • foundFromSearchUrl (processed search URL), zoomQuadrantSequence (dynamic zoom splits)

Results stream to the Apify dataset in real time and can be exported to JSON, CSV, or Excel — perfect for a Zillow data export to CSV workflow or analytics pipeline.

Key features

  • 🔎 Bold dynamic zoom pagination (API-based)
    Uses “PAGINATION_WITH_DYNAMIC_ZOOM_INCREASE” to split large map regions into quadrants, helping you go beyond typical pagination caps for bigger datasets with a Zillow real estate scraper.

  • 🧭 Reliable HTML pagination fallback
    “PAGINATION_WITHOUT_ZOOMING_IN” parses public HTML pages and extracts results — ideal when API-style calls are limited or blocked by the site.

  • 🗺️ Map markers mode (fast, capped)
    “MAP_MARKERS” provides a lightweight Zillow search results scraper path limited to roughly 500 results per search URL.

  • 🧠 Intelligent proxy management
    Automatic fallback from direct requests to datacenter and then residential proxies with retry logic, locking the working proxy for stable runs.

  • 💾 Live dataset streaming
    Listings are pushed to the dataset as soon as they’re collected — keep partial results even if a run stops early.

  • 📦 Bulk processing at scale
    Supply multiple search URLs or keywords/locations via searchUrls to scrape Zillow listings across cities, regions, or segments.

  • 👩‍💻 Developer-friendly integration
    Trigger via the Apify API or SDK from your Zillow scraper Python workflows and pipe results into downstream systems using this Zillow scraper API approach.

  • 📈 Production-ready logging and limits
    Clear logs show progress snapshots; fine-tune collection with maxItems per search URL and safe delays at runtime.

How to use Zillow Search Scraper - step by step

  1. Sign up or log in at https://console.apify.com.
  2. Open the “Zillow Search Scraper” actor.
  3. Add input:
    • Paste one or more items into searchUrls (full Zillow URLs with searchQueryState are recommended). You can also enter keywords like “dallas-tx” or “new-york-ny”.
  4. Choose the extractionMethod:
    • PAGINATION_WITH_DYNAMIC_ZOOM_INCREASE for large result sets (API-based with quadrant splitting).
    • PAGINATION_WITHOUT_ZOOMING_IN for HTML pagination.
    • MAP_MARKERS for a faster, capped (~500 results) pass.
  5. Set maxItems to limit how many listings to collect per search URL.
  6. (Optional) Configure proxyConfiguration. By default, the actor starts without a proxy and escalates automatically if needed.
  7. Start the run. Watch logs for progress — results are pushed to the dataset in real time.
  8. Download/export your results from the run’s Dataset tab (JSON, CSV, or Excel) to power a Zillow data extraction tool workflow.

Pro tip: Calling the actor via API? The runtime also honors delay and sortOrder if provided in the input JSON (even though they’re not in the UI). sortOrder is applied by editing searchQueryState.filterState.sort.value in full URLs.

Use cases

Use caseDescription
Real estate market researchAggregate comparable listings across cities to analyze pricing, inventory, and trends using a Zillow web scraper.
Price monitoring for sellers/agentsTrack list price changes and Zestimates over time by rerunning searches and exporting results regularly.
Investment property scoutingIdentify target properties at scale with a Zillow property data extractor and filter by beds, baths, and area.
Competitive analysisMonitor active listings and status updates for brokerage or builder competition using a Zillow search results scraper.
Rental market analysisRun focused searches on rentals to populate dashboards with a Zillow rental scraper workflow.
Data enrichment pipelines (API)Use the Apify API + SDK to feed this Zillow scraping tool into your warehouse or CRM for analytics and outreach.
Academic & policy researchCollect longitudinal datasets across metros to study housing supply, affordability, and economic indicators.

Why choose Zillow Search Scraper?

Purpose-built for precision and scale, this Zillow data extraction tool combines dynamic API pagination, smart proxy escalation, and live dataset saving for reliable operations.

  • ✅ Accurate, structured outputs — clean JSON records with normalized prices and address components
  • 🌐 Public data only — no authentication; targeted Zillow real estate scraper for openly available listing data
  • 📊 Scales from quick checks to large batches — bulk URLs and dynamic zoom splitting for bigger result sets
  • 👩‍💻 Developer access — integrate with the Apify API/SDK for a Zillow scraper Python pipeline
  • 🔒 Safety-first architecture — proxy fallback (direct → datacenter → residential) with automatic locking
  • 💰 Cost-effective data collection — export datasets in seconds to CSV, JSON, or Excel
  • 🧱 Built for automation — connect easily into data pipelines and analytics workflows

Unlike brittle browser extensions, this production-ready Zillow scraping service runs on robust infrastructure with clear logs, retries, and proxy management.

Yes — when used responsibly. This actor retrieves publicly available information from Zillow search pages and does not access private or password-protected content.

Guidelines for compliant use:

  • Only collect publicly visible listing data.
  • Respect Zillow’s terms and applicable laws (e.g., GDPR, CCPA).
  • Avoid scraping personal data or using results for unsolicited outreach.
  • Implement reasonable request rates and respect platform stability.
  • Consult your legal team for jurisdiction-specific requirements.

Input parameters & output format

Example JSON input

{
"searchUrls": [
"https://www.zillow.com/dallas-tx/?category=SEMANTIC&searchQueryState=%7B%22isMapVisible%22%3Atrue%2C%22mapBounds%22%3A%7B%22north%22%3A33.10483509834637%2C%22south%22%3A32.53008985410089%2C%22east%22%3A-96.3544578671875%2C%22west%22%3A-97.2004051328125%7D%2C%22filterState%22%3A%7B%22sort%22%3A%7B%22value%22%3A%22globalrelevanceex%22%7D%7D%2C%22isListVisible%22%3Atrue%2C%22usersSearchTerm%22%3A%22Dallas%2C%20TX%22%2C%22category%22%3A%22cat1%22%2C%22regionSelection%22%3A%5B%7B%22regionId%22%3A38128%2C%22regionType%22%3A6%7D%5D%7D"
],
"extractionMethod": "PAGINATION_WITH_DYNAMIC_ZOOM_INCREASE",
"maxItems": 20,
"proxyConfiguration": {
"useApifyProxy": false
}
}

Parameter reference:

  • searchUrls (array, required): List of Zillow search URLs (full URLs with searchQueryState) or keywords/locations to search. Supports bulk input. Enter full Zillow URLs (recommended) or keywords like 'dallas-tx', 'new-york-ny'. For PAGINATION_WITH_ZOOM_IN method, full URLs with searchQueryState are recommended.
    • Default: none
  • extractionMethod (string, optional): Choose the scraping method. Dynamic zoom can go beyond Zillow's normal pagination cap by splitting the map into smaller quadrants (best for large result sets). Pagination without zooming uses HTML pages (good when API is blocked). Map markers is limited to roughly 500 results per search URL.
    • Enum: PAGINATION_WITH_DYNAMIC_ZOOM_INCREASE | PAGINATION_WITHOUT_ZOOMING_IN | MAP_MARKERS
    • Default: PAGINATION_WITH_DYNAMIC_ZOOM_INCREASE
  • maxItems (integer, optional): Maximum number of property listings to scrape (1–10000).
    • Default: 20
  • proxyConfiguration (object, optional): Proxy settings. By default, requests are sent without proxy. If Zillow blocks requests, the actor will automatically fallback to datacenter proxy, then residential proxy with 3 retries.
    • Default prefill: { "useApifyProxy": false }

Note: At runtime, the actor also honors delay and sortOrder if provided via API input. sortOrder is applied by editing searchQueryState.filterState.sort.value in full URLs; delay controls pauses between pagination requests.

Example JSON output

{
"zpid": "55826232",
"palsId": null,
"id": "55826232",
"rawHomeStatusCd": "FOR_SALE",
"marketingStatusSimplifiedCd": "FOR_SALE",
"providerListingId": "*APID55826232*",
"imgSrc": "https://photos.zillowstatic.com/fp/abcdef123456-p_e.jpg",
"hasImage": true,
"detailUrl": "https://www.zillow.com/homedetails/55826232_zpid/",
"statusType": "FOR_SALE",
"statusText": "For sale",
"countryCurrency": "$",
"price": "$1,000,000",
"unformattedPrice": 1000000,
"address": "3810 Hawthorne Ave, Dallas, TX 75219",
"addressStreet": "3810 Hawthorne Ave",
"addressCity": "Dallas",
"addressState": "TX",
"addressZipcode": "75219",
"isUndisclosedAddress": false,
"streetViewURL": null,
"streetViewMetadataURL": null,
"shouldShowRequestOnPrice": false,
"beds": 3,
"baths": 3,
"area": 2622,
"latLong": { "latitude": 32.822216, "longitude": -96.811325 },
"isZillowOwned": false,
"flexFieldText": null,
"contentType": "Property",
"hdpData": {},
"isSaved": false,
"isUserClaimingOwner": false,
"isUserConfirmedClaim": false,
"pgapt": null,
"sgapt": null,
"zestimate": 994000,
"shouldShowZestimateAsPrice": false,
"has3DModel": false,
"hasVideo": false,
"isHomeRec": false,
"hasAdditionalAttributions": false,
"isFeaturedListing": false,
"isShowcaseListing": false,
"list": true,
"relaxed": false,
"carouselPhotosComposable": {
"baseUrl": "https://photos.zillowstatic.com/fp/{photoKey}-p_e.jpg",
"communityBaseUrl": null,
"photoData": [{ "photoKey": "abcdef123456" }],
"communityPhotoData": null,
"isStaticUrls": false
},
"isPaidBuilderNewConstruction": false,
"foundOnSearchPage": 1,
"foundFromSearchUrl": "https://www.zillow.com/dallas-tx/?category=SEMANTIC&searchQueryState=...",
"zoomQuadrantSequence": []
}

Notes:

  • Some fields (e.g., zestimate, carouselPhotosComposable.photoData) may be absent or default to 0/empty when not present in the source.
  • detailUrl is normalized to an absolute URL.
  • unformattedPrice is parsed from the formatted price string for numeric analysis.

FAQ

Do I need to log in to scrape Zillow with this tool?

No. The actor collects publicly available data from Zillow search results and does not require login or cookies. It targets open pages only.

Which extraction method should I choose?

For large result sets, use PAGINATION_WITH_DYNAMIC_ZOOM_INCREASE (API-based with dynamic zoom splits). If API-style requests are blocked, use PAGINATION_WITHOUT_ZOOMING_IN (HTML). For a capped, fast pass, choose MAP_MARKERS (~500 results per search URL).

You control this with maxItems (1–10000). Note that PAGINATION_WITHOUT_ZOOMING_IN is typically capped at ~820 results per search URL, and MAP_MARKERS at ~500, as indicated in the input schema and enforced by the actor.

Can I scrape multiple cities or neighborhoods at once?

Yes. Add multiple entries to searchUrls — you can mix full Zillow URLs (with searchQueryState) and keywords like “dallas-tx” or “new-york-ny” for broad coverage with this Zillow data scraper.

How does the proxy fallback work?

The run starts with direct requests. If Zillow blocks requests (e.g., 403/429), it automatically escalates to datacenter and then residential proxies with retries. Once a setup works, it’s locked in for the remainder of the run for stability.

What data fields are included in the output?

You’ll receive normalized listing records with zpid, price and unformattedPrice, address components, beds, baths, area, detailUrl, statusType/statusText, imgSrc, latLong, zestimate, and additional metadata such as hdpData and carouselPhotosComposable.

Can I control sort order or request delays?

Yes via API. Although not shown in the UI, the actor honors sortOrder (for full URLs with searchQueryState) and a runtime delay parameter if provided in the input JSON.

How do I export results?

All items are saved to the run’s Apify dataset in real time. From the Dataset tab, export to JSON, CSV, or Excel, or fetch programmatically via the Apify API to power your Zillow leads scraper workflows.

Is there a free trial?

Yes. The listing includes trial minutes so you can test before subscribing. At the time of publishing, the actor offers 120 trial minutes on Apify.

Does it work with Python or other automation tools?

Yes. You can trigger runs and download datasets via the Apify API/SDK for Zillow scraper Python scripts and integrate into ETL pipelines or automation platforms as a Zillow scraper API workflow.

Closing thoughts

Zillow Search Scraper is built to extract structured Zillow search results reliably and at scale. With dynamic zoom pagination, smart proxy escalation, and live dataset saving, it’s ideal for market researchers, analysts, developers, and real estate teams. Use the Apify API/SDK from your Zillow scraper Python workflows to automate pipelines and export clean property data to your warehouse or CRM. Start extracting smarter real estate insights today with a production-ready Zillow scraping tool. 🏠