Zillow Scraper — Listings, Property Details, Zestimate & Agents avatar

Zillow Scraper — Listings, Property Details, Zestimate & Agents

Pricing

from $1.30 / 1,000 listing scrapeds

Go to Apify Store
Zillow Scraper — Listings, Property Details, Zestimate & Agents

Zillow Scraper — Listings, Property Details, Zestimate & Agents

Scrape Zillow for-sale, for-rent, and sold listings and extract full property details, Zestimate home values, photos, price & tax history, schools, and real-estate agent contacts. Search by city, ZIP, URL, or address — with automatic bypass of Zillow's 500-result limit. Export to JSON, CSV, or Excel

Pricing

from $1.30 / 1,000 listing scrapeds

Rating

0.0

(0)

Developer

Raven

Raven

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 hours ago

Last modified

Share

Zillow Scraper — Listings, Property Details, Zestimate® & Agents 🏡

Scrape Zillow from $2 per 1,000 listings (from $1.30 per 1,000 on paid plans) — no login, no Zillow API key, no code, and no proxies to configure. Point this actor at a city, a ZIP code, a Zillow search URL, or specific property pages and get clean, structured JSON, CSV, or Excel in one run.

One actor covers the whole Zillow surface: search listings (for sale, for rent, sold), full property details with 100+ facts, Zestimate® home values, and real-estate agent profiles with contact data. Whether you're doing real-estate market research, building a lead list, feeding a CRM, comparing prices, or tracking inventory across a metro area — it's all here.


What does this Zillow Scraper do?

Zillow doesn't offer an open, free public API for bulk listing data — the official Zillow APIs are gated behind partner approval, key limits, and restricted fields. This actor is a practical Zillow API alternative (an unofficial Zillow API): it reads the same publicly visible data the website shows and returns it as a structured dataset, with no approval process and no daily call ceiling.

Pick a mode — or just paste any Zillow URL and let the actor auto-detect it:

ModeWhat you point it atWhat you get back
🔎 Search listingsA city, ZIP, county, neighborhood, or Zillow search URLEvery home matching your filters — for sale, for rent, or recently sold — ~30 fields per card
🏠 Property detailsZillow /homedetails/ URLs or ZPIDsFull property record: 100+ facts, all photos, price & tax history, schools, HOA, and the listing agent
💰 Zestimate®A URL, ZPID, or plain street addressFast home-value + rent estimate lookup
🧑‍💼 Agent profilesAn agent profile URL or a location to discover agents inAgent name, email, phones, rating, license, active listings, and past sales

Auto-detect: drop a mix of Zillow URLs into Start URLs and the actor routes each one — search page → search, property page → details, profile page → agent — automatically.


Why use this Zillow Scraper?

  • Four scrapers in one — search, property details, Zestimate®, and agents, instead of stitching three separate actors together.
  • Beats Zillow's ~500-result on-screen cap — for large metros the actor recursively splits the map into quadrants so you can pull thousands of listings per search (details below).
  • Every filter Zillow has — price, beds, baths, sqft, lot size, year built, HOA, days on market, keywords, home type, plus pool / garage / A-C / waterfront / 3D-tour / basement / price-reduced toggles.
  • All listing categories — for-sale-by-agent, FSBO, new construction, coming soon, auctions, and foreclosures, plus for-rent and recently-sold.
  • 100+ fields per property on detail mode — including the full reso_* fact set (heating, cooling, appliances, parking, roof, flooring, view, HOA, and more).
  • Listing-agent & broker contact data — name, phone, email, license number, brokerage, MLS ID (when Zillow exposes them).
  • One-click enrichment — flip on fetchDetails to turn any search into full property records in a single run.
  • Pure HTTP, no headless browser — browser-grade TLS fingerprint impersonation + residential-proxy rotation with automatic retries, so it's efficient and reliable without a slow, heavy browser.
  • Spreadsheet-ready — flip on flatOutput for clean CSV/Excel columns; export as JSON, CSV, Excel, XML, or HTML.

