Zillow Scraper 🏠 (for sale, rent and sold, all-in price) avatar

Zillow Scraper 🏠 (for sale, rent and sold, all-in price)

Pricing

from $1.23 / 1,000 listing scrapeds

Go to Apify Store
Zillow Scraper 🏠 (for sale, rent and sold, all-in price)

Zillow Scraper 🏠 (for sale, rent and sold, all-in price)

Every Zillow search result for a city or ZIP in clean JSON: price, beds, baths, square feet, Zestimate, rent Zestimate, status, days on Zillow, address and coordinates. For sale, for rent or sold, with the filters you would set on the site. One flat price per listing, platform usage included.

Pricing

from $1.23 / 1,000 listing scrapeds

Rating

0.0

(0)

Developer

Tagada Data

Tagada Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Zillow Scraper: for sale, for rent and recently sold

Type a city or a ZIP code and get every Zillow search result back as clean JSON. Price, bedrooms, bathrooms, square feet, lot size, days on Zillow, status, the full address, latitude and longitude, the brokerage, the photo and the link to the listing, plus the Zestimate, rent Zestimate and county assessed value wherever Zillow publishes them. For sale, for rent, or recently sold, with the same filters you would set on the site.

One flat price per listing delivered. Platform usage (proxies, compute) is already in that price, so the number you see is the number you pay. No API key, no login, no browser.

What it costs against the paid tools

This actorTypical Zillow actor on ApifyZillow's own data
Price$1.75 per 1,000 listings, all-in$2.40 per 1,000 (search), $3.60 per 1,000 (per listing page)No public API for listing search
Platform usageIncludedUsually billed on topn/a
MarketsFor sale, for rent, sold, in one actorUsually one per actorn/a
Zestimate and rent ZestimateOn every row Zillow publishes one forOften detail-page onlySign-in
SetupPaste a city namePaste a city nameContact sales

If you have used a scraper that charges per listing page, note the difference: the fields most people actually want (price, beds, baths, sqft, Zestimate, days on market, coordinates) are all in Zillow's search results already. This actor reads those and charges you once. It deliberately does not open each listing's own page, because that page costs about twenty times more to fetch and adds a description and a few facts. Paying detail-page prices for search-page data is the most common way to overspend on this category.

What you get

One record per listing:

FieldDescription
recordTypeAlways listing
zpidZillow's property ID
urlLink to the listing
statusFOR_SALE, FOR_RENT, SOLD, PENDING, and so on
statusTextStatus in Zillow's own words, e.g. "House for sale"
listingTypeWhich market this search read: forSale, forRent or sold
pricePrice as a number. For rentals, monthly rent
priceTextPrice as shown on the card, e.g. $330,000 or $2,101,990+
currencyCurrency code
bedsBedrooms
bathsBathrooms
livingAreaLiving area in square feet
lotAreaValue, lotAreaUnitLot size and its unit (sqft or acres)
homeTypeSingle family, Condo, Townhouse, Multi family, Lot, Manufactured, Apartment
zestimateZillow's estimated value
rentZestimateZillow's estimated monthly rent
taxAssessedValueAssessed value from the county record
daysOnZillowHow long the listing has been up
addressFull address on one line
addressStreet, addressCity, addressState, addressZipcodeThe same address split into fields
isUndisclosedAddressTrue when the seller withheld the street address
latitude, longitudeCoordinates
brokerNameBrokerage on the listing
listingAgentAgent attribution line, when there is one
isZillowOwnedZillow-owned listing
isBuildingTrue for a rental building or complex rather than a single unit
hasImage, imgSrcWhether there is a photo, and its URL
searchLocationThe city or ZIP you asked for, so multi-city runs stay sortable
searchUrlThe exact Zillow URL the row came from
capturedAtWhen the run collected the row (ISO)

Fields are null when Zillow genuinely does not publish them for that listing, which is common for the Zestimate and the assessed value. Nothing is guessed or filled in.

