Zillow Search Scraper avatar

Zillow Search Scraper

Pricing

from $2.50 / 1,000 results

Go to Apify Store
Zillow Search Scraper

Zillow Search Scraper

Scrape Zillow listings by city, ZIP, county or neighborhood: for sale, rent, sold, foreclosures. Flat rows with price, beds, Zestimate, price drops and days on Zillow. Pulls thousands per run.

Pricing

from $2.50 / 1,000 results

Rating

0.0

(0)

Developer

axly

axly

Maintained by Community

Actor stats

12

Bookmarked

258

Total users

14

Monthly active users

3 days ago

Last modified

Categories

Share

Get Zillow listings for any city, ZIP code, county or neighborhood as clean, flat rows: homes for sale, rentals, recently sold, new construction, foreclosures and more. No Zillow account, no API key. Each row has the address, price, beds, baths, size, Zestimate, days on Zillow, price changes, broker and a photo.

One search normally stops at 975 listings. This actor splits big markets by price automatically, so you can pull thousands of listings in one run (all 4,229 of the 4,233 homes for sale in Austin in a single run, in testing).

What you get

FieldDescription
zpid, urlZillow property id and a link to the listing
status, marketing_statusforSale, forRent, recentlySold, … and whether it is active
address, city, state, zipcode, latitude, longitudeLocation
priceList price, monthly rent, or sale price for sold homes
price_change, price_change_date, price_per_sqftLatest price change (negative = drop) and price per square foot
bedrooms, bathrooms, living_area_sqft, lot_size, year_built, property_typeThe home
days_on_zillow, listing_date, sold_dateTiming
zestimate, rent_zestimate, tax_assessed_valueZillow estimates and tax assessment (where Zillow shows them)
broker_name, mls_statusListing broker (for-sale listings)
has_open_house, open_house_start, open_house_endNext open house
price_min, price_max, units_count, unit_bedrooms, titleRental buildings: price range and unit mix
photo_url, photosMain photo, and up to 20 photos with "Include photo list"

Prefer Zillow's original record? Set Output format to Raw to get the nested JSON.

Use cases

  • Real estate investors: find price drops, fresh listings and foreclosures across a market, and track them on a schedule.
  • Agents and brokerages: comps from recently sold homes, active competition by ZIP code.
  • Proptech and data teams: market snapshots by ZIP, county or neighborhood, as flat tables ready for a dashboard.
  • Rental analysts: rent levels and building inventory by area.
  • Lead generation: listings with their broker, for outreach to listing agents and brokerages.

Input

ParameterWhat it does
query / queriesOne place, street address or link, or several: Austin, TX, 78701, Travis County, TX, 7609 E Indian Bend Rd, Scottsdale, AZ 85250
startUrlsZillow links: a search link copied from zillow.com (its filters are applied) or a listing link (/homedetails/…)
homeStatusesFor sale (agent + owner), for rent, recently sold, new construction, foreclosure, pre-foreclosure, auction, coming soon
minPrice, maxPrice, minBedrooms, maxBedrooms, minBathrooms, homeTypesFilters
maxHoaFeesMaximum monthly HOA fee. Leave empty to include every home
sortOrderRecently changed, price, days on Zillow, beds, baths, size
maxResultsTotal listings to return, up to 100,000
outputFormat, includePhotosFlat rows (default) or raw records; photo list
maxDaysOnZillow, priceDropsOnly, onlyNewSinceLastRunMonitoring options, below

Example

{
"queries": ["78701", "78702", "78704"],
"homeStatuses": "forSale",
"maxPrice": 900000,
"minBedrooms": 3,
"maxResults": 1000
}

Example row

{
"zpid": "29500919",
"url": "https://www.zillow.com/homedetails/29500919_zpid/",
"status": "recentlySold",
"address": "1903 Keilbar Ln",
"city": "Austin",
"state": "TX",
"zipcode": "78745",
"price": 270000,
"bedrooms": 3,
"property_type": "townhome",
"sold_date": "2026-05-22T05:00:00Z",
"days_on_zillow": 139
}
  • Zillow search link: set your filters on zillow.com, copy the address bar, paste it into startUrls. Status (for sale, rent, sold), price, beds, baths, HOA, home types, sort and days on Zillow are read from the link and apply to that link only. The whole place is searched, not just the visible map; hand-drawn map areas are not supported. Settings you choose in the form apply to everything the link does not set.
  • Street address or listing link: returns that property if it is currently for sale, for rent or recently sold (the actor tries each status). An address with no active listing is reported in the run status, not as an error.
  • Also accepted for compatibility with other Zillow actors: search, searches, location, addresses, searchUrls and maxItems.
{
"startUrls": [{ "url": "https://www.zillow.com/austin-tx/rentals/" }],
"queries": ["7609 E Indian Bend Rd, Scottsdale, AZ 85250"],
"maxResults": 200
}

Monitor a market

Schedule the actor and combine:

  • Only listings not returned before: each run returns only listings your earlier runs did not (kept per search).
  • Price drops only: listings whose latest price change was a reduction.
  • Listed within (days): fresh listings only.

Connect a webhook, Zapier, Make or Google Sheets to receive the new rows.

Good to know

  • Listing dates depend on the market. Zillow gives no days-on-Zillow or listing date for some markets (Seattle is one). With "Listed within (days)" the run tells you how many listings it had to skip for that reason.
  • Zestimates and brokers are partial. Zestimates appear on a share of listings, and sold listings rarely show a broker.
  • Rental buildings are one row. An apartment building comes as one row with a price range and unit mix, not one row per unit.
  • Sold listings are the most recent sales Zillow returns for the area, newest first.

What's new

  • Zillow search links, listing links and street addresses are accepted, and search/maxItems work as aliases.
  • Rental price filters (min/max rent) now work. Before, they were silently ignored for rentals.
  • ZIP codes, counties, neighborhoods and boroughs work. Before, only cities returned results.
  • The HOA filter is applied only when you set Max HOA fees. Earlier versions always filtered to homes with no HOA fee, which dropped more than half of the homes for sale.
  • Recently sold listings return results.
  • Searches larger than 975 listings are split by price automatically.
  • Flat output by default (Raw output is one setting away), multiple locations per run, and monitoring options.
  • "For sale" is the default status, covering agent-listed and owner-listed homes.

FAQ

Do I need a Zillow account? No.

How many listings can one run return? Up to 100,000 in total. A single Zillow search reaches 975, so bigger areas are split into price bands automatically and duplicates are removed.

Why do I get fewer rows than the Zillow website shows? The website counts differently (for example it can include pending homes and listings outside the map). This actor returns active listings for the status you pick.

Can I search by street address? Yes. Give the full address (street, city, state, ZIP) in query; you get that property when it is listed for sale, for rent or recently sold. Properties that are off the market have no listing to return.

Is this legal to use? The actor reads publicly visible listing data. You are responsible for how you use it and for following Zillow's terms and the laws that apply to you.