This actor vs. the official API vs. typical Zillow scrapers

Official Zillow APITypical Zillow scraperThis actor
AccessPartner approval + API keyUsually one narrow job per actorNo key, no login, one actor
CoverageRestricted, limited fieldsUsually search or details or agentsSearch + details + Zestimate® + agents
Result capRate/quota limitedOften stops at Zillow's on-screen capMap-quadrant split past the cap
Fields per propertyLimited setBasic card fields100+ facts + photos + history + schools
FiltersVariesA handfulAll Zillow filters + category toggles
OutputJSONJSONJSON, CSV, Excel, XML, HTML
PricingUsage tiers / negotiatedVariesFrom $2 / 1,000 (free plan), $1.30 / 1,000 paid

Competitor-column claims are generalized; individual actors vary.


What data can you extract from Zillow?

Search & property detail data, grouped:

CategoryFields
IdentityZPID, detail URL, MLS ID, parcel ID, county FIPS
Address & locationStreet, city, state, ZIP, county, neighborhood, latitude, longitude, time zone
ListingStatus (for sale / for rent / sold), price, price label, last sold price, days on Zillow, time on Zillow, page views, favorites
Property specsBeds, baths, living area, lot size, year built, home type, stories, levels, condition
FinancialsZestimate®, Rent Zestimate®, high/low estimate %, tax-assessed value, annual tax, property tax rate, monthly HOA, price/sqft
Interior & buildingHeating, cooling, appliances, flooring, fireplace, parking, roof, foundation, construction materials, architectural style
Agent & brokerAgent name, email, phone, license number, brokerage, co-agent, MLS name
HistoryFull price history and tax history (date, price, event, source)
CommunityAssigned/nearby schools with rating, grades, distance, level; subdivision; zoning
MediaAll listing photos (highest resolution), main image, street-view image, photo count, 3D-model / video flags

Per record type — field counts:

  • Search listing → ~30 fields per home (address, price, beds/baths, area, lot, lat/long, home type, days on Zillow, Zestimate®, Rent Zestimate®, tax-assessed value, broker, image, 3D/video flags).
  • Property detail100+ fields per home (everything above, plus the full reso_* extended fact set, photos[], priceHistory[], taxHistory[], and schools[]).
  • Zestimate® → 16 fields (Zestimate®, Rent Zestimate®, high/low %, price, last sold price, tax-assessed value, property tax rate + address).
  • Agent profile → name, business name, email, cell/brokerage/business phones, rating average & count, business address, license(s), service areas, for-sale/for-rent counts, past-sales total, plus forSaleListings[], pastSales[], and optional reviews[].

How to scrape Zillow step by step

  1. Create a free Apify account — it takes a minute and comes with $5 in free monthly credits (≈ 2,500 listings a month, free).
  2. Open the Zillow Scraper and choose a Mode (or just paste Zillow URLs into Start URLs).
  3. Add your target — a location like Austin, TX, a ZIP like 90210, a Zillow search URL, or property/agent URLs.
  4. Apply filters — price, beds, baths, home type, days on market, features, and set Max results.
  5. Click Start and watch the run.
  6. Download your data — JSON, CSV, Excel, XML, or HTML from the Dataset tab, or pull it via the Apify API.

Zillow only shows about 500 homes on screen for any single search, and its underlying query returns at most 20 pages × 41 results = 820 per query. This actor works around that automatically:

  1. It resolves your location or URL to the map bounds Zillow uses.
  2. It paginates that region to the query limit.
  3. When a region holds more than 820 results, it recursively splits the map into four quadrants and repeats — zooming in until each rectangle fits under the cap.

The result: set Max results to 0 (unlimited) or a large number, and the actor keeps subdividing to pull far beyond the on-screen 500-home cap — thousands of listings from a single dense metro. No manual zooming, no copy-pasting map tiles.


