Skip to content

Zillow Search Scraper

Try for free

Extract public Zillow homes for sale and rent from a city, ZIP, or search URL. Returns price, address, beds, baths, Zestimate, photos, and the listing link.

🏡 Zillow Search Scraper

Turn any Zillow search into a spreadsheet of listings. Paste a city page, a ZIP page, or a search link from the Zillow address bar and get every home for sale or for rent with price, address, beds and baths, Zestimate, photos, and the listing URL. No login, and just $1.40 per 1,000 listings.

Set your filters on Zillow, copy the link, and export the results as JSON, CSV, or Excel.

✨ Why use Zillow Search Scraper?

  • 🔓 No login — reads public Zillow search results only.
  • 🔗 Any search link — city pages, ZIP pages, or full search URLs with your filters and map.
  • 🗺️ Dense areas covered — zoom-in mode splits crowded maps so you can go past the page limit.
  • 🏠 Sale and rent — price, status, home type, beds, baths, living area, Zestimate, and coordinates.
  • 🖼️ Photos and links — cover image and the listing URL on every row.
  • 💸 Cheap — a flat price per listing saved.

🎯 Use cases

  • 📈 Market snapshots — export homes for sale or rent in a city or ZIP code.
  • 🆕 New listing watch — sort the Zillow search by newest, copy the URL, and schedule the run.
  • 🔄 Property workflows — feed listing URLs and zpids into your own detail pipeline.
  • 💹 Investment research — compare prices, Zestimates, and rents across neighborhoods.
  • 🏘️ Lead generation — build lists of active listings for agents and services.

🚀 How to use

  1. Search on Zillow, set filters (for sale, for rent, price, home type), and copy the URL.
  2. Paste it into Search URLs. One search per URL.
  3. Set Results per search and an Extraction method.
  4. Click Start.
  5. Download the dataset as JSON, CSV, or Excel, or read it through the API.

📥 Input

FieldTypeDescription
searchUrlsarrayCity, ZIP, or search URLs. A link with searchQueryState uses that map and those filters as-is.
resultsLimitintegerMaximum listings per search URL. Default 10.
extractionMethodstringPAGINATION_WITH_ZOOM_IN (default), PAGINATION, or MAP_MARKERS.
proxyConfigurationobjectProxy settings. Datacenter is the default.

Extraction methods:

  • Pagination with zoom-in reads the first page, then splits the map when Zillow caps the area at 20 pages. Use it for dense cities.
  • Pagination stays on the pages Zillow shows for that map, up to 20 pages.
  • Map markers returns the pins on the current map and does not page further.
{
  "searchUrls": [
    { "url": "https://www.zillow.com/greenville-sc/" }
  ],
  "resultsLimit": 10,
  "extractionMethod": "PAGINATION_WITH_ZOOM_IN",
  "proxyConfiguration": {
    "useScrapelyProxy": true,
    "scrapelyProxyGroups": ["DATACENTER"]
  }
}

📤 Output

One dataset row per listing.

FieldDescription
zpid, propertyUrlZillow property id and listing link.
address, listingAddress, coordinatesFlat address, address parts, and latitude and longitude.
listingPriceAmount, currency, and formatted price.
listingStatus, homeTypeFor sale or for rent, and the home type.
bedrooms, bathrooms, livingAreaBeds, baths, and living area.
zestimate, rentZestimate, taxAssessedValueZillow estimates when the card has them.
mainImage, listingPhotos, photoCountCover photo and gallery.
daysOnZillow, availabilityDateListing age and availability for rentals.
factsAndFeaturesExtra flags such as fireplace, pool, and air conditioning.

A trimmed item from a real run (a rental in San Francisco):

{
  "zpid": "15079329",
  "address": "423 Waller St APT 6, San Francisco, CA 94117",
  "listingPrice": { "currency": "USD", "amount": 5195, "formatted": "$5,195/mo" },
  "listingAddress": {
    "street": "423 Waller St APT 6",
    "unit": "Apt 6",
    "city": "San Francisco",
    "state": "CA",
    "zipCode": "94117",
    "country": "USA"
  },
  "coordinates": { "latitude": 37.77085, "longitude": -122.43073 },
  "listingStatus": "forRent",
  "homeType": "APARTMENT",
  "bedrooms": 2,
  "bathrooms": 1,
  "livingArea": 778,
  "livingAreaUnit": "sqft",
  "zestimate": 875800,
  "rentZestimate": 5194,
  "propertyUrl": "https://www.zillow.com/homedetails/423-Waller-St-APT-6-San-Francisco-CA-94117/15079329_zpid/",
  "mainImage": "https://photos.zillowstatic.com/fp/afcf38b20fa93de979bf9898a25411ab-p_e.jpg",
  "availabilityDate": "2026-10-16 00:00:00"
}

Map pins often have a cover photo and an empty photo list, because the pin payload does not include the gallery.

💰 Pricing

You pay $0.0014 per listing saved, which is $1.40 per 1,000 listings. Platform usage (compute and proxy) is billed on top at the usual rates: compute is $0.30 per compute unit and datacenter traffic is $1 per GB.

Worked example: a 10-listing search costs 10 x $0.0014 = $0.014 in event fees. A measured 10-listing datacenter run used about $0.0022 of platform usage, about $0.016 in total. An empty search saves nothing and adds no listing fee.

❓ FAQ

Which pages can I use?

Public Zillow search pages for homes for sale and for rent. Paste the URL after you set filters on Zillow. Property detail pages are not search results; use a search or city URL.

Is it legal?

It reads public search pages. You are responsible for how you use the data and for following Zillow's terms and the laws that apply to you.

What happens with an unknown city?

The run continues. That URL is logged and skipped, and other URLs in the same run are still scraped.

How many listings can one URL return?

Up to the result limit you set. Zoom-in keeps splitting a dense map until the limit is met or the map is small. Plain pagination stops at the pages Zillow shows.

What if a field is empty?

Zillow changes which fields appear on a card. Missing values are left off the row.

Do I need an account? Can I schedule it?

No account is needed. You can schedule runs and call the actor through the API.

⚠️ Limits

  • 🔎 Only public Zillow search pages. Login walls and saved searches are out of scope.
  • 🔢 Plain pagination stops at the 20 pages (about 800 listings) Zillow shows for one search; zoom-in splits the map to go further.
  • 🖼️ Photo galleries come from the search card. Map-marker mode usually has a cover image only.
  • 🐢 Map-pin searches need the search page plus pin data, so they run slower than a for-sale page search. Datacenter pin requests can fall back to residential.
  • 🧩 Detail-page fields such as full descriptions are not included; this actor covers search cards.

Related actors

G2
4.7/5
Excellent
Trustpilot

The internet is full of data.
Start owning yours.

Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.

No credit card. No setup calls.