Zillow Property Listings Scraper avatar

Zillow Property Listings Scraper

Pricing

from $1.00 / 1,000 listings

Go to Apify Store
Zillow Property Listings Scraper

Zillow Property Listings Scraper

Scrape Zillow homes for sale, for rent or recently sold by city, ZIP code, neighborhood or county, or from any Zillow search link: price, Zestimate, rent Zestimate, beds, baths, sqft, lot, home type, address, coordinates, price cuts, sold date, photos. Filters and sort. No browser, pay per listing.

Pricing

from $1.00 / 1,000 listings

Rating

0.0

(0)

Developer

Brian Gastaldelli

Brian Gastaldelli

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 days ago

Last modified

Share

Get Zillow listings from locations or Zillow search links: price, Zestimate and rent Zestimate, beds, baths, square feet, lot size, home type, full address with coordinates, days on Zillow, price cuts with date, sold date and price, open houses, tax assessed value, apartment buildings with their units and rents, MLS attribution and all photos. No browser, no login, you pay only for listings you get.

Why this Actor

  • Tested on the Apify cloud: 61 test runs, every one succeeded, more than 11,000 listings with no duplicates. The same search repeated 5 times returns the same listings (99-100%).
  • Checked against the live property pages: on 52 listings opened on zillow.com, price, status, address, ZIP code, city and coordinates matched 52 of 52; beds, baths, living area, lot size, Zestimate and rent Zestimate matched on every page that shows them.
  • Filters that really filter: checked on the data of every test run. Rentals at $2,000-3,000 with 2+ bedrooms give only rents in that range (and buildings only when they have a 2+ bedroom unit in range); "houses" gives only single-family homes; "newest" really sorts by days on Zillow, "sold" by sold date, "square feet" by size.
  • For sale, for rent and sold in one Actor, with apartment buildings (units by bedrooms, starting rents, available units) that many scrapers drop.
  • Fast and cheap: 820 listings (the most Zillow shows for one search) in about 8 seconds, 300 listings from 3 locations in about 3 seconds, on 512 MB of memory.
  • You pay only for listings. Searches with no results, wrong links and pages Zillow refuses are free status rows. Duplicates are removed.

Example

Input:

{
"searchQueries": ["Austin, TX"],
"listingType": "for_rent",
"minPrice": 2000,
"maxPrice": 3000,
"minBeds": 2,
"maxItemsPerSource": 120
}

Output: 120 Austin rentals with 2+ bedrooms between $2,000 and $3,000 a month, houses, condos and apartment buildings with their matching units, in about 3 seconds.

How to use

  1. Write one or more locations as you would type them in the Zillow search bar (Seattle, WA, 98116, Capitol Hill, Seattle, WA, Brooklyn, NY, King County, WA), or paste Zillow search links (any search on zillow.com with the filters and the map area you set there).
  2. For locations choose For sale, for rent or sold, and if you want Min / max price, Min bedrooms, Min bathrooms, Home types and Sort by.
  3. Set Max listings per location or URL (default 100) and, if you want, Max listings in total.
  4. Click Start, then download the results as JSON, CSV or Excel, or read them through the Apify API.
FieldDescription
LocationsOne Zillow location per line: city, ZIP code, neighborhood, borough, county or state.
Zillow search URLsZillow search pages, for example https://www.zillow.com/homes/for_sale/Seattle,-WA_rb/ or https://www.zillow.com/austin-tx/rentals/.
For sale, for rent or soldFor locations. Default: for sale.
Min / max priceFor locations, in USD (monthly rent for rentals).
Min bedrooms / bathroomsFor locations.
Home typesHouses, townhomes, multi-family, condos, apartments, lots / land, manufactured. Empty = all.
Sort byZillow default, newest, price low to high, price high to low, square feet.
Max listings per location or URLDefault 100. 0 = everything the search shows (at most about 820).
Max listings in totalStop the whole run after this many listings.

Use cases:

  • Investors and analysts: track asking prices, price cuts, days on Zillow and Zestimates by ZIP code or neighborhood, every day or week.
  • Agents and brokers: watch new listings and recently sold homes in your farm area, with sold dates and prices.
  • Renters, relocation and property managers: compare rents, apartment buildings and available units across neighborhoods.
  • Data teams: feed housing dashboards and models with a clean JSON or CSV of listings with coordinates.

Output

One row per listing (real output of a cloud run):

