Zillow Scraper: Search & Details, Zestimate, Price History
Pricing
from $1.20 / 1,000 properties
Zillow Scraper: Search & Details, Zestimate, Price History
Zillow search and property details for locations, ZIP codes or URLs, $2.10 per 1,000 ($3.20 with details). For sale, rent or sold by city, ZIP or URL; maxcopell Zillow input works. Zestimate, days on market, price and tax history, schools. Splits big areas past the 820-home cap; no agent data.
Pricing
from $1.20 / 1,000 properties
Rating
0.0
(0)
Developer
Arcadium Data
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
10 hours ago
Last modified
Categories
Share
Give it a city, ZIP code, county, Zillow search URL, property URL or zpid and it returns Zillow homes for sale, for rent or recently sold, one JSON row per property: price, Zestimate, rent Zestimate, beds, baths, square feet, lot, home type, days on market, price cut, brokerage, photos and coordinates. With details: description, year built, facts, price history, tax history and schools. $2.10 per 1,000 properties, $3.20 per 1,000 with details; paid plans pay less. You pay only for rows you get.
Use case: pull every listing in a city or ZIP with price, Zestimate and history in one run, for investors, agents' market reports and rent research, with no agent personal data.
Why this actor
- Drop-in input. Input written for
maxcopell/zillow-scraper(searchUrls,resultsLimit),maxcopell/zillow-zip-search(zipCodes,priceMin,priceMax,daysOnZillow,forRent,sold) ormaxcopell/zillow-detail-scraper(startUrls,propertyStatus) works as it is. - Whole areas, not just 820 homes: big searches are split into map sections and de-duplicated.
- Any input you have: free-text places, search URLs with your filters, property URLs or zpids.
- No personal data: agents' names, phones, emails and licence numbers are never returned; the brokerage name is kept.
- Inputs that cannot be read give a free error row with a
code.
Built by Arcadium Data: public data, dated and agent-ready, never personal data.
Use with AI agents
Returns Zillow homes for sale, for rent or recently sold (price, Zestimate, beds, baths, area, photos, brokerage; optionally facts, price history, tax history, schools) for cities, ZIP codes, search URLs or property URLs. Agents can call it through the Apify MCP server (https://mcp.apify.com, open source as apify/actors-mcp-server) as arcadium/zillow-properties: the input schema is read from the actor, the result is a dataset of JSON rows.
Input example (minimal):
{ "locations": ["Austin, TX"], "listingType": "for_sale", "maxResultsPerSearch": 50 }
What comes back: one property row per home (charged) and a free error row for an input that could not be read. Filter on the rowType field. The error row carries rowType: "error", a code (invalid_input, not_found, blocked, unavailable), a message and the input. Retry on blocked and unavailable later; do not retry the other codes with the same input.
Cost of the call above on the Free plan: 50 properties at $2.10 per 1,000 plus the $0.001 start fee is about $0.11.
Input examples
Homes for sale in a city, cheapest first:
{ "locations": ["Austin, TX"], "listingType": "for_sale", "sortBy": "price_low", "maxResultsPerSearch": 500 }
Rentals from 2,000 USD/month with 3+ bedrooms in two ZIP codes:
{ "locations": ["78704", "78745"], "listingType": "for_rent", "minPrice": 2000, "minBeds": 3 }
Recently sold houses with full details (price history, taxes, schools):
{ "locations": ["Travis County, TX"], "listingType": "sold", "homeTypes": ["house"], "includeDetails": true, "maxResultsPerSearch": 200 }
A search URL copied from zillow.com (its filters and map area are kept):
{ "searchUrls": ["https://www.zillow.com/austin-tx/"] }
Specific properties:
{ "propertyUrls": ["https://www.zillow.com/homedetails/3207-Wickham-Ln-Austin-TX-78725/70345655_zpid/", "29478743"] }
These input field names are also accepted: startUrls (request-list objects), zpids, zipCodes, searchUrls, propertyStatus (FOR_SALE, FOR_RENT, RECENTLY_SOLD) and maxItems.
| Field | What it does |
|---|---|
locations | Places as typed on Zillow: city + state, ZIP, county, neighborhood, state. |
searchUrls | Zillow search URLs; the URL's filters are kept and the filters below are applied on top. |
propertyUrls | Property URLs or zpids; one detail row each. |
listingType | for_sale (default on Zillow), for_rent, sold. |
sortBy | relevance, newest, price_low, price_high, beds, baths, size, lot_size. |
minPrice / maxPrice | USD; monthly rent for rentals. |
minBeds / minBaths | Minimum bedrooms / bathrooms. |
homeTypes | Any of house, townhouse, condo, apartment, multi_family, manufactured, lot_land. |
daysOnZillow | Only homes listed within 1, 7, 14, 30, 90 days or 6m, 12m, 24m, 36m (for sold: since the sale). |
maxResultsPerSearch | Properties per location or search URL (default 200, up to 100,000). |
includeDetails | Read each result's detail page too (charged as property-details). |
maxItems | Cap on charged rows for the whole run. |
Output
Output example (search row, abridged):
{"rowType": "property","platform": "zillow","propertyId": "70345655","url": "https://www.zillow.com/homedetails/3207-Wickham-Ln-Austin-TX-78725/70345655_zpid/","status": "FOR_SALE","price": 324900,"currency": "USD","address": "3207 Wickham Ln, Austin, TX 78725","city": "Austin", "state": "TX", "zipcode": "78725","latitude": 30.232096, "longitude": -97.5937,"beds": 4, "baths": 3, "livingArea": 2575,"lotArea": 4800.312, "lotAreaUnit": "sqft","homeType": "SINGLE_FAMILY","daysOnMarket": 140,"zestimate": null, "rentZestimate": null,"taxAssessedValue": 365588,"priceChange": -15000, "priceChangeDate": "2026-10-14","brokerName": "T J Lewis Real Estate","photos": ["https://photos.zillowstatic.com/fp/...-p_e.jpg"],"detailed": false,"searchInput": "Austin, TX","searchRank": 1,"scrapedAt": "2026-10-22T10:00:00.000Z"}
Detail rows (detailed: true) add yearBuilt, description, lastSoldPrice, monthlyHoaFee, propertyTaxRate, mlsId, listingDataSource, county, parcelId, facts (object), priceHistory (date, event, price, pricePerSquareFoot, priceChangeRate, source), taxHistory (date, taxPaid, value), schools (name, rating, distance, grades), pageViewCount, favoriteCount.
Error row:
{ "rowType": "error", "platform": "zillow", "input": "Nowhere", "code": "not_found", "message": "Zillow knows no place by this name; try \"City, ST\" or a ZIP code", "scrapedAt": "..." }
Error codes: invalid_input (not a Zillow URL or zpid), not_found (unknown place or removed property), blocked / unavailable (temporary; run again).
Dataset views: overview (address, price, Zestimate, beds, baths, size, brokerage), details (year built, lot, HOA, taxes, sale, history, schools), errors. The STATS record in the key-value store has requests, data volume, retries and cost per result.
Pricing
Pay per result, with lower prices on higher Apify plans:
| Plan | property (search row) per 1,000 | property-details per 1,000 |
|---|---|---|
| Free | $2.10 | $3.20 |
| Bronze | $1.80 | $2.70 |
| Silver | $1.50 | $2.20 |
| Gold | $1.20 | $1.50 |
| Platinum | $1.20 | $1.50 |
| Diamond | $1.20 | $1.50 |
Plus $0.001 per run start. A detail row is charged instead of the search row, never both. A home found by two searches in one run is charged once. Error rows are free.
Tips for AI agents and integrations
- Filter on
rowTypefirst;propertyId(zpid) is the stable key across runs. - For price-drop monitoring, run the same
locationsdaily withsortBy: "newest"and compareprice/priceChangeperpropertyId. - For a whole metro, set
maxResultsPerSearchhigh (e.g. 20000); the map is split automatically. Per-ZIPlocationsgive the same coverage with clearersearchInputlabels. - Sold prices: search rows of sold homes have
price: nullon many listings; useincludeDetails: trueand readlastSoldPriceandpriceHistory.
Limitations
- Zillow lists at most 820 homes per query; larger areas are split into map sections automatically.
- Sold homes often have
price: nullin search rows; useincludeDetailsforlastSoldPrice.
Public data only, read without login. Zillow blocks datacenter IPs, so the actor uses US residential proxies; this is included in the price.