Enrich every listing with full property details

Search cards carry ~30 fields. Turn on fetchDetails and, for every listing found, the actor also opens its property page to add year built, price & tax history, assigned schools, listing-agent contact, all photos, and the 100+ reso_* facts — merged into the same record. One run, search → enriched dataset. (Each enriched listing adds a property-detail charge — see pricing.)


Input parameters

ParameterTypeDescription
modeselectsearch, propertyDetail, zestimate, or agent.
startUrlsarrayAny Zillow URLs — search, property, or agent. Auto-routed to the right mode.
searchUrlsarrayZillow search / region URLs (including ?searchQueryState= URLs).
locationsarrayFree text: "Austin, TX", "90210", "Los Angeles County, CA".
listingTypeselectforSale, forRent, or sold.
forSaleByAgent, forSaleByOwner, newConstruction, comingSoon, auction, foreclosuresbooleanFor-sale category toggles.
priceMin / priceMaxintegerPrice (or monthly rent) range.
bedsMin / bedsMax, bathsMin / bathsMaxintegerBed / bath range.
sqftMin / sqftMax, lotSizeMin / lotSizeMaxintegerLiving-area / lot-size range (sqft).
yearBuiltMin / yearBuiltMaxintegerYear-built range.
hoaMaxintegerMax monthly HOA fee.
homeTypesarrayhouses, townhomes, condos, apartments, multiFamily, manufactured, lotsLand.
daysOnZillowselect1, 7, 14, 30, 90, 6m, 12m, 24m, 36m (or empty for any).
keywordsstringFree-text keywords (max 99 chars), e.g. "pool, view, remodeled".
hasPool, hasGarage, hasAirConditioning, isWaterfront, has3DTour, hasBasement, priceReducedOnlybooleanFeature toggles.
sortselectrelevance, newest, price_desc, price_asc, beds, baths, sqft, lot, yearBuilt, priceReduced.
maxItemsintegerCap on listings. 0 = unlimited (auto-splits the map).
fetchDetailsbooleanEnrich each search listing with its full property page.
propertyUrls, zpidsarrayTargets for Property details / Zestimate mode.
zestimateItemsarrayZestimate lookups: URL, ZPID, or address.
includePhotos, includeHistory, includeSchools, includeResoFactsbooleanToggle detail sections (all on by default).
agentUrlsarrayAgent profile URLs, or a location to discover agents in.
includeAgentListings, includeAgentPastSales, includeAgentReviewsbooleanAgent output sections.
maxAgentsPerLocationintegerCap agents discovered per location.
flatOutputbooleanFlatten nested fields for CSV/Excel.
maxConcurrencyintegerPages fetched in parallel (default 6, max 30).
maxRetriesintegerRetries per blocked request (each rotates the proxy).
proxyConfigurationobjectProxy settings. US residential is strongly recommended (default).

Ready-to-paste input recipes

1. All homes for sale in a city, under $750k, 3+ beds

{
"mode": "search",
"locations": ["Austin, TX"],
"listingType": "forSale",
"priceMax": 750000,
"bedsMin": 3,
"maxItems": 500
}

2. Rentals under $3,000 with a pool (LA condos & apartments)

{
"mode": "search",
"locations": ["Los Angeles, CA"],
"listingType": "forRent",
"priceMax": 3000,
"hasPool": true,
"homeTypes": ["condos", "apartments"]
}

3. Recently sold homes in a ZIP, fully enriched with details

{
"mode": "search",
"locations": ["78701"],
"listingType": "sold",
"fetchDetails": true,
"maxItems": 100
}

4. Foreclosures & price reductions across a metro (unlimited)

{
"mode": "search",
"locations": ["Phoenix, AZ"],
"listingType": "forSale",
"forSaleByAgent": false,
"forSaleByOwner": false,
"newConstruction": false,
"comingSoon": false,
"auction": false,
"foreclosures": true,
"priceReducedOnly": true,
"sort": "newest",
"maxItems": 0
}

