🏡 Zillow Detail Scraper
Pricing
from $4.99 / 1,000 results
🏡 Zillow Detail Scraper
🏡 Zillow Detail Scraper extracts property details from Zillow listings—beds, baths, price, location, and more. ⚡ Fast, accurate, and easy to use for real estate research, lead gen & market analysis. ✅
Pricing
from $4.99 / 1,000 results
Rating
0.0
(0)
Developer
Scraper Engine
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
a month ago
Last modified
Categories
Share
Turn any Zillow detail URL — or even a plain street address — into clean, structured JSON. This Actor pulls the full property record Zillow's own pages use: price and complete price & tax history, beds/baths, living area and lot size, assigned schools, photo galleries, listing agent & MLS facts, nearby homes & comparable sales, and dozens more fields. It works across homes, apartments, buildings and communities.
⭐ Why Choose Us?
- 🎯 Every page type —
homedetails,/apartments/,/b/buildings and/community/pages, plus free-form addresses. - 💸 Cost-efficient by design — starts with a direct connection and only escalates the network (datacenter → residential) when Zillow actually pushes back. No wasted proxy spend.
- 🧱 Deep, faithful data — you get the same rich object that hydrates Zillow's React app, not a thin scrape of the visible HTML.
- 💾 Live results — records are saved one-by-one as they're collected; a stopped run never loses what it already found.
- 📊 Per-section output — every record is tagged with the input it came from, so you can group results in the Output tab.
✨ Key Features
| Feature | Description |
|---|---|
| 🔗 Bulk URLs | Paste as many detail URLs as you like |
| 📍 Address resolution | Type 123 Main St, City, ST — we find the listing |
| 🏢 Building units | Optionally emit each unit in a building as its own record |
| 🗃️ Dataset input | Feed in a Zillow search-scraper dataset and enrich every row |
| 🛡️ Smart proxy ladder | direct → datacenter → residential, sticky, auto-retry |
| 🧾 MLS & agent facts | Listing agent, broker, MLS id, attribution |
| 📈 History | Full price history & tax history |
| 🏫 Schools & comps | Assigned schools, nearby homes, comparable sales |
📥 Input
| Field | Type | Description |
|---|---|---|
startUrls | array | Zillow detail URLs (home / apartment / building / community) |
addresses | array | Free-form street addresses, resolved automatically |
propertyStatus | string | FOR_SALE · RECENTLY_SOLD · FOR_RENT — status hint for your URLs |
extractBuildingUnits | string | disabled · all · for_sale · recently_sold · for_rent · off_market |
searchResultsDatasetId | string | Dataset of search results to enrich |
proxyConfiguration | object | Datacenter rung of the proxy ladder |
{"startUrls": [{ "url": "https://www.zillow.com/homedetails/17-Zelma-Dr-Greenville-SC-29617/11026031_zpid/" },{ "url": "https://www.zillow.com/apartments/san-antonio-tx/westpond/5XkVjF/" }],"addresses": ["18 Zelma Dr, Greenville, SC 29617"],"propertyStatus": "RECENTLY_SOLD","extractBuildingUnits": "disabled","proxyConfiguration": { "useApifyProxy": true }}
📤 Output
Each record is the full Zillow entity plus a few helper fields:
sectionIndex/sourceUrl— which input this record came from (for grouping)addressOrUrlFromInput— the exact URL or address you suppliedisValid—truewhen full data was retrievedscrapedAt— ISO timestamprecordType—propertyorunit
{"sectionIndex": 1,"zpid": 11026031,"streetAddress": "17 Zelma Dr","city": "Greenville","state": "SC","zipcode": "29617","homeStatus": "RECENTLY_SOLD","homeType": "SINGLE_FAMILY","price": 235000,"bedrooms": 3,"bathrooms": 2,"livingArea": 1450,"resoFacts": { "...": "..." },"priceHistory": [ "..." ],"taxHistory": [ "..." ],"schools": [ "..." ],"addressOrUrlFromInput": "https://www.zillow.com/homedetails/.../11026031_zpid/","isValid": true,"scrapedAt": "2026-06-07T12:00:00.000Z"}
🚀 How to Use (Apify Console)
- Log in at console.apify.com → Actors.
- Open Zillow Detail Scraper.
- Add your URLs and/or addresses, set the status & proxy options.
- Click Start.
- Watch the live logs as records stream in.
- Open the Output tab — switch to By Section to group by input.
- Export to JSON / CSV / XLSX.
🤖 Use via API
curl -X POST "https://api.apify.com/v2/acts/YOUR~zillow-detail-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"startUrls":[{"url":"https://www.zillow.com/homedetails/17-Zelma-Dr-Greenville-SC-29617/11026031_zpid/"}]}'
🎯 Best Use Cases
- Real-estate market research & comps analysis
- Lead enrichment for agents and investors
- Building price-history / tax datasets
- Powering valuation and listing-monitoring tools
💲 Pricing
This Actor uses pay-per-event billing — you're charged per result row written to the dataset, plus standard platform usage. The exact price is shown on the Actor's Store page.
❓ FAQ
Can I scrape by address instead of URL? Yes — use the addresses field; each one is resolved to its detail page.
What if Zillow blocks a request? The Actor automatically upgrades the network (datacenter → residential, retried up to 3×) and continues. Switches are logged.
Do apartments and buildings work? Yes. Turn on extractBuildingUnits to also get each individual unit as a record.
Will a stopped run lose data? No — records are saved live as they're scraped.
⚖️ Cautions / Legal
- Only publicly available data is collected.
- You are responsible for compliance with Zillow's Terms of Service and applicable laws (GDPR, CCPA, etc.).
- Use reasonable rate limits and scrape responsibly.
🛟 Support & Feedback
Questions, bugs or feature requests? Reach out at dev.scraperengine@gmail.com 🤝
