Zillow All-in-One Scraper
Under maintenancePricing
from $1.00 / 1,000 results
Zillow All-in-One Scraper
Under maintenanceScrape Zillow listings, property details, photos, agents, price history, and tax history - all in one actor. Search by URL, map area, or filter state.
Pricing
from $1.00 / 1,000 results
Rating
0.0
(0)
Developer
Xtractoo
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Listings, full property details, photos, agents, price history, and tax history -- in one actor.
Point it at a city, a neighborhood, a map area, or a Zillow search URL. The actor returns a clean, normalized dataset row for every property: address, geo coordinates, price, beds, baths, square footage, lot size, year built, home type, full-resolution photo URLs, the listing agent's name and phone, multi-year price history, and multi-decade tax history.
What it can do
- Search by location -- paste any Zillow search URL or supply a map bounding box. The actor follows the same pagination Zillow's own UI uses.
- Full property details -- every listing is enriched with the data from its detail page, not just the search-results summary. No second pass needed.
- Large areas, no truncation -- when an area exceeds Zillow's per-query result ceiling, the actor automatically subdivides the map into smaller tiles and stitches the results back together.
- Price + tax history -- the actor pulls the same multi-year financial history Zillow shows on each listing page (commonly 5-20+ years of tax data and the full list-of-events timeline).
- Listing agent contact -- name, phone number, brokerage for every active listing.
- High-resolution photos -- up to ~40 photo URLs per listing at 1152px width, ready to download.
Use cases
- Real-estate market analytics, comparable-sales modelling.
- Investor lead lists -- agents, brokerages, price-change signals.
- AVM training data with historical assessment values.
- Neighborhood-level inventory tracking, price-drop alerts.
- Building competing listing portals or filtered home-search products.
Why use this actor
- One run, complete data. You don't need a separate "details" scraper. Every row is fully enriched.
- Map-aware. Drop in a bounding box and the actor handles the per-tile ceilings transparently. No "missing 60% of listings" because of pagination limits.
- Normalized output. The dataset schema matches the Realtor.com All-in-One Scraper so the two sources can be unioned into one table downstream.
- Production-tested for Apify. Built and verified on Apify cloud with residential proxy. The starter input below was the actual test run.
Sample input
{"boundingBoxes": [{ "north": 30.31, "south": 30.27, "east": -97.72, "west": -97.78 }],"useMapResults": true,"maxItems": 5,"maxConcurrency": 2,"maxRetries": 8,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"],"apifyProxyCountry": "US"}}
Other ways to seed:
{ "searchUrls": [{ "url": "https://www.zillow.com/austin-tx/" }] }
{"boundingBoxes": [{ "north": 30.45, "south": 30.15, "east": -97.55, "west": -97.95 }],"filterState": { "price": { "min": 400000, "max": 900000 }, "beds": { "min": 2 } },"useMapResults": false}
Sample output (real data from the live Apify test run above)
Three real Austin TX listings emitted from the Apify run on 2026-05-14
against bounding box 30.27/30.31, -97.78/-97.72 (East Austin / UT
neighborhood):
{"source": "zillow","sourceId": "29397590","url": "https://www.zillow.com/homedetails/809-E-38th-St-Austin-TX-78705/29397590_zpid/","address": {"line": "809 E 38th St","city": "Austin","state": "TX","zip": "78705","lat": 30.296783,"lng": -97.72628},"status": "FOR_SALE","price": 950000,"currency": "USD","beds": 4,"baths": 3,"sqft": 1765,"lotSqft": 11830,"yearBuilt": 1953,"propertyType": "SINGLE_FAMILY","photos": ["https://photos.zillowstatic.com/fp/c184eaedca0e0c1d671cb7aca341d9c6-cc_ft_1152.jpg","https://photos.zillowstatic.com/fp/a12a162e0d6724c1e88cabdab47b15d4-cc_ft_1152.jpg","https://photos.zillowstatic.com/fp/3f1f0c1d904a63966211b8a3292ae9c5-cc_ft_1152.jpg"/* ... 15 more photo URLs ... */],"listingAgent": {"name": "Clay Byrne","phone": "(512) 942-7880","brokerage": "Keller Williams Realty"},"priceHistory": [{ "date": "2026-04-07", "event": "Price change", "price": 950000 },{ "date": "2026-03-17", "event": "Price change", "price": 1049900 },{ "date": "2026-02-09", "event": "Listed for sale", "price": 1100000 }],"taxHistory": [{ "year": 2025, "amount": 11231.14, "value": 680091 },{ "year": 2024, "amount": 11155.90, "value": 674528 },{ "year": 2023, "amount": 15568.63, "value": 860503 },{ "year": 2022, "amount": 7631.93, "value": 696858 },{ "year": 2020, "amount": 7646.81, "value": 575915 },{ "year": 2002, "amount": 5161.45, "value": 223429 }/* ... 17 more years ... */],"scrapedAt": "2026-05-14T14:50:54Z"}
Two more rows from the same run:
| sourceId | Address | Price | Beds | Baths | sqft | Type | Agent | Brokerage |
|---|---|---|---|---|---|---|---|---|
| 29401557 | 4404 Barrow Ave, Austin 78751 | $550,000 | 2 | 1 | 896 | SINGLE_FAMILY | Vanessa Hadrych | Keller Williams Realty |
| 338246448 | 2500 Longview St #518, 78705 | $500,000 | 2 | 2 | 1010 | CONDO | Georgia Spiropoulos | Christie's Int'l Real Estate |
Tips for best results
- Residential proxy is the default and the right choice. Datacenter IPs get flagged within a few requests.
- Start small. Set
maxItems: 5andmaxRetries: 8for your first run. Adjust upward once it works for your input. - Bounding boxes beat city URLs for completeness. A city URL is bound by Zillow's URL-encoded filter; a bounding box gets every listing in the box regardless.
- Photos are CDN-direct. Each URL in
photosis a stable, no-auth zillowstatic.com URL you can store or hot-link.
Output dataset
Each row is pushed to the actor's default dataset as a flat JSON object with the schema shown above. Export to CSV, JSON, JSONL, XML, or Excel from the Apify Console.
Notes & limits
- The actor scrapes only publicly visible data -- no login, no agent-only MLS fields, no off-market records.
- Some listings (sponsored or partial markers) are intentionally skipped when they lack a property identifier.
- For technical / architectural details, see the repo's root README (no-browser HTTP-only stack, TLS impersonation, multi-step warmup, bbox quadtree, full operations playbook).