5. Full details for specific properties

{
"mode": "propertyDetail",
"propertyUrls": [
"https://www.zillow.com/homedetails/20224-W-Marlow-Ln-Northridge-CA-91326/442607266_zpid/"
]
}

6. Home-value (Zestimate®) lookups by address, URL, or ZPID

{
"mode": "zestimate",
"zestimateItems": [
"1600 Pennsylvania Ave, Washington, DC",
"442607266",
"https://www.zillow.com/homedetails/509-Gothic-Ave-Crested-Butte-CO-81224/113419231_zpid/"
]
}

7. Agents in a city, with active listings and past sales

{
"mode": "agent",
"agentUrls": ["Los Angeles, CA"],
"maxAgentsPerLocation": 25,
"includeAgentListings": true,
"includeAgentPastSales": true
}

Output examples

Search listing

{
"zpid": "113419231",
"url": "https://www.zillow.com/homedetails/509-Gothic-Ave-Crested-Butte-CO-81224/113419231_zpid/",
"statusType": "FOR_SALE",
"statusText": "House for sale",
"price": 2950000,
"priceLabel": "$2,950,000",
"address": "509 Gothic Avenue, Crested Butte, CO 81224",
"city": "Crested Butte",
"state": "CO",
"zipcode": "81224",
"beds": 3,
"baths": 3,
"area": 1660,
"lotAreaValue": 6098.4,
"latitude": 38.8718,
"longitude": -106.98193,
"homeType": "SINGLE_FAMILY",
"daysOnZillow": 4,
"zestimate": 2810200,
"rentZestimate": 3572,
"taxAssessedValue": 2422570,
"has3DModel": true
}

Property detail (abbreviated — the full record carries 100+ fields)

{
"zpid": "442607266",
"url": "https://www.zillow.com/homedetails/.../442607266_zpid/",
"streetAddress": "20224 W Marlow Ln",
"city": "Northridge",
"state": "CA",
"zipcode": "91326",
"homeStatus": "FOR_SALE",
"price": 1195000,
"zestimate": 1180400,
"rentZestimate": 4900,
"bedrooms": 4,
"bathrooms": 3,
"livingArea": 2456,
"yearBuilt": 1972,
"monthlyHoaFee": 0,
"propertyTaxRate": 1.19,
"description": "Beautifully remodeled single-story home ...",
"agentName": "Jane Doe",
"agentPhoneNumber": "(818) 555-0142",
"agentLicenseNumber": "01234567",
"brokerName": "Pinnacle Estate Properties",
"reso_heating": ["Central"],
"reso_cooling": ["Central Air"],
"reso_parking": ["Garage - 2 spaces"],
"photos": ["https://photos.zillowstatic.com/fp/....jpg"],
"priceHistory": [{ "date": "2026-06-01", "price": 1195000, "event": "Listed for sale" }],
"taxHistory": [{ "time": 1704067200000, "taxPaid": 12500, "value": 980000 }],
"schools": [{ "name": "Beckford Charter", "rating": 8, "level": "Elementary", "distance": 0.4 }]
}

Zestimate®

{
"zpid": "113419231",
"streetAddress": "509 Gothic Avenue",
"city": "Crested Butte",
"state": "CO",
"zipcode": "81224",
"homeStatus": "FOR_SALE",
"price": 2950000,
"zestimate": 2810200,
"rentZestimate": 3572,
"zestimateLowPercent": "5",
"zestimateHighPercent": "5",
"taxAssessedValue": 2422570,
"propertyTaxRate": 0.53
}

Agent profile