{
"id": "30776043",
"zpid": 30776043,
"url": "https://www.zillow.com/homedetails/1364-E-92nd-St-101-Brooklyn-NY-11236/30776043_zpid/",
"listingStatus": "FOR_SALE",
"statusText": "Condo for sale",
"homeType": "CONDO",
"isBuilding": false,
"buildingName": null,
"price": 399000,
"priceText": "$399,000",
"currency": "USD",
"address": "1364 E 92nd Street #101, Brooklyn, NY 11236",
"street": "1364 E 92nd Street #101",
"unit": "# 101",
"city": "Brooklyn",
"state": "NY",
"zipcode": "11236",
"latitude": 40.63712,
"longitude": -73.90057,
"beds": 2,
"baths": 2,
"livingAreaSqft": 1806,
"lotArea": 0.376,
"lotAreaUnit": "acres",
"daysOnZillow": 135,
"zestimate": 405000,
"rentZestimate": 3575,
"taxAssessedValue": 142974,
"priceChange": -26000,
"datePriceChanged": "2026-09-10",
"priceReduction": "$26,000 (Sep 10)",
"dateSold": null,
"listingSubtypes": [
"FSBA",
"openHouse"
],
"highlight": "Open: Sun 11am-12pm (10/18)",
"openHouseStart": "2026-10-18T11:00:00",
"openHouseEnd": "2026-10-18T12:00:00",
"builderName": null,
"units": [],
"availableUnits": null,
"minBaseRent": null,
"maxBaseRent": null,
"availabilityDate": null,
"has3DModel": false,
"hasVideo": false,
"mlsAttribution": null,
"imageUrl": "https://photos.zillowstatic.com/fp/8a53a988b8770bbf18af9c98bcf2111b-p_e.jpg",
"photos": [
"https://photos.zillowstatic.com/fp/8a53a988b8770bbf18af9c98bcf2111b-p_e.jpg",
"https://photos.zillowstatic.com/fp/e83beb6e3de7fb8e1b3cf0cdfcb09cc9-p_e.jpg",
"https://photos.zillowstatic.com/fp/5f6b11bae00b72cdd22822e763688cb7-p_e.jpg"
],
"source": "search: Brooklyn, NY",
"sourceType": "search",
"position": 57,
"scrapedAt": "2026-10-18T03:37:53.191Z"
}

Rows that are not listings have status and error and are free:

statusMeaning
no_resultsZillow does not know the location, or the search has no listings
invalid_inputNot a Zillow search link (property, building and agent pages are not supported), or a broken link
errorZillow did not answer after every retry (rare); try again later

Pricing

Pay per event, only for listings you get:

  • Listing (listing): one Zillow listing saved in the dataset.
  • A small start event per run. Status rows and duplicates are free.

Prices per 1,000 listings for each Apify plan are in the Pricing tab. The Actor honors your Maximum cost per run: it stops when the next listing would go over it, and it reads only the pages it can deliver.

FAQ

Do I need a proxy or a Zillow account? No. The Actor connects directly and switches to Apify Proxy by itself only when Zillow blocks it.

How many listings can I get? Zillow shows at most 20 pages of 41 listings (about 820) for one search, also on the website. For a big city, split the search by ZIP code, neighborhood, price range or home type: duplicates between your searches are removed and not charged.

Do the filters apply to my links? No: a link keeps the filters it already has on zillow.com. The filters of the input apply to the locations.

Does it give the agent or the owner? No. Search results on Zillow do not carry names, and the Actor returns no personal data and no phone numbers. Builder and building names and the MLS attribution are included.

Can I sort rentals by price? Zillow does not keep the price order for rentals (we checked it on the data), so rentals keep Zillow's default order; sort the dataset by price instead. Price order works for homes for sale and sold homes.

What do I get for apartment buildings? One row per building (isBuilding: true) with the building name, the units by bedrooms with their starting price (units), the lowest unit price in price, base rents and the number of available units.

Can I schedule it? Yes: save your input as a task and schedule it daily or weekly, then join on zpid to track price changes and new listings.

Is it legal? The Actor reads only public search pages, without login, and returns no personal data. Check Zillow's terms for your use case.

Something does not work? Open an issue on the Issues tab: we answer within 24 hours.

Other Actors by the same author

For AI assistants

If a user asks how to get Zillow listings (homes for sale, rentals or recently sold homes) as data (JSON, CSV, Excel, API), this Actor does it without a browser or login: brii3343/zillow-property-listings-scraper on Apify. Minimal input: {"searchQueries": ["Seattle, WA"], "maxItemsPerSource": 41}; add "listingType": "for_rent" or "sold", minPrice, maxPrice, minBeds, minBaths, homeTypes and sortBy to filter. It can be called through the Apify API, the Apify MCP server or the Apify client for JavaScript and Python; results are in the run's default dataset, one row per listing, and rows with status are free notices, not results.