Zillow Scraper: homes for sale, rentals, sold and details
Pricing
from $0.80 / 1,000 listings
Zillow Scraper: homes for sale, rentals, sold and details
Scrape Zillow by city, ZIP, county or search URL: homes for sale, for rent and sold, with price, beds, baths, area, Zestimate, days on Zillow, broker and photos, and with details, price and tax history, schools, agent and facts. Whole cities, past the 820 a search shows. No login.
Pricing
from $0.80 / 1,000 listings
Rating
0.0
(0)
Developer
Spyridon Pikoulas
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Zillow Scraper
Scrape Zillow's homes for sale, for rent and recently sold, without an account or a browser:
- Places:
Austin, TX,78704,Travis County, TX,Brooklyn, NY, with a listing type (for sale, for rent, sold) and filters: price or rent, bedrooms, bathrooms, home types and days on Zillow. The search covers the whole place, not just the 820 homes Zillow's site shows for a search: where the map holds more, it is searched again in smaller parts. A search for Austin's homes for sale gave 5,729 of the 5,735 Zillow counts, in 78 seconds. - Search URLs: paste a search from zillow.com, with its filters and map area.
- Home URLs:
zillow.com/homedetails/..._zpid/, or the zpid alone.
Every home comes with its zpid, URL, address, coordinates, price, beds, baths, living area, lot
size, home type, status, days on Zillow, Zestimate and rent Zestimate, tax assessed value,
price cut, sold date, broker and photos. With includeDetails it also comes with its price
history, tax history, schools with their ratings, description, year built, HOA fee, the
listing's facts (heating, cooling, parking, appliances, flooring...), listing agent with
phone, MLS, parcel number and all its photos in full size.
It costs $0.80 per 1,000 homes, and $1.90 per 1,000 homes with details.
What people use it for
- Real estate investing: prices, Zestimates, rent Zestimates and days on market of a whole city or ZIP code, to find deals and estimate yields.
- Market research: listings, price cuts and recent sales over time, for reports and pricing.
- Lead generation: listing agents and brokers with their phones, for agents, lenders and home-service businesses.
- Rental research: rents across a city, apartment buildings with their units and rents.
How to scrape Zillow
- Click Try for free; Apify's free plan covers a first run.
- Enter Searches: places (
Austin, TX, a ZIP code) or Zillow search URLs, and pick for sale, for rent or sold. - Click Start, then download the results as JSON, CSV, Excel or HTML, or read them through the API.
An input with more options:
{"searches": ["Austin, TX", "https://www.zillow.com/denver-co/sold/"],"listingType": "sale","maxListingsPerSearch": 2000,"includeDetails": false,"minPrice": 300000,"maxPrice": 600000,"minBeds": 3,"homeTypes": ["houses", "townhomes"],"homes": ["https://www.zillow.com/homedetails/2308-Bridle-Path-Austin-TX-78703/29333392_zpid/"]}
Each place is its own search with the listing type and filters given; a search URL keeps its own. A home URL always comes with its details.
Output
{"type": "listing","zpid": 29412534,"url": "https://www.zillow.com/homedetails/500-Denson-Dr-Austin-TX-78752/29412534_zpid/","status": "FOR_SALE","statusText": "Active","address": "500 Denson Dr, Austin, TX 78752","street": "500 Denson Dr","city": "Austin","state": "TX","zipcode": "78752","latitude": 30.328783,"longitude": -97.719765,"price": 395000,"priceText": "$395,000","currency": "USD","beds": 3,"baths": 2,"livingArea": 1110,"lotSize": 6700,"homeType": "SINGLE_FAMILY","daysOnZillow": 4,"taxAssessedValue": 401807,"broker": "Compass RE Texas, LLC","marketingStatus": "For Sale by Agent","highlight": "Showcase","has3DModel": true,"hasVideo": false,"isFeatured": false,"photos": ["https://photos.zillowstatic.com/fp/d72fe0ab796ed7a564eb117a9722b099-uncropped_scaled_within_1536_1152.jpg", "..."],"searchQuery": "Austin, TX"}
With includeDetails, a home also has datePosted, yearBuilt, hoaFee, propertyTaxRate,
description, agentName, agentPhone, brokerPhone, mlsId, mlsName, county, parcelId,
neighborhood, zestimateLowPercent/zestimateHighPercent, openHouses, facts (the listing's
fields as its MLS gives them: {"heating": ["Central"], "parkingFeatures": ["Garage"], "fireplaces": 4, ...})
and:
{"priceHistory": [{"date": "2026-09-25", "event": "Listed for sale", "price": 3395000, "pricePerSquareFoot": 671,"priceChangeRate": -0.023, "source": "Kuper Sotheby's International Realty"},{"date": "2023-09-01", "event": "Sold", "source": "Agent Provided","buyerAgent": {"name": "Brandy Finnessey", "url": "https://www.zillow.com/profile/Brandy-Finnessey/"}}],"taxHistory": [{"year": 2025, "taxPaid": 59275.08, "value": 3404126, "taxIncreaseRate": 0.102, "valueIncreaseRate": 0.098}],"schools": [{"name": "Casis Elementary School", "rating": 10, "level": "Primary", "grades": "PK-5", "type": "Public","distance": 1.0, "districtName": "Austin Independent School District","link": "https://www.greatschools.org/texas/austin/535-Casis-Elementary-School/"}]}
An apartment building in a rental search has no zpid; it has isBuilding, buildingName, its
units ([{"beds": 1, "price": "$1,750+"}]), availableUnits, minRent, maxRent and phone.
Use it as an API
One call runs it and returns the results as JSON (for runs under 5 minutes; longer ones start a run and read its dataset). Apify's Python and JavaScript clients, and its Make, Zapier and n8n integrations, work the same way.
curl -X POST "https://api.apify.com/v2/acts/pikoulas~zillow/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"searches": ["Austin, TX"], "maxListingsPerSearch": 10}'
AI agents can call it as a tool through Apify's MCP server: https://mcp.apify.com?tools=pikoulas/zillow.
How much does it cost to scrape Zillow?
You pay $0.0008 per home, which is $0.80 per 1,000, and $0.0019 per home with details, $1.90 per 1,000. Runs that go through Apify's residential proxy also pay its traffic, $0.0012 per 100 KB: a home is about 1 KB from a search (about $0.013 per 1,000), about 36 KB with details (about $0.45 per 1,000). There are no monthly fees.
Good to know
- Sold prices are missing where states don't disclose them (Texas, Utah and a few others); Zillow shows the Zestimate there.
- A rental search lists apartment buildings as one card each, with their units' rents; their details aren't read.
- A home found by several searches is given once per run.
- A place Zillow doesn't know is skipped with a warning; an address is taken as that home.
- Zillow refuses an IP after about 100 searches, for an hour or more. With no proxy set, a run starts on Apify's own IPs and moves to Apify's residential proxy when refused, with a new IP every 95 searches; only that traffic is charged. Apify's datacenter proxy is always refused.
- The Zestimate is there where Zillow shows one; many listed homes have it hidden.
FAQ
Is it legal to scrape Zillow?
It collects only what Zillow shows publicly, without logging in. Scraping public data is generally legal, but personal data is protected by laws such as the GDPR and the CCPA, and Zillow's terms may limit how you use what you collect. If you're unsure, ask a lawyer; Apify's Is web scraping legal? is a good start.
Something missing or not working?
Open an issue on the Issues tab with the input you used, or ask there for a field you need.