Zillow Scraper - Homes for Sale, Rent, Sold & Price Drops avatar

Zillow Scraper - Homes for Sale, Rent, Sold & Price Drops

Pricing

from $1.70 / 1,000 home delivereds

Go to Apify Store
Zillow Scraper - Homes for Sale, Rent, Sold & Price Drops

Zillow Scraper - Homes for Sale, Rent, Sold & Price Drops

Scrape Zillow homes for sale, for rent and sold by city, ZIP or search URL: price, beds, baths, sqft, Zestimate, price cuts, brokerage, photos. Schedule it daily: only new listings and price drops. Optional home page with facts. Error rows are free.

Pricing

from $1.70 / 1,000 home delivereds

Rating

0.0

(0)

Developer

Scrapewise Data

Scrapewise Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Zillow Scraper: homes for sale, for rent and sold, with new-listing and price-drop alerts

Scrape Zillow search results without an account, cookies or a browser. Type a US city, ZIP code or neighborhood (any spelling: Austin, TX, austin tx, AUSTIN, 78701) or paste a search URL with your filters, and get every home with price, beds, baths, square feet, price per sqft, lot size, home type, Zestimate and Rent Zestimate, tax assessed value, days on Zillow, the price cut Zillow shows, the listing brokerage, coordinates and photos. For sale, for rent and recently sold.

Built for daily monitoring: schedule the same search every morning and get only the homes that are new, plus the ones whose price changed since your last run, with the previous price and the drop in dollars and percent. A quiet day costs nothing.

At a glance

  • Price per 1,000 homes: US$ 2.00
  • Home page (optional): US$ 3.00 per 1,000, on top: facts, price history, tax history, schools
  • Fee per run start: None
  • Search by location (city, ZIP, neighborhood) or by Zillow URL: Yes
  • For sale, for rent, recently sold: Yes
  • Filters: price, beds, baths, square feet, lot size, year built, home type, days on Zillow, keywords, price cuts
  • More than Zillow's 820 results per search: Yes, split by price range automatically
  • Only new homes since the last run (onlyNew): Yes, free when nothing is new
  • Price tracking between runs (trackPriceChanges, onlyPriceDrops): Yes
  • Agent names and phone numbers: Never (see below)
  • Error rows (bad URL, unknown place, no results): Free, with an errorCode

One real row

From a test run on 2026-10-06 (location "Austin, TX", for sale, newest first, home pages on), shortened:

{
"type": "property",
"zpid": "331629599",
"url": "https://www.zillow.com/homedetails/7910-Lennon-Dr-Austin-TX-78744/331629599_zpid/",
"status": "forSale",
"listingType": "For Sale by Agent",
"price": 315000,
"address": "7910 Lennon Dr, Austin, TX 78744",
"city": "Austin",
"state": "TX",
"zipcode": "78744",
"latitude": 30.155565,
"longitude": -97.71584,
"bedrooms": 2,
"bathrooms": 3,
"livingAreaSqft": 1471,
"pricePerSqft": 214.14,
"lotAreaSqft": 967.0,
"homeType": "SINGLE_FAMILY",
"yearBuilt": 2021,
"taxAssessedValue": 354265,
"daysOnZillow": 0,
"listedAt": "2026-10-06T21:34:40Z",
"brokerageName": "Compass RE Texas, LLC",
"photoCount": 34,
"hoaFeeMonthly": 115,
"propertyTaxRate": 1.46,
"mlsName": "Unlock MLS",
"neighborhood": "Bluff Springs",
"facts": {"bathroomsFull": 2, "bathroomsHalf": 1, "parkingCapacity": 2, "hasGarage": true, "hoaFeeTotal": "$115 monthly"},
"highlights": ["Stainless steel appliances", "Spacious front porch", "Covered lower patio"],
"hasDetails": true
}

A home with a price cut on Zillow carries it on every row, home page or not: "isPriceReduced": true, "priceReducedBy": 16000, "priceReducedAt": "2026-10-06", "priceReductionText": "$16,000 (Oct 6)".

What you can do with it

  • Investors and flippers: watch Austin, Miami or Phoenix every morning for new listings under a price per sqft, and catch every price drop on homes you already saw (onlyNew + trackPriceChanges + onlyPriceDrops).
  • Agents and brokerages: follow new listings, price cuts and recent sales in your farm area, and see which brokerages list the most in each ZIP code.
  • Rental search and relocation: a daily alert of new rentals in Seattle or New York that match budget and bedrooms, straight into Slack, e-mail or Google Sheets.
  • Comps and market research: recently sold homes with sale date and price, Zestimate next to list price, days on market and price per sqft by ZIP code or neighborhood.
  • Datasets and AI: clean, typed rows (numbers as numbers, dates as ISO) with coordinates, ready for maps and models.

