Zillow Search Scraper
Pricing
$19.99/month + usage
Zillow Search Scraper
Scrape Zillow search results with ease ๐ก๐ Extract property details, prices, addresses, agent info, listings, and more from any search. Perfect for real estate research, lead generation, market analysis, and competitor tracking. Get fresh housing data fast ๐
Pricing
$19.99/month + usage
Rating
0.0
(0)
Developer
ScrapePilot
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
13 days ago
Last modified
Categories
Share
Zillow Search Scraper
The Zillow Search Scraper is a fast, reliable Zillow listings scraper that extracts structured property data from Zillow search results at scale. It solves the pain of manually collecting Zillow search results by automating pagination and map search extraction, making it a powerful Zillow data scraper and Zillow API alternative for researchers, marketers, developers, and analysts. With dynamic-zoom pagination, map markers mode, and HTML fallback, teams can scrape Zillow listings across cities and neighborhoods and build robust Zillow data exports in minutes.
What data / output can you get?
Below are the primary fields the scraper saves for each property. Field names match the dataset records exactly.
| Data type | Description | Example value |
|---|---|---|
| zpid | Zillow Property ID (string) | "55826232" |
| id | Alias of zpid for convenience | "55826232" |
| price | Formatted price string | "$1,000,000" |
| unformattedPrice | Numeric price parsed from price | 1000000 |
| address | Full display address | "3810 Hawthorne Ave, Dallas, TX 75219" |
| addressStreet | Street line extracted from address | "3810 Hawthorne Ave" |
| addressCity | City extracted from address | "Dallas" |
| addressState | State/region code when available | "TX" |
| addressZipcode | ZIP code extracted from address | "75219" |
| beds | Bedrooms | 3 |
| baths | Bathrooms | 3.0 |
| area | Living area (sqft) | 2622 |
| detailUrl | Full URL to the listing page | "https://www.zillow.com/homedetails/..." |
| statusType | Listing status type | "FOR_SALE" |
| statusText | Human-readable status | "House for sale" |
| imgSrc | Primary image URL | "https://photos.zillowstatic.com/..." |
| latLong | Geographic coordinates | {"latitude": 32.822216, "longitude": -96.811325} |
| zestimate | Zillowโs estimated value (if available) | 994000 |
Bonus metadata includes: palsId, rawHomeStatusCd, marketingStatusSimplifiedCd, hasImage, countryCurrency, isUndisclosedAddress, streetViewURL, streetViewMetadataURL, shouldShowRequestOnPrice, isZillowOwned, flexFieldText, contentType, hdpData, isSaved, isUserClaimingOwner, isUserConfirmedClaim, pgapt, sgapt, shouldShowZestimateAsPrice, has3DModel, hasVideo, isHomeRec, hasAdditionalAttributions, isFeaturedListing, isShowcaseListing, list, relaxed, carouselPhotosComposable, isPaidBuilderNewConstruction, foundOnSearchPage, foundFromSearchUrl, and zoomQuadrantSequence. You can export results from the Apify dataset to JSON, CSV, or Excel for downstream analysis.
Key features
-
๐งญ Bold dynamic-zoom pagination (API-based)
Efficiently collect large result sets by splitting map bounds into quadrants when counts exceed Zillowโs usual pagination cap. Ideal for a Zillow map search scraper workflow. -
๐บ๏ธ Map markers mode (capped to ~500 results per URL)
A fast Zillow web scraping bot mode that focuses on map marker results when you only need top-level coverage. -
๐งฉ HTML pagination fallback
When API-mode isnโt available (e.g., keyword URLs without searchQueryState), the scraper switches to HTML-based parsing to keep your Zillow data extractor pipeline running. -
๐ Intelligent proxy management
Starts without proxy and auto-falls back to Apify Residential proxies with retry logic to minimize blocks and maximize reliability. -
๐ฅ Live dataset saving
Listings are pushed to the dataset as soon as theyโre discovered, so you keep results even if a run stops early. -
๐ฆ Bulk processing of multiple locations
Feed in many Zillow search URLs or keywords to scrape Zillow property data across markets in a single run. -
โ๏ธ Request pacing & limits
Configurable limits via maxItems and internal pacing controls to balance speed and stability. -
๐จโ๐ป Developer friendly
Built with the Apify SDK (Python). Access results via the Apify API, connect with your Zillow data scraper Python scripts, and integrate into automations (Zapier, Make, n8n, LangChain). -
๐ค Easy data export
Download Zillow data export CSV, JSON, or Excel from the Apify dataset for BI tools, CRMs, or research stacks.
How to use Zillow Search Scraper - step by step
- Create or log in to your Apify account at https://console.apify.com.
- Open the Zillow Search Scraper actor.
- Enter your input:
- Paste Zillow search URLs (recommended) or keywords/locations (e.g., "dallas-tx") into searchUrls.
- Choose the Items extraction method:
- PAGINATION_WITH_DYNAMIC_ZOOM_INCREASE for very large result sets.
- PAGINATION_WITHOUT_ZOOMING_IN for HTML-based pagination.
- MAP_MARKERS for a lighter run (up to ~500 results).
- Set Maximum Items to control how many listings to collect per URL.
- Configure Proxy Configuration (optional). By default, it starts without proxy and falls back automatically if needed.
- Click Run. The actor will log progress and push items as theyโre found.
- Monitor the run in real time in the Logs tab.
- When finished, go to the Dataset tab to view results.
- Export your Zillow property data to JSON, CSV, or Excel.
Pro Tip: Calling the actor via the Apify API lets you feed inputs programmatically and pipe the dataset into your data warehouse, CRM, or a Zillow leads scraper workflow.
Use cases
| Use case name | Description |
|---|---|
| Real estate market research | Analyze price trends, inventory, and neighborhoods by exporting structured search results from a Zillow home data scraper. |
| Investor deal sourcing | Identify properties that meet ROI criteria by filtering beds/baths/area and running bulk location inputs. |
| Competitive analysis | Track pricing and status changes across ZIP codes to benchmark against competitors using a Zillow search results scraper. |
| Lead generation | Build a Zillow leads scraper pipeline by exporting listing details and linking to agents or broker pages downstream. |
| Data enrichment & analytics | Feed a Zillow property data download into analytics tools for dashboards, forecasting, or territory planning. |
| API/data engineering | Orchestrate a Zillow real estate scraping tool via Apify API and integrate with Make/n8n for recurring pipelines. |
| Academic & policy research | Collect large, reproducible datasets across cities to study affordability, density, or market dynamics. |
Why choose Zillow Search Scraper?
Engineered for precision and scale, this Zillow property data extractor combines dynamic API pagination with robust HTML fallback and proxy resilience.
- โ Accurate, structured outputs: Clean JSON with normalized fields (prices, address parts, coordinates, status, images).
- ๐ Scales across markets: Supports bulk inputs so you can scrape Zillow listings across many regions in one run.
- ๐จโ๐ป Built for developers: Use the Apify API and Python SDK to automate, schedule, and integrate with your stack.
- ๐ Safe & reliable operations: Proxy fallback and retry logic reduce blocks for production-grade stability.
- โก Faster than manual scraping: Skip brittle browser extensions and unstable tools; leverage a maintained, server-side solution.
- ๐พ Easy data export: Seamlessly download Zillow data export CSV/JSON/Excel from the dataset.
- ๐ Workflow-ready: Connect to Zapier, Make, n8n, or LangChain for end-to-end automation.
In short, itโs a production-ready Zillow web scraping bot that outperforms ad-hoc scripts and extensions for teams who need consistency and scale.
Is it legal / ethical to use Zillow Search Scraper?
Yes โ when used responsibly. This actor collects data from publicly available Zillow search pages only and does not access private or password-protected content. You should:
- Scrape only public information and respect platform terms.
- Comply with applicable regulations (e.g., GDPR, CCPA).
- Avoid spam and misuse of contact data.
- Consult your legal team for edge cases or regulated use.
Users are responsible for ensuring compliance with all laws and terms in their jurisdictions.
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}}
Input parameters
-
searchUrls (array, required):
Description: 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".
Default: none (must provide at least one) -
extractionMethod (string, optional):
Description: 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.
Allowed values:- PAGINATION_WITH_DYNAMIC_ZOOM_INCREASE
- PAGINATION_WITHOUT_ZOOMING_IN
- MAP_MARKERS
Default: "PAGINATION_WITH_DYNAMIC_ZOOM_INCREASE"
-
maxItems (integer, optional):
Description: Maximum number of property listings to scrape (1-10000).
Default: 20 -
proxyConfiguration (object, optional):
Description: 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: {"useApifyProxy": false}
Advanced runtime keys (via API, not shown in UI)
- delay (integer, optional): Request pacing between steps (seconds). Default: 2.
- sortOrder (string, optional): If provided, the actor will inject this sort value into the URLโs searchQueryState before scraping.
Example JSON output
{"zpid": "55826232","palsId": null,"id": "55826232","rawHomeStatusCd": "FSBA","marketingStatusSimplifiedCd": null,"providerListingId": "*APID55826232*","imgSrc": "https://photos.zillowstatic.com/fp/abc123-p_e.jpg","hasImage": true,"detailUrl": "https://www.zillow.com/homedetails/55826232_zpid/","statusType": "FOR_SALE","statusText": "House 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": "abc123" }],"communityPhotoData": null,"isStaticUrls": false},"isPaidBuilderNewConstruction": false,"foundOnSearchPage": 1,"foundFromSearchUrl": "https://www.zillow.com/dallas-tx/?category=SEMANTIC&searchQueryState=%7B...%7D","zoomQuadrantSequence": []}
Note: Some fields may be missing or null for certain listings if the source doesnโt include them (e.g., zestimate, streetViewURL). The actor always pushes whatever is available from each result.
FAQ
Is there a free trial to test the scraper?
Yes. This actor offers trial minutes on Apify (120 trial minutes are available) so you can validate your workflow and data quality before upgrading. You can start a run directly from the Apify Console.
Do I need to log in to use this Zillow scraper?
No. The Zillow Search Scraper works on publicly available Zillow search pages and does not require login or cookies. It does not access private or authenticated content.
Which extraction method should I choose?
Use PAGINATION_WITH_DYNAMIC_ZOOM_INCREASE when you expect very large result sets; it splits map bounds into quadrants to go beyond typical pagination caps. If API-based requests arenโt viable for a given URL (e.g., keyword-only), the actor automatically falls back to HTML-based pagination. MAP_MARKERS is a light mode capped to roughly 500 results per URL.
How many results can I scrape per run?
You can control volume with maxItems (1โ10,000). In dynamic-zoom mode, the scraper can traverse quadrants to uncover more items; map markers mode is limited to about 500 results per search URL.
Can I scrape multiple cities or ZIP codes at once?
Yes. Add multiple entries to searchUrls (full Zillow search URLs or keywords like "dallas-tx") to run bulk collection across locations.
How does proxy fallback work?
The actor starts without a proxy. If requests are blocked, it automatically switches to Apify Residential proxies with retry logic and locks the working proxy for the rest of the run. You can also supply your own proxy settings via proxyConfiguration.
Can I integrate this with Python or my data pipeline?
Yes. Access datasets via the Apify API and connect to your Python scripts. You can also integrate with Make, n8n, Zapier, or LangChain to build an automated Zillow data scraper pipeline.
What data formats can I export?
You can download results from the Apify dataset in JSON, CSV, or Excel formats for BI tools, CRMs, and analysis workflows.
Closing thoughts
The Zillow Search Scraper is built for teams that need reliable, structured Zillow property data at scale. With dynamic-zoom API pagination, HTML fallback, proxy resilience, and bulk inputs, itโs a dependable Zillow real estate scraping tool for researchers, analysts, and developers. Export clean JSON/CSV/Excel, connect via API to your Python or automation stack, and turn Zillow search results into actionable datasets. Start extracting smarter housing data today.