{
"name": "Pinnacle Estate Properties Inc",
"email": "example@brokerage.com",
"phoneCell": "(818) 497-7941",
"ratingAverage": 5,
"ratingCount": 1060,
"businessAddress": "9137 Reseda Blvd. Northridge CA 91324",
"forSaleCount": 36,
"pastSalesTotal": 5346,
"profileUrl": "https://www.zillow.com/profile/PinnacleEstateProp/"
}

Common mistakes that return zero or fewer results

  • Getting fewer results than the map shows? Zillow caps a single query at ~820 results. Set maxItems to 0 and the actor auto-splits the map into quadrants to go past it — but very large metros still take longer, so let the run finish.
  • A location returns nothing? Use a real Zillow-recognized place: "Austin, TX", a 5-digit ZIP, or "Travis County, TX". A misspelled or non-US location won't resolve.
  • For-sale toggles all off = no for-sale results. In forSale mode, at least one of forSaleByAgent / forSaleByOwner / newConstruction / comingSoon / auction / foreclosures must be on.
  • homeTypes uses specific values. Use houses, condos, townhomes, apartments, multiFamily, manufactured, or lotsLand — not house or single-family.
  • Property/Zestimate mode needs property inputs. Put /homedetails/ URLs or ZPIDs in propertyUrls / zpids / zestimateItems, not in locations.
  • Null fields are normal. Zillow doesn't publish every field for every home (agent email and some reso_* facts are often missing). The actor returns what's public and drops empty fields.
  • Rentals price = monthly rent. priceMin / priceMax are interpreted as monthly rent when listingType is forRent.

How much does it cost to scrape Zillow?

This actor uses Apify's pay-per-event model: you're charged a fixed price per record delivered, and the price already includes proxies and platform usage — no separate add-ons, no surprise fees.

EventFree planPaid plans (from)
Listing scraped (one search result)$2.00 / 1,000$1.30 / 1,000
Property detail scraped (100+ facts)$3.00 / 1,000$1.50 / 1,000
Zestimate® lookup$2.00 / 1,000$1.00 / 1,000
Agent profile scraped$5.00 / 1,000$3.20 / 1,000

Paid tiers (Bronze → Diamond) unlock the lower "from" prices automatically as your Apify plan grows.

Worked examples (free-plan rates; paid plans cost less):

What you scrapeHow it's chargedCost
5,000 for-sale listings5,000 × listing$10.00 ($6.50 paid)
1,000 listings + full details1,000 listing + 1,000 detail$5.00 ($2.80 paid)
2,000 Zestimate® lookups2,000 × zestimate$4.00 ($2.00 paid)
500 agent profiles500 × agent$2.50 ($1.60 paid)

Free plan translation: Apify's Free plan gives $5 in credits every month, which buys roughly 2,500 listings, or 1,600 property details, or 1,000 agent profiles, or 2,500 Zestimate® lookups — free, every month.

Stay in control: set Max results and/or a per-run charge limit, and the actor stops cleanly when the budget is reached.


Integrations

Run the Zillow Scraper on a schedule and push data anywhere without writing glue code. On the Apify platform you can connect it to:

  • Make, Zapier, and n8n for no-code automations
  • Google Sheets, Slack, Airbyte, GitHub, and Google Drive
  • Webhooks for real-time run-completion events (BI tools, CRMs, alerts)
  • API clients for Python and JavaScript/Node.js (apify-client) and the Apify CLI
  • Schedules to run daily/weekly and keep a dataset in sync (great for price-drop and new-listing tracking)

Use Zillow data with AI agents (MCP)

This actor works with the Apify MCP server, so AI assistants like Claude, ChatGPT, and Cursor can run it and read the results as a tool. Point your agent at the Apify MCP server and prompt it in plain language, for example:

"Find every 3-bed house for sale under $600k in Austin, TX, enrich each with the listing agent's phone, and give me a CSV."