Input

FieldWhat it does
locationsUS cities, ZIP codes or neighborhoods (Austin, TX, Miami, FL, 10001, Williamsburg, Brooklyn); one search each
startUrlsZillow search URLs with your filters (every filter and drawn map area is kept), or home URLs (/<zpid>_zpid/, returned with the home page)
listingTypeforSale (default), forRent or sold (recently sold)
propertyTypesAny of houses, townhomes, multiFamily, condos, apartments, manufactured, lots; empty = all
minPrice, maxPriceUS dollars (monthly rent for rentals)
minBeds, maxBeds, minBathsBedrooms and bathrooms
minSqft, maxSqftLiving area in square feet
minLotSqft, maxLotSqftLot size in square feet (1 acre = 43,560)
minYearBuilt, maxYearBuiltYear built
daysOnZillowany, 1, 7, 14, 30, 90, 6m, 12m, 24m, 36m (for sold: sold in the last N days)
keywordsZillow's keyword filter (pool, waterfront, ADU)
onlyPriceCutsFor sale: only homes Zillow shows with a reduced price
sortBynewest (default), relevance, priceLowToHigh, priceHighToLow, bedrooms, bathrooms, squareFeet, lotSize
maxItemsHomes per search, default 50. 0 = up to 10,000
includeDetailsAlso read each home's own page, charged as a separate event
onlyNewDeliver only homes not delivered in earlier runs of the same search
trackPriceChangesAdd the price from the previous run and the change; with onlyNew, also deliver seen homes whose price changed
onlyPriceDropsWith onlyNew and trackPriceChanges: of the seen homes, only price drops
proxyConfigurationDefault Apify Proxy (datacenter)

Example: new 3-bedroom houses in Austin up to $600,000, plus price drops, every morning:

{
"locations": ["Austin, TX"],
"listingType": "forSale",
"propertyTypes": ["houses"],
"maxPrice": 600000,
"minBeds": 3,
"maxItems": 200,
"onlyNew": true,
"trackPriceChanges": true
}

Recently sold condos in Miami in the last 90 days, for comps:

{
"locations": ["Miami, FL"],
"listingType": "sold",
"propertyTypes": ["condos"],
"daysOnZillow": "90",
"maxItems": 500
}

Or paste the search from your browser:

{
"startUrls": ["https://www.zillow.com/seattle-wa/rentals/"],
"maxItems": 100
}

How daily monitoring works

The Actor remembers each search (same URL, or same location and filters) in a named key-value store in your own account, zillow-scraper-state: zpid, last price, first and last time seen.

  • onlyNew: the first run delivers up to maxItems and marks everything it read as seen. Later runs read the newest homes first and stop when they reach homes already seen. A day with nothing new delivers nothing and costs nothing.
  • trackPriceChanges: every row gets isNewListing, previousPrice, priceChange, priceChangePct, isPriceDrop, firstSeenAt and previousSeenAt. maxItems then counts homes checked, so the cost of a daily run stays flat.
  • Both on: you get new homes plus homes seen before whose price changed. Older homes that the first run never reached are recorded as a price baseline, not delivered as "new".
  • Delete the key-value store to start over.

Big searches (more than 820 homes)

Zillow shows at most 20 pages of 41 homes (820) for any search. When you ask for more than that and the search is bigger, the Actor splits it into price ranges by itself (each range under 820) and reads them one after the other, so a 5,000-home city can be read in full. Without a limit above 820, nothing is split.

Output