Who uses this

  • Investors and flippers. Pull a whole ZIP for sale and recently sold in two runs, compare asking prices against sold prices and the Zestimate, and find the gap.
  • Agents and teams. Watch inventory in your farm area: what came on this week, what is sitting, what sold and at what price.
  • Property managers and rental operators. Read the rental market in your city at a given bedroom count and set your own rent from real comparables, with rentZestimate next to the asking rent.
  • Proptech and analysts. Coordinates on every row means the output drops straight into a map, a BI tool, or a model, with no geocoding step.
  • iBuyer and renovation lead-gen. Filter old, low-priced, single-family inventory in a metro and get a working list of addresses.

Input examples

Every listing in one city, for sale:

{
"locations": ["Austin, TX"],
"listingType": "forSale",
"maxListingsPerSearch": 200
}

Several ZIP codes, houses only, in a price band, newest first:

{
"locations": ["78704", "78745", "78702"],
"listingType": "forSale",
"minPrice": 400000,
"maxPrice": 900000,
"minBeds": 3,
"homeTypes": ["houses"],
"sortBy": "newest",
"maxListingsPerSearch": 300
}

Recently sold comparables for a neighbourhood:

{
"locations": ["Austin, TX"],
"listingType": "sold",
"minBeds": 3,
"maxListingsPerSearch": 500
}

Rentals under a budget, cheapest first:

{
"locations": ["Denver, CO"],
"listingType": "forRent",
"maxPrice": 2500,
"sortBy": "priceAsc"
}

A search you drew on Zillow's map, pasted straight from the browser:

{
"locations": ["https://www.zillow.com/austin-tx/?searchQueryState=%7B%22mapBounds%22%3A%7B%22west%22%3A-97.85%2C%22east%22%3A-97.68%2C%22south%22%3A30.19%2C%22north%22%3A30.32%7D%7D"],
"maxListingsPerSearch": 200
}

Frequently asked questions

How many listings can I get from one city? Zillow itself stops paginating a search at 20 pages, about 820 listings, no matter how many results it says it has. That is a limit on Zillow's side, not on this actor. To go past it, split the area into ZIP codes or add a price band, and run several searches: the run log tells you when a search hit that ceiling.

Does it return sold prices? Yes. Set listingType to sold and you get recently sold homes with their sale price in price, plus the Zestimate and the county assessed value next to it. That is the comparison most people are after.

Can I search by neighbourhood or by drawing an area? Yes. Do the search on zillow.com, copy the URL out of the address bar, and paste it into locations. A map-drawn boundary travels with the URL and is used as-is.

Do I need a proxy, an API key or a Zillow login? No. Everything needed to reach Zillow is built in and paid for out of the per-listing price. There is no proxy setting to configure and nothing to sign in to.

Is the Zestimate really included? Yes, on every row Zillow publishes one for, along with the rent Zestimate and the county assessed value. They come straight from Zillow's own search payload, not from an estimate of ours. Zillow does not attach a Zestimate to every listing (on a typical for-sale city page it is roughly a third of rows, and the assessed value is on about seven in ten), so those fields are null where the site itself has nothing.

Why do I sometimes get slightly fewer rows than I asked for? Zillow returns 41 results per page, so a cap of 100 lands mid-page, and a listing that Zillow serves without an ID or a link is dropped rather than shipped half-empty. You are only charged for rows you actually receive.

What happens if Zillow blocks the run? Zillow uses PerimeterX. This actor rotates its exit and its browser fingerprint on every retry, and if pages are still being refused it stops instead of running up your bill, and says so in the run status. Re-running a few minutes later almost always clears it.

Is scraping this legal? The actor reads only public listing pages that Zillow serves to any visitor, and collects no personal data about buyers, sellers or agents beyond the brokerage attribution printed on the listing. Check Zillow's terms and your own use case before you build a product on it.

Doing comparables or yield work in other markets? See our Rightmove scraper for the UK, ImmobilienScout24 for Germany, and the French set (SeLoger, PAP, DVF sold prices).

Keywords: zillow scraper, zillow api, zillow data extractor, zillow listings, zillow sold prices, zillow rentals, real estate scraper, mls data alternative, property data, zestimate api, housing market data, real estate comps, zip code home search.