The agent triggers the scraper, waits for the run, and pulls the dataset back — no manual export.


  • Real-estate market research — track prices, inventory, and days-on-market by city, ZIP, or neighborhood.
  • Lead generation for agents & investors — build lists of FSBO homes, price-reduced listings, or agent contacts.
  • Comps & valuation — compare Zestimate® vs. list vs. sold price across an area.
  • CRM & portal feeds — keep an internal search portal or CRM stocked with fresh listings.
  • Investment sourcing — monitor foreclosures, auctions, and motivated-seller signals metro-wide.
  • AI & analytics — feed housing data into dashboards, predictive models, or LLMs.

Scraping publicly available data — such as property prices, addresses, and listing attributes — is generally legal. This actor only reads data that is publicly visible on Zillow.

Be aware that results can include personal information for real-estate agents (a public professional role). Personal data is protected by GDPR (EU Regulation 2016/679), CCPA, and similar laws — only collect and process it if you have a legitimate basis, and never use it for spam or harassment. If you're unsure whether your use case is compliant, consult a lawyer.

For more background, see Apify's guide: Is web scraping legal?


FAQ

Does Zillow have a public API?

Zillow offers several official APIs, but they're gated behind partner approval, API keys, usage limits, and restricted fields — which is why most people use a scraper as a Zillow API alternative for open, bulk access to publicly visible data.

Do I need a Zillow account or login?

No. No Zillow account, login, or API key is required.

Can I get more than 500 results for a big city?

Yes. Zillow caps a single query at ~820 results and shows ~500 on screen. Set maxItems to 0 (or a large number) and the actor automatically splits the map into quadrants to pull far beyond that.

Can I get the listing agent's contact info?

Yes — property details include the listing agent's name, phone, license number, and brokerage (and email when Zillow exposes it). For full agent profiles with ratings and past sales, use Agent mode.

Do I need proxies?

No — proxy rotation is built in and included in the price. US residential proxies are used by default; you can supply your own under Proxy configuration if you prefer.

Which locations are supported?

Any US location Zillow covers — cities, ZIP codes, counties, and neighborhoods. Results come back in English and USD.

How fresh is the data?

It's pulled live from Zillow at run time, so it reflects what's on the site right now.

Can I scrape for-rent and recently-sold homes too?

Yes. Set listingType to forSale, forRent, or sold — all three work the same way.

Can I export to CSV or Excel?

Yes — every run writes a dataset you can download as JSON, CSV, Excel, XML, or HTML. Turn on flatOutput for the cleanest spreadsheet columns.

Will I be charged for searches that return nothing?

No. You're charged per record delivered. A location that resolves to zero listings produces no listing charges.

Why are some fields null or missing?

Zillow doesn't publish every field for every home. Agent emails and some extended (reso_*) facts are frequently unavailable — the actor returns what's public and omits empty fields.

Can I schedule it to run automatically?

Yes — use Apify Schedules to run daily or weekly and keep a dataset up to date.

What's a Zestimate®?

It's Zillow's estimated market value (and Rent Zestimate® for estimated rent). Zestimate® mode returns it fast for any home by URL, ZPID, or plain address.

How do I get more results per run?

Increase maxItems (or set 0), keep filters reasonable, and let large-metro runs finish — the quadrant split can take longer on dense areas.


Feedback & support

Found a bug or need a field the actor doesn't return yet? Open an issue on the actor's Issues tab — please include your input configuration and, if possible, a shared run link so it can be reproduced quickly.


More real-estate & lead-gen scrapers by this developer


This actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Zillow, Inc. or its subsidiaries. Zillow® and Zestimate® are trademarks of Zillow, Inc. All trademarks are the property of their respective owners.

Tags: zillow scraper, zillow api, zillow api alternative, zillow data scraper, zillow listings scraper, zillow property scraper, real estate scraper, zillow zestimate scraper, zillow agent scraper, real estate agent leads, zillow rentals scraper, zillow sold listings, zillow for sale, foreclosure scraper, fsbo scraper, property data api, real estate data, zpid scraper, zillow search scraper, zillow zip code search