Every home row: zpid, url, status (forSale, forRent, sold, pending, comingSoon), listingType (Zillow's label, for example For Sale by Agent, New Construction, Foreclosure), price, priceText, currency, pricePeriod (month for rentals), address, street, unit, city, state, zipcode, latitude, longitude, bedrooms, bathrooms, livingAreaSqft, pricePerSqft, lotAreaSqft, homeType, zestimate, rentZestimate, taxAssessedValue, daysOnZillow, listedAt, soldPrice and dateSold (sold homes), isPriceReduced, priceReducedBy, priceReducedAt, priceReductionText, brokerageName, builderName, isOwnerListing, isNewConstruction, isForeclosure, isAuction, isComingSoon, isPending, hasOpenHouse, openHouse, has3DTour, hasVideo, isFeatured, highlight (the note Zillow shows on the card), mainPhoto, photos, photoCount, position, searchQuery, scrapedAt.

Rental searches also return apartment buildings ("type": "building", isBuilding: true) with buildingName, price (lowest rent) and priceMax, units (rent from, by bedrooms) and availableUnits.

With price tracking: isNewListing, previousPrice, priceChange, priceChangePct, isPriceDrop, firstSeenAt, previousSeenAt.

With home pages (hasDetails: true): description, yearBuilt, hoaFeeMonthly, propertyTaxRate, zestimate, rentZestimate, listedAt, lastSoldPrice, lastSoldDate, siteLastPriceChange, siteLastPriceChangeDate, mlsName, mlsId, brokerageName, county, neighborhood, parcelId, facts (heating, cooling, appliances, flooring, parking, garage, basement, pool, view, roof, construction, utilities, pets, lease terms and more, as listed), factsAtAGlance, highlights, full-size photos, virtualTourUrl, pageViewCount, favoriteCount, and priceHistory (date, event, price, price per sqft, source), taxHistory (year, tax paid, assessed value) and schools (name, rating, grades, distance, link), for homes for sale, sold and for rent. If Zillow does not send the history part for a home, those three fields come as null and the rest of the page is still delivered. If a home page cannot be read, the row still comes with hasDetails: false and detailsError, and only the home is charged.

No agent contact data, by design. For listings by an agent you get the brokerage (a company) and the MLS. The listing agent's name, phone, e-mail, photo and license are never returned. For homes listed by the owner (FSBO, for rent by owner) you get isOwnerListing: true and no brokerage, name or phone. Phone numbers and e-mail addresses inside the description text are replaced with [contact removed]. Use the home url to contact the seller through Zillow.

Error codes (never charged)

errorCodeMeaning
INVALID_INPUTA value the Actor does not understand (minimum above maximum, unknown property type, a URL that is not a Zillow search or home)
NOT_FOUNDZillow has no place with this name (the Actor tries other spellings first), or the home was removed
NO_RESULTSNo home for this search and filters
BLOCKEDZillow's bot protection refused every attempt on new IPs; run again
NOT_REACHEDThe run timeout arrived before this search or home
TIMEOUT_TOO_SHORTThe run timeout is too short to read even the first page; raise it
UNEXPECTEDA page came in a shape we did not expect; the rest of the run goes on

Pricing

EventPer 1,000
Home deliveredUS$ 2.00
Home page (only with includeDetails or home URLs)US$ 3.00

A daily onlyNew run on a busy Austin search that finds 80 new homes costs US$ 0.16; with home pages, US$ 0.40. Error rows, duplicates, homes already seen and homes with an unchanged price are free, and there is no start fee.

Limitations

  • Zillow sits behind a bot protection. The Actor retries refused requests on its own and never solves captchas. On a bad day a search or a home page may come back as BLOCKED or hasDetails: false (free): run it again.
  • "New York" means New York City; for the whole state write "New York State" or "NY". An ambiguous name (for example "Springfield") is resolved the way Zillow resolves it; add the state to be sure.
  • A rental search mixes single homes and whole apartment buildings, as Zillow does.
  • This Actor reads public pages only.

FAQ

Do I need a Zillow account or a US IP? No. No login, no cookies, and the default datacenter proxy works.

Can I paste a search from my browser? Yes. Price, beds, baths, home type, sort, keywords, the drawn map area and every other filter in the URL are kept.

What is the difference between isPriceReduced and isPriceDrop? isPriceReduced is the cut Zillow itself shows on the listing. isPriceDrop compares the price with your own previous run (needs trackPriceChanges).

How do I get an alert only when a price drops? Turn on onlyNew, trackPriceChanges and onlyPriceDrops, schedule the Task daily and send the dataset to your integration.

Can I use it from n8n, Make, Zapier or an AI agent? Yes, through the Apify app or the Apify MCP server. Error rows are free, so an agent can explore cheaply.

What if a run is cut by its timeout? The Actor stops shortly before the limit and ends successfully with what it delivered, telling you in the status message how to get the rest.

Changelog

  • 0.1 (2026-10-07): first version. Search by Zillow URL or by location (city, ZIP, neighborhood, any spelling) for sale, for rent or recently sold, with price, beds, baths, square feet, lot size, year built, home type, days on Zillow, keywords and price-cut filters; automatic split of searches above 820 homes; Zillow's own price cuts on every row; optional home pages; onlyNew and price tracking between runs for daily schedules; free error rows.