- Detail enrichment is more reliable: a listing whose extra details could not be read on the first try is retried.
- Detail enrichment runs more efficiently. Output fields and pricing are unchanged.
- Price notice for the option
includeExtendedDetails ("Price History, Taxes & Schools", off by default): from 2026-10-28 it costs $1.50 per 1,000 homes that actually receive the price history, tax history, schools or parcel number, charged as the new extended-details event. Homes where nothing was added, and runs with the option off, are not charged. The option stays free until 2026-10-28.
- Your maximum cost per run now also counts this event, so a run with the option on stops cleanly at your limit instead of being aborted by it.
- New option
includeExtendedDetails ("Price History, Taxes & Schools", off by default). For homes for sale and recently sold it adds propertyHistory (price history), taxHistory, schools and parcelId. These were added to every for-sale and sold run in 0.1.39, which made those runs slower and more expensive; they are now opt-in. With the option off, these four fields are empty on for-sale and sold homes. Rental homes keep what their listing page shows. Turning the option on also turns on detail enrichment.
- The input form now shows the essentials first (search mode, locations, max results, URLs, property IDs and addresses). Filters, output options, incremental mode and notifications are in collapsible sections below. No input names or defaults changed.
- With detail enrichment, for-sale and sold homes now also return
taxHistory, schools and parcelId, and propertyHistory (price history) is filled for them as well. Before, these stayed empty outside rental homes.
- Fixed: listings Zillow shows as "$0" (auctions and homes whose price was taken off) or "$0+" (new-construction plans) now have
price, priceFormatted and pricePerSqft empty instead of 0. Zillow publishes no other price or price text for these listings.
- Fixed: a run with a low maximum cost could stop early, because the limit counted part of the charges twice.
- New fields:
mlsId (the listing's MLS number, on for-sale listings with detail enrichment) and parcelId (the county parcel number, where the listing page publishes it - rental homes).
- New option
includeNeighborhood (off by default): adds walkScore, transitScore and bikeScore (0-100) and nearbyHomes - the comparable homes Zillow lists for the property, each with price, beds, baths, square feet, address, coordinates, link and photo. Turning it on also turns on detail enrichment.
- Rental homes now also return their own
nearbyHomes with detail enrichment.
taxHistory and schools are filled where Zillow's listing page publishes them (rental homes, and schools for apartment buildings). Zillow's for-sale and sold pages no longer publish them, so they stay empty there rather than being guessed.
- New filters, all optional: max bathrooms, lot size, year built, max HOA fee (with or without homes that have no HOA data), days on Zillow (or sold within), minimum parking spots, must-have features (garage, pool, air conditioning, waterfront, single story, basement, views, 3D tour, open house, price reduced and more), 55+ communities, and pre-foreclosure / foreclosed listing types.
- New rental filters: pets, in-unit laundry, parking, furnished, rent-by-owner, apartment community and 22 more amenities, room or entire place, and move-in date.
- New
sort input (newest, price, beds, baths, square feet, lot size, Zestimate, monthly payment, recently changed).
- New ways to say what to scrape:
zpids (Zillow property ids), addresses (each matched to that exact property), and mapBounds (a map rectangle, no location needed). A pasted zillow.com URL that is only a drawn map area now searches that area.
- A radius (
centerLat, centerLng, radiusKm) now works without a location: it searches the circle around the point.
- Fixed:
keyword and searchStatuses (pending, contingent) were accepted but not applied to the search. They now narrow the results.
- A filter value that cannot be used (for example
daysOnZillow "10", a misspelt feature, a date in another format, swapped coordinates, a minimum above its maximum) now stops the run before any charge, with the value to use instead. A location Zillow does not recognise is reported with the closest place names.
- Incremental runs with a days-on-Zillow or move-in window no longer report listings outside the window as expired.
- Fixed: a pasted Zillow search URL such as
https://www.zillow.com/homes/for_sale/Austin,-TX_rb/ now searches that place. Before, it could return listings from a different city or state. The same applies to a ZIP code or a place name without a state in Search locations (for example "78701" or "Manhattan").
- Fixed: a location Zillow does not recognise is now skipped and named in the log and run status, with how to enter it, instead of returning listings from somewhere else.
- Fixed: runs stop scanning once
maxResults listings are collected, instead of reading one or two extra pages of search results. The delivered listings are unchanged.
- Fixed: apartment communities in rental searches now have
beds (and, with detail enrichment, bathsTotal and sqft). Zillow lists these as one building with several unit sizes, so the fields hold the smallest unit; new fields bedsMax, bathsMax and sqftMax hold the largest when the sizes differ. Single listings are unchanged and the new fields stay empty for them.
- Fixed: runs with a maximum cost limit and detail enrichment no longer fetch details for listings the limit can no longer pay for, so more of the limit goes to delivered listings.
- Fixed: runs with a maximum cost limit no longer end without results when platform usage counts toward the limit.
- Fixed: when the Max items run option limits a run, the log now says "maximum number of items" instead of "maximum cost".
- Fixed: runs with a maximum cost per run now use the full budget. With a limit set, a run
stopped early — for example a $0.013 limit returned 3 listings with detail enrichment where
it pays for 5. Prices are unchanged.
- Apartment communities in rental searches now have a
price. Zillow lists these as one
building with a rent range instead of a single price, and they came back with price
empty. price is now the lowest base rent and the new priceMax the highest, with
priceFormatted showing the range (for example "$1,340 - $2,305/mo"). New fields
buildingName, availableUnits and units (the "from" price per bedroom count) are
filled for these listings. In incremental runs, apartment listings are reported as
UPDATED once, because their rent is now part of the comparison; after that they are
reported as UPDATED when the rent changes.
- Detail pages are no longer fetched for listings beyond
maxResults. A run could fetch a
few more detail pages than it returned; the delivered records are unchanged.
- Incremental runs now respect a maximum cost per run. The run returns the new and changed
listings that the limit covers, and the rest are returned by your next run instead of
being skipped as unchanged.
zestimate is now filled for most homes listed for sale. Zillow shows no current
Zestimate on most for-sale listings; with detail enrichment on, the value now comes from
the home's Zestimate history instead. New field zestimateAsOf gives the date of that
value (it is empty when the listing shows the Zestimate itself).
- A home whose Zestimate comes from its history is not reported as UPDATED in incremental
runs just because that value moved.
- Detail enrichment is only charged when detail data was found. A record is charged the
detail event only when the listing page added at least one field the search result
did not have (description, year built, contacts, schools, estimates, histories and
similar). A page that yields nothing is delivered as a regular record, without the
detail charge.
- Apartment communities in rental searches now get real detail data.
description,
agentName (the leasing contact), agentPhone, schools, photos and, where the
listing states it, yearBuilt are filled for /apartments/ listings, which were
previously returned with these fields empty.
- A run with a maximum cost per run now returns as many listings as that cost covers and
finishes successfully, instead of being stopped part-way at the limit.
- Property details are filled again. Zillow changed how its listing pages present
their facts, and
yearBuilt, hoaFee, heating, cooling and garageSpaces had
been coming back empty on for-sale listings. They are populated again; hoaFee is
given as a monthly amount (an annual HOA of $300 is reported as 25).
- New agent contact fields from the listing page:
agentPhone (the listing contact
number), agentName and brokerPhone where Zillow publishes them. brokerName now
also falls back to the listing page when the search result lacks it.
rentZestimate now also uses the estimate shown in search results, so it is filled
more often, including with detail enrichment off.
- Runs now deliver the full
maxResults when detail enrichment is on. A run could
previously finish early with fewer records than requested (for example 6 of 8).
zestimate and rentZestimate stay empty where Zillow does not show an estimate for
the home, which is currently the case for most homes listed for sale.
- A run whose Apify plan does not cover the network access this actor needs now says so and
stops immediately, instead of retrying, giving up quietly, and reporting zero results as if
the listings site had blocked it. Three runs ended that way with no explanation.
- Zero results are no longer reported as a block when nothing was blocked. A search that
completes and finds nothing, and a search whose filters excluded everything, now say which
of the two happened and what to change, and count as the clean, successful runs they are.
- Incremental runs now stop collecting as soon as
maxResults is reached. Previously an
incremental run kept scanning the whole search area regardless of how few results were
requested, so a small maxResults could take minutes instead of seconds. The same
records are delivered, just far sooner.
- Full-area scanning is still performed when
emitExpired is on, since detecting removed
listings requires seeing the complete set.
- A response that stalls or truncates midway is now retried on a fresh connection instead
of ending the run. Previously a single interrupted read could fail an otherwise healthy
run and discard everything it had collected.
- Every listing now carries its full photo set (
photos[], photoCount), not just the
single search-card thumbnail.
- Added
rentZestimate — Zillow's monthly rent estimate, where Zillow provides one
(requires detail enrichment).
zestimate now falls back to the detail page's own estimate when the search card
doesn't carry one, raising fill rate on properties Zillow has a Zestimate for.
Initial release. Scrape US real estate listings from zillow.com — for-sale, for-rent, and
recently-sold, with full filters (price, beds, baths, sqft, property type), radius search,
and paste-a-URL support.
- Detail enrichment (on by default): full property description, year built, HOA fee,
property history, tax history, and assigned schools.
- Zestimate and Rent Zestimate valuations included where Zillow provides them.
- Incremental mode tracks NEW / UPDATED / EXPIRED listings across runs, with price-drop
detection.
- Contact extraction (emails, phone numbers, social profiles) from listing descriptions.
- Compact output mode and configurable description length/format for AI-agent pipelines.