Zillow ZIP Code Search Scraper ๐ฐ From $1.4/1K ยท Bulk ZIP Lists
Pricing
from $1.40 / 1,000 results
Zillow ZIP Code Search Scraper ๐ฐ From $1.4/1K ยท Bulk ZIP Lists
Give it a list of ZIP codes and get Zillow listings in them, for sale, for rent or recently sold. Turn on More results and raise Max items to split a dense ZIP past Zillow's 500-per-search cap. Price, status, address and coordinates per row; agent and broker with details on.
Pricing
from $1.40 / 1,000 results
Rating
0.0
(0)
Developer
Muhamed Didovic
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
๐ฎ Zillow ZIP Code Search Scraper
Give it a list of ZIP codes and get Zillow listings in them โ for sale, for rent, or recently sold. One row per property, with price, status, address and coordinates.
Built for the job people actually do with ZIP codes: sweep a whole territory, a county's worth of codes, or a farm area, in a single run.
โญ Why use this Zillow ZIP scraper?
- Past the 500 cap โ Zillow returns at most 500 results per search. Turn on Scrape beyond 500 results limit and raise Max Items (default 100), and each ZIP is split into smaller map areas instead of silently stopping at 500.
- A list, not one code at a time โ paste every ZIP you cover; each becomes its own search and they run together.
- Sale, rent or sold โ one switch changes what the whole sweep returns.
- Real filters โ price, beds, baths and home type go into Zillow's own search query rather than being thrown away after the fact. On the mobile endpoint, which the run can fall back to when the web search is blocked, price and status carry over and the finer filters do not.
- Agent email enrichment (optional) โ add the listing agent's direct email and phone from a 1,200,000+ US agent database. Needs Include property details switched on as well, because the lookup runs during the per-property detail fetch.
- Proxies included on paid plans โ on any paid Apify plan the run goes out through the actor's own residential proxy pool at no extra cost, and the proxy input is not read. Free-plan runs use Apify's default datacenter proxy, which Zillow refuses, so there you need to set Proxy configuration to Apify RESIDENTIAL or your own residential URLs.
๐ What data does it extract?
| Field group | Columns |
|---|---|
| Identity | ID (ZPID), URL, Address, City, State, Zip Code, Latitude, Longitude |
| Listing | Price, Status, Acres |
| People | Agent Name, Agent Number, Broker Name, Broker Number โ with Include property details on |
| Agent email (optional) | contactEmail, contactPhone, agentEmailSource โ with Agent email enrichment and Include property details on |
| Beds / baths / size | Beds, Baths, Sq Ft, Year Built โ with Include property details and Flattened output both on |
| Run metadata | Date (the date the run executed, not a listing date) |
| Optional depth | details โ full property record with description, price history, tax history, schools, photos |
๐งพ Supported inputs
| Input | Example |
|---|---|
| ZIP code | 78704 |
| Several ZIPs | one per line: 78704, 90210, 33139 |
| City or neighborhood | Austin, TX, Brooklyn, NY |
๐ก Use cases
- Agents & teams โ sweep every ZIP in your farm area on a schedule and watch new inventory appear.
- Investors โ pull whole ZIPs of recently sold homes to build comps and spot price movement.
- Lenders & title โ map activity across the ZIP codes you are licensed in.
- Proptech & data teams โ ZIP is the unit most property datasets already key on, so these rows join straight onto what you have.
- Market research โ compare inventory and price across neighbouring codes.
๐ How it works
Each ZIP is resolved to Zillow's own region, then queried through the search API with your filters applied server-side. With Scrape beyond 500 results limit on, any search reporting more than 500 matches is split into map quadrants, and each quadrant is split again until every part fits under the cap.
โ๏ธ Input configuration
| Field | Type | Notes |
|---|---|---|
searchLocation | array | One ZIP per line, e.g. 78704. City names work too |
status | enum | forSale, forRent, sold |
moreResults | boolean | Split dense ZIPs to get past the 500-result cap |
priceMin / priceMax | integer | Price range |
bedsMin / bathsMin | integer | Minimums |
homeTypes | array | House, condo, townhouse, land, โฆ |
includePropertyDetails | boolean | Adds the full record and agent contacts per row (slower) |
flatOutput | boolean | Needs includePropertyDetails on; on a plain search it changes nothing. With both on, the nested details blob is dropped and flat spreadsheet columns are appended, Beds, Baths, Sq Ft and Year Built among them |
enrichEmails | boolean | Agent email lookup, billed per email found. Needs includePropertyDetails on |
maxItems | integer | Stop after this many listings |
Every field, with its type and default, is also listed on the actorโs own input schema page.
๐ฆ Output sample
{"ID": "29473051","URL": "https://www.zillow.com/homedetails/2107-Arpdale-St-Austin-TX-78704/29473051_zpid/","Address": "2107 Arpdale St, Austin, TX 78704","City": "Austin","State": "TX","Zip Code": "78704","Price": 1075000,"Status": "FOR_SALE","Latitude": 30.248713,"Longitude": -97.779}
That is an excerpt. Every row also carries the rest of the standard column set โ about 30 columns, the same headers on every run โ and on a ZIP sweep most of them are empty. Description, zoning and the agent and broker columns fill once Include property details is switched on.
๐ Key output fields
Zip Codeโ the ZIP the row actually sits in, so a multi-ZIP run can be grouped without re-parsing addresses.StatusโFOR_SALE,FOR_RENT,RECENTLY_SOLD, matching the sweep you asked for. With Include property details and Flattened output both on it is re-read from the property's own page, so a listing that moved in between can come back as Zillow's live state instead (PENDING,SOLD).Priceโ asking price, or sold price on a closed sale. Blank where Zillow publishes no figure.IDโ the ZPID on for-sale and sold rows, matching the zpid inside the row's ownURL. A for-rent sweep also returns Zillow's building and cluster pins: those rows carry alatitude--longitudepseudo-id inIDand a/b/or/apartments/URL with no zpid in it.detailsโ present with Include property details on and Flattened output off; that same switch is what fills the agent and broker columns.contactEmailโ the email the enrichment toggle looks up, withcontactPhoneandagentEmailSourcebeside it. Rows that reached their detail record carry the three columns once the toggle is on, empty where no match was found; a listing whose detail fetch failed outright comes back as the bare search row without them. With Flattened output on there is also anAgent Emailcolumn, taken from Zillow's own listing attribution and usually empty; enrichment fillscontactEmail, not that one.
The standard columns are Title Case (Address, Zip Code, Agent Name) so they read cleanly as spreadsheet headers. The enrichment additions keep Zillow-style camelCase โ contactEmail, contactPhone, agentEmailSource โ as does the nested details key.
โ FAQ
I asked for a whole ZIP and got exactly 500 rows. Turn on Scrape beyond 500 results limit. Without it, Zillow's own cap stops the search at 500 and the rest is never served.
Why are Agent Name and Broker Name empty?
Those come from each listing's detail record. Switch on Include property details and they fill, at the cost of one extra fetch per property.
Why did a run stop early? Usually Max Items, which defaults to 100 โ raise it and the sweep keeps going. The other cause is the "Maximum cost per run" limit; when that is what cut the run short, the run says so in its status message. A run does not resume where the last one stopped, so raise the limit rather than re-running.
Do sold listings include the sale price?
Usually. Not in non-disclosure states, where a sale price is not public record โ Texas is the one we have measured, and there Zillow publishes no figure, so Price comes back blank.
Can I mix ZIPs and city names?
Yes. Each line is resolved independently, so 78704 and Brooklyn, NY can sit in the same run.
Do I need proxies or an API key? No API key, and no login is used. On a paid Apify plan the actor's own residential proxies are included at no extra cost and the proxy input is not read. On the free plan the run uses Apify's default datacenter proxy, which Zillow refuses, so set Proxy configuration to Apify RESIDENTIAL or your own residential URLs.
๐ Support
Open an issue on the actor's Issues tab with the run ID and the ZIP that looked wrong โ that is enough to trace it.
๐งฉ Additional services
Need a custom pipeline (specific columns, delivery to your DB/S3/webhook, merged multi-source feeds)? Open an issue describing what you need or contact the author through the actor page.
๐ Explore more scrapers
Eleven Zillow actors, all maintained by the same author. The six listing scrapers under Listings and properties emit the same standard columns as this one, so rows from any of them line up in one sheet; some add a column or two of their own on top.
Listings and properties
- Zillow Scraper โ the flagship: the same engine with more to set than this page has, including pasted Zillow URLs, the full filter set and change monitoring. This one is trimmed to a ZIP list plus the core filters.
- Zillow Detail Scraper โ the full record for specific properties, by URL, ZPID or plain address.
- Zillow Rentals Scraper โ rentals, with the rent range on apartment-complex rows.
- Zillow Open Houses Scraper โ upcoming open houses with their exact dates and times.
- Zillow Foreclosure Scraper โ pre-foreclosure, auction and bank-owned (REO) records with auction dates and amounts.
- ZILLOW | Bypass Limit of 500 | Search | Agent | with Email โ the earlier search build, kept in step with the flagship, with the same agent email enrichment.
People and contacts
- Zillow Agents Leads โ agent contacts pulled from a database of 1,200,000+ US agents.
- Zillow Agents Scraper โ agent finder and profile pages, with email discovery.
- Zillow Property Managers Scraper โ property managers and owners, with emails.
- Zillow Lenders Scraper โ mortgage lenders from Zillowโs own lender directory.
Beyond Zillow: all actors by memo23, 100+ maintained scrapers for real estate, jobs, directories and reviews. Other sites, other authors: the Apify Store.
๐ค For AI Agents & LLM Apps
This actor is MCP-ready: call it from AI agents (Claude, GPT, LangChain, LlamaIndex, or the Apify MCP server) to answer questions like "how many homes are for sale under $500k in 78704 right now?". ZIP codes are a unit an agent can derive from a user's question without building a Zillow URL, and the structured JSON with stable field names makes rows directly usable as tool results.
To wire it up: the ready-made Node.js and Python client snippets call this actor in a few lines (full client reference: JavaScript, Python), and the MCP tab exposes it as a tool to an MCP client. In your own Apify Console, where you are signed in, the actor's integrations push each run straight to Google Sheets, Slack, a webhook or your own storage (how integrations work).
โ ๏ธ Disclaimer
This actor is not affiliated with, endorsed by, or connected to Zillow Group. It extracts only publicly visible listing information for lawful purposes such as market research and personal planning; no login is used and no private data is accessed. You are responsible for how you use the data โ respect Zillowโs terms and applicable laws. Apifyโs own write-up on the legality of web scraping is a good starting point, and personal data in the output (agent names, phone numbers, emails) falls under rules such as EU Regulation 2016/679.
zillow zip code scraper ยท scrape zillow by zip ยท zillow postal code search ยท bulk zillow zip search ยท zillow listings by zip code ยท zillow zip API ยท real estate zip code data ยท export zillow zip search to excel