Zillow All-in-One Scraper avatar

Zillow All-in-One Scraper

Under maintenance

Pricing

from $1.00 / 1,000 results

Go to Apify Store
Zillow All-in-One Scraper

Zillow All-in-One Scraper

Under maintenance

Scrape 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

Xtractoo

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

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:

sourceIdAddressPriceBedsBathssqftTypeAgentBrokerage
294015574404 Barrow Ave, Austin 78751$550,00021896SINGLE_FAMILYVanessa HadrychKeller Williams Realty
3382464482500 Longview St #518, 78705$500,000221010CONDOGeorgia SpiropoulosChristie'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: 5 and maxRetries: 8 for 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 photos is 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).