Zillow Detail Scraper π° From $1.4/1K Β· URL, ZPID or Address
Pricing
from $1.40 / 1,000 results
Zillow Detail Scraper π° From $1.4/1K Β· URL, ZPID or Address
Paste Zillow property URLs, ZPIDs or plain addresses and get the full record for each: price, beds, baths, sq ft, lot size, description, agent and broker contacts, schools, zoning, price and tax history. Works on sale, rent and sold listings. JSON, CSV or Excel export.
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 Detail Scraper
Hand it Zillow property URLs, ZPIDs, or plain street addresses and get the complete record for each one β price, beds, baths, sq ft, lot size, the full description, listing agent and broker contacts, schools, zoning, and the price and tax history.
No search to configure and no filters to set. Paste a list, press Start, and get one fully detailed row per property as JSON, CSV, or Excel.
β Why use this Zillow detail scraper?
- Three ways in β a
/homedetails/URL, a bare ZPID, or an address like2307 Cheyenne Cir, Austin, TX. Mix all three in one run. - Everything on the page β description, photos, price history, tax history, Zestimate, schools, HOA, lot size, zoning, and agent/broker contact details.
- Other Zillow URL types too β building (
/b/), new-construction community, and agent (/profile/) URLs are detected automatically and sent to the right parser. - Works on sale, rent and sold β the same column set whatever the listing status.
- Agent email enrichment (optional) β match the listing agent against a 1,200,000+ US agent database and add their direct email and phone.
- Proxies included on paid plans β on any paid Apify plan the actor routes itself through its own residential proxy pool at no extra cost, and the
proxyfield is not read at all. Free-plan runs go out through Apify's default datacenter proxy, which Zillow refuses, so on the free plan put your own residential proxy URLs in theproxyfield, or pick Apify Proxy with the RESIDENTIAL group.
π What data does it extract?
| Field group | Columns |
|---|---|
| Identity | ID (ZPID), URL, Address, City, State, Zip Code, Latitude, Longitude |
| Listing | Price, Status, Property Subtype, Acres, Description |
| People | Agent Name, Agent Number, Broker Name, Broker Number |
| Land & legal | Zoning, Zoning Description |
| Run metadata | Date (the date the run executed, not a listing date), Source |
| Full record | details β Zillow's property object: price history, tax history, Zestimate, photos, schools, HOA, resoFacts (~200 fields) |
| Raw Zillow keys | zpid, detailUrl, price, address, beds, baths, area, latLong, imgSrc, statusType β Zillow's own field names, carried next to the columns above on property rows |
The standard column set is fixed, so a few of its columns always arrive empty on this actor: Change Type and Previous Status (monitoring columns), School 1βSchool 3, and Subtype 1βSubtype 4. The school data itself is inside the details blob, as details.schools and details.assignedSchools.
π§Ύ Supported inputs
| Input | Example |
|---|---|
| Property URL | https://www.zillow.com/homedetails/2307-Cheyenne-Cir-Austin-TX-78745/58313397_zpid/ |
| ZPID | 58313397 |
| Address | 2307 Cheyenne Cir, Austin, TX |
| Building | https://www.zillow.com/b/the-tower-new-york-ny-5XsKjq/ |
| Community | https://www.zillow.com/community/farmlore-villas/30499782_plid/ |
| Agent profile | https://www.zillow.com/profile/BrettHull |
A property URL, ZPID or address returns one row. Two kinds of input expand instead: a /community/ page becomes one row per home in that community, and a Zillow search URL or an /apartments/ page carrying search results fills rows up to maxItems. Every one of those rows counts against maxItems (default 100), so raise it before pasting anything that is not a single property.
π‘ Use cases
- Agents & teams β turn a list of addresses from a farm area or a CRM export into full listing records with contacts.
- Investors & wholesalers β pull price history, tax history and lot data for a shortlist before making offers.
- Appraisers & analysts β build comparable sets from exact properties rather than whole-market sweeps.
- Proptech & data teams β resolve a stream of Zillow URLs into structured rows for an app, map or warehouse.
- Lead workflows β enrich a property list with the listing agent's direct email and phone.
π How it works
Each input is resolved to a ZPID β an address goes through Zillow's own autocomplete first β and the property is then fetched from Zillow's GraphQL API. When that endpoint is blocked, the actor falls back through a second query shape and finally reads the listing page itself through a managed unblocker, so a row comes back rather than an empty cell. That last step is capped at 60 properties per run; past the cap a blocked property still produces a row, but without its details record.
βοΈ Input configuration
| Field | Type | Notes |
|---|---|---|
startUrls | array | One Zillow property URL per line |
zpids | array | Bare ZPIDs, one per line |
addresses | array | 123 Main St, City, State |
includePropertyDetails | boolean | On by default; a property URL, ZPID or address always fetches the full record |
includeAgentDetails | boolean | Adds the agent's own profile record under details.agentDetails |
includeSaleDetails | boolean | Adds Zillow's secondary listing hub under details.saleDetails |
includeNearbyHomes | boolean | Keeps Zillow's nearby-homes blob inside details |
flatOutput | boolean | Adds spreadsheet-friendly columns and drops details (the payload stays on the row as hdpData.homeInfo) |
enrichEmails | boolean | Agent email lookup, billed per email found |
maxItems | integer | Stop after this many properties; default 100. A /community/ page counts as one row per home, not one row |
Every field, with its type and default, is also listed on the actorβs own input schema page.
π¦ Output sample
{"ID": "58313397","URL": "https://www.zillow.com/homes/58313397_zpid/","Address": "2307 Cheyenne Cir","City": "Austin","State": "TX","Zip Code": "78745","Price": 995000,"Status": "FOR_SALE","Property Subtype": "SINGLE_FAMILY","Agent Name": "Brooke Roeder","Agent Number": "(512) 964-8379","Broker Name": "Christies Intl Real Estate Lone Star","Acres": "0.33 Acres","Latitude": 30.224419,"Longitude": -97.79659}
That is an excerpt of a default row: the same row also carries the raw Zillow keys listed above and the full details blob.
π Key output fields
IDβ the ZPID on a property row, matching the zpid inside that row's ownURL. A building (/b/) row carries Zillow's building id and a/b/URL that holds no zpid.Priceβ the asking price, or the sold price on a closed sale. Left blank rather than zero where Zillow publishes no figure.Acresβ Zillow's own lot-size string, copied as given (8,276 sqftor0.29 Acres).Agent Name/Agent Numberβ the listing agent, resolved throughlistedBy, then attribution data, then the contact module.Dateβ the date the run executed, not the date the home was listed. Zillow's posted date isdetails.datePostedString(and theListing Datecolumn whenflatOutputis on).detailsβ Zillow's property record, present unlessflatOutputis on, which moves the same payload tohdpData.homeInfo. The nearby- and similar-homes blobs (collections,nearbyHomes,relatedHomes,homeRecommendations,homeValuation) are stripped unlessincludeNearbyHomesis on, which puts them back; thesubmitFlowform template is always stripped.
The standard columns are Title Case (Address, Zip Code, Agent Name) so they read cleanly as spreadsheet headers. Every property row also carries Zillow's own raw keys next to them β zpid, detailUrl, price, address, beds, baths, area, latLong, imgSrc, statusType and a few more β so a handful of values arrive twice under two names. flatOutput adds further Title Case columns but does not remove the raw ones. An agent-profile URL returns the agent's own record instead, which has neither of those two column sets.
β FAQ
Can I pass hundreds of URLs?
Yes. Raise maxItems and the run's "Maximum cost per run" limit so the run is not cut short partway.
Why is Price empty on a sold home?
In non-disclosure states, Texas among them, a sale price is not public record β Zillow publishes no figure there, so the column is left blank rather than filled with a wrong number.
Do I need a Zillow API key? No. Nothing to configure and no login is used.
Do I need proxies?
Not on a paid Apify plan β the actor brings its own residential pool at no extra cost, and the proxy field is not read there. On the free plan the run goes out through Apify's default datacenter proxy, which Zillow refuses, so supply your own residential proxy URLs in the proxy field, or pick Apify Proxy with the RESIDENTIAL group.
What if an address does not resolve? The actor tries progressively cleaned variants of the address before giving up, so unit noise and ranges usually still resolve. If nothing matches, that input is skipped and the rest of the run continues.
How fresh is the data? Every run reads Zillow live at the moment it executes.
π Support
Found an issue or missing a field? Open an issue on the actor's Issues tab with the run ID β that is all that is needed to trace exactly what happened.
π§© 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 under Listings and properties share the same standard columns as this actor β some add extra columns of their own on top β so rows from any of them line up in one sheet.
Listings and properties
- Zillow Scraper β the flagship: search by city, ZIP or filters, for sale, for rent, sold, plus change monitoring.
- Zillow ZIP Code Search Scraper β sweep a list of ZIP codes instead of one area at a time.
- 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, with agent emails, kept in step with the flagship.
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.
π€ 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 "what is the tax history and lot size of 2307 Cheyenne Cir, Austin TX?". It takes a plain address, so an agent does not need to construct a Zillow URL first, and the structured JSON with stable field names makes rows directly usable as tool results β details for grounded property Q&A, Agent Name / Agent Number for outreach steps.
To wire it up: the ready-made Node.js and Python client snippets call this actor in a few lines, the MCP tab exposes it as a tool to an MCP client, and once you have run the actor, its integrations tab in your Apify Console pushes 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 detail scraper Β· scrape zillow property details Β· zillow zpid lookup Β· zillow address to property data Β· zillow property data extractor Β· zillow detail API Β· zillow price history scraper Β· export zillow property details to excel