Zillow Search Scraper
Pricing
from $1.50 / 1,000 results
Zillow Search Scraper
Your ultimate Zillow scraping tool. The actor extracts comprehensive property data from Zillow search results, including prices, addresses, and more.
Pricing
from $1.50 / 1,000 results
Rating
5.0
(9)
Developer

API ninja
Actor stats
9
Bookmarked
120
Total users
96
Monthly active users
11 days ago
Last modified
Categories
Share
The Zillow Search Scraper is a powerful Zillow API alternative designed to extract real estate data directly from Zillow.com search results. It acts as a comprehensive Zillow web scraper, enabling you to harvest property listings from any location and gather essential market data such as prices, addresses, ZPIDs, photos, and listing details at scale.
This actor is the perfect starting point for real estate professionals, investors, and data analysts who need to build large datasets of properties for market analysis or lead generation.
๐ Need detailed property insights?
This scraper focuses on search results, providing a broad overview of properties in a specific area.
If you need deep, comprehensive details for specific properties (e.g., tax history, price history, school ratings, public facts, owner info), use our companion tool: ๐ Zillow Property Details Scraper
Pro Tip: You can combine both! First, use this Zillow Search Scraper to find properties in your target area, and then pass the resulting list of Zillow URLs or ZPIDs to the Zillow Property Details Scraper to get the full picture.
๐ฏ Use Cases
- ๐ Market Research: Build comprehensive datasets to analyze pricing trends, inventory levels, and days on market in specific neighborhoods.
- ๐ต๏ธ Lead Generation: Identify "For Sale by Owner" (FSBO) listings or properties that have been on the market for a long time.
- ๐๏ธ Price Monitoring: Track price changes in real-time to spot undervalued properties or investment opportunities.
- ๐ค AI Analysis: Feed structured real estate data into LLMs or predictive models to forecast market movements.
โจ Features
- Scale effortlessly: Scrape thousands of listings by automatically handling pagination.
- Smart Quadrant Search: Overcomes Zillow's 500-result limit by intelligently splitting the map into smaller quadrants to capture all properties in an area.
- Customizable depth: Choose to scrape a specific number of homes per URL or everything available (
scrapeAll). - Proxy integration: Built-in support for high-quality proxies to ensure reliability and avoid blocking.
- Flexible export: Download your data in JSON, CSV, Excel, XML, or HTML.
๐ What data can I extract?
This actor extracts key data points available in the search view:
- ๐ Address: Full street address, city, state, zip code.
- ๐ฐ Pricing: Current price, Rent Zestimate, and Zestimate.
- โน๏ธ Specs: Bedrooms, bathrooms, living area (sqft), and lot size.
- ๐ Location: Exact latitude and longitude coordinates.
- ๐ท Media: Property photos and image URLs.
- ๐ Identifiers: ZPID (Zillow Property ID) and MLS IDs.
- ๐ Status: Home status (For Sale, For Rent, Sold), posting date, and time on Zillow.
- ๐ Links: Direct URL to the property detail page.
๐ ๏ธ How to use
- Create a free Apify account: Sign up at apify.com.
- Open Zillow: Go to Zillow.com and search for your target location (e.g., "Los Angeles, CA" or a specific zip code).
- Apply Filters: Use Zillow's filters to narrow down your results (e.g., "For Sale", "Price $500k-$1M", "3+ Beds").
- Copy the URL: Once you see the results you want, copy the full URL from your browser's address bar. It should look like
https://www.zillow.com/homes/...?searchQueryState=.... - Paste & Run: Paste the URL into the Zillow Search URLs input field in this actor and click Start.
- Download: When the run finishes, download your dataset in your preferred format.
๐ก Tips for Best Results
- Avoid Missing Data: Zillow limits results to roughly 500-800 homes per search view. If your search covers a very dense area (like "New York, NY"), try breaking it down into smaller searches by zip code or price range to ensure you capture every listing.
- Use
scrapeAll: Enable thescrapeAlloption to let the actor automatically "zoom in" and split the map into quadrants. This effectively bypasses the standard result limits. - Valid URLs: Ensure your input URL contains
?searchQueryState=.... If you don't see it, try moving the map slightly on Zillow to force the URL to update.
๐ฅ Input Parameters
For a full list of input options and their technical details, please see the Input tab in the Apify Console.
| Field | Type | Description |
|---|---|---|
searchUrls | array | Required. A list of Zillow search URLs. Ensure the URL contains the searchQueryState parameter. |
homesPerUrl | integer | The maximum number of homes to scrape per URL. Default is 120. Ignored if scrapeAll is true. |
scrapeAll | boolean | If set to true, the scraper will try to fetch every property found for the search URL, bypassing the homesPerUrl limit. Default is false. |
Input Example
{"searchUrls": ["https://www.zillow.com/homes/for_sale/?searchQueryState=%7B%22isMapVisible%22%3Atrue%2C%22mapBounds%22%3A%7B%22west%22%3A-118.668175%2C%22east%22%3A-118.155289%2C%22south%22%3A33.703651%2C%22north%22%3A34.337306%7D%2C%22filterState%22%3A%7B%22sort%22%3A%7B%22value%22%3A%22globalrelevanceex%22%7D%2C%22ah%22%3A%7B%22value%22%3Atrue%7D%7D%2C%22isListVisible%22%3Atrue%7D"],"homesPerUrl": 200,"scrapeAll": false}
๐ค Output Example
{"zpid": "2080000000","price": "$1,250,000","address": "123 Maple St, Springfield, IL 62704","beds": 4,"baths": 3,"area": 2500,"latLong": {"latitude": 39.7817,"longitude": -89.6501},"statusType": "FOR_SALE","hdpData": {"homeInfo": {"zpid": 2080000000,"homeType": "SINGLE_FAMILY","zestimate": 1260000,"rentZestimate": 4500}},"detailUrl": "https://www.zillow.com/homedetails/123-Maple-St-Springfield-IL-62704/2080000000_zpid/"}
โ FAQ
Is it legal to scrape Zillow? Scraping publicly available data is generally legal. However, you must respect personal data privacy regulations (like GDPR or CCPA). This scraper collects public real estate information, but users should ensure their use case complies with applicable laws.
Why are some results missing? Zillow limits the number of results shown per search (typically 500-800 properties). Even with our "Quadrant Search" feature, extremely dense areas might require more granular search URLs (e.g., filtering by smaller price ranges or zip codes) to capture everything.
How much does it cost? This actor is priced at approximately $1.50 per 1,000 results. The Apify Free plan provides $5 monthly credit, which allows you to scrape roughly 3,300 properties for free every month!
Can I use this with Python?
Yes! You can use the apify-client for Python to run this actor and retrieve datasets programmatically.
from apify_client import ApifyClientclient = ApifyClient('YOUR_API_TOKEN')run = client.actor('YOUR_USERNAME/zillow-search').call(run_input={"searchUrls": ["YOUR_ZILLOW_URL"]})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item)
๐ Integrations
Connect this Zillow Search Scraper with your favorite tools via Apify Integrations:
- Make / Zapier: Trigger workflows when new properties are found.
- Google Sheets: Save new listings directly to a spreadsheet.
- Slack/Email: Get alerts for new investment opportunities.
- LangChain/AI: Feed property data into LLMs for market analysis.