Zillow Search Scraper avatar
Zillow Search Scraper
Try for free

Pay $2.00 for 1,000 results

View all Actors
This Actor is under maintenance.

This actor is under maintenance and it may unreliable.

Zillow Search Scraper

Zillow Search Scraper

maxcopell/zillow-scraper
Try for free

Pay $2.00 for 1,000 results

Extract data about properties for sale and rent on Zillow using the Zillow API, but with no daily call limits. Scrape millions of listings and download your data as HTML, JSON, CSV, Excel, XML. Export scraped data, run the scraper via API, schedule and monitor runs, or integrate with other tools.

🏡 What is Zillow Search Scraper?

This Zillow Search Scraper lets you extract data from the search of real estate listings on Zillow.com. It enables you to search properties in any location and extract Zillow data such as full addresses, price, description, URL, photos, number of bedrooms and bathrooms, zestimate, ZPID, and other available information.

If you need even more details from each listing such as amenities, parking features, tour availability or agent's email, try Zillow Details Scraper 🔗, which scrapes all available details for each property based on its URL.

🚪 What can this Zillow Scraper do?

Zillow Search Scraper is a data extraction tool created to go beyond the limitations of Zillow API. It extracts Zillow data from the listing depending on its property type (For sale/Sold/For rent). With this scraping tool, you can:

📈 Extract Zillow market data from house listings on Zillow at scale

🏡 Get basic Zillow listings data including price, availability, home type, address, date of posting, etc.

📩 Extract full address, price, posted date, ZPID, zestimate, photos, and other details from agencies registered on the platform

☄️ Get more than 2,000 results for free

⬇️ Download Zillow real estate data in Excel, CSV, JSON, and other formats

This scraper can be easily integrated with other existing Zillow scrapers, such as Zillow ZIP Code Search Scraper 🔗.

🌳 What Zillow data can I extract using this tool?

Our Zillow Scraper is capable of extracting data such as:

🏠 Full address💰 Price
🛏️ Bedrooms and bathrooms📍 Longitude and latitude
📅 Date posted⏳ Time on Zillow
📷 Photos📝 Description
📞 Listed by⭐️ Featured listing
🏠 Home type and status🌳 Lot size
🔗 URL🏢 ZPID
💸 Rent zestimate💵 Zestimate

📚 How do I scrape Zillow?

This Zillow scraper was designed for an easy start even if you've never extracted property data from the web before. Here's how you can scrape real estate listings data with this tool:

  1. Create a free Apify account using your email.
  2. Open Zillow Search Scraper.
  3. Add one or more Zillow search URLs to scrape available listings.
  4. Click "Start" and wait for the data to be extracted.
  5. Download your data in JSON, XML, CSV, Excel, or HTML.

For a step-by-step guide on how to scrape Zillow data, follow our tutorial.

⬇️ Input

To scrape Zillow property data, just use specific search URLs from Zillow.com website 🔗 (you can apply all the necessary filters beforehand). Note that the URL must contain the fragment ?searchQueryState=….

For detailed descriptions and examples for all input fields, please visit the dedicated Input page.

1{
2  "searchUrls": [
3    {
4      "url": "https://www.zillow.com/homes/for_sale/?searchQueryState=%7B%22isMapVisible%22%3Atrue%2C%22mapBounds%22%3A%7B%22west%22%3A-124.61572460426518%2C%22east%22%3A-120.37225536598393%2C%22south%22%3A36.71199595991113%2C%22north%22%3A38.74934086729303%7D%2C%22filterState%22%3A%7B%22sort%22%3A%7B%22value%22%3A%22days%22%7D%2C%22ah%22%3A%7B%22value%22%3Atrue%7D%7D%2C%22isListVisible%22%3Atrue%2C%22customRegionId%22%3A%227d43965436X1-CRmxlqyi837u11_1fi65c%22%7D"
5    }
6  ],
7  "extractionMethod": "PAGINATION_WITH_ZOOM_IN"
8}

⬆️ Output example

The scraped property homes will be shown as a dataset which you can find in the Output and Storage tabs. Note that the output will first be organized as a table for viewing convenience:

Zillow scraping dataset

You can preview all the fields and choose in which format to download the data you’ve extracted: JSON, CSV, Excel, HTML table, or XML. Here below is the same dataset in JSON:

1{
2    "zpid": "2064142765",
3    "id": "2064142765",
4    "providerListingId": "1648702",
5    "imgSrc": "<https://photos.zillowstatic.com/fp/33578db80c877648aba386c3aa28e042-p_e.jpg>",
6    "hasImage": true,
7    "detailUrl": "<https://www.zillow.com/homedetails/130-Water-St-APT-12D-New-York-NY-10005/2064142765_zpid/>",
8    "statusType": "FOR_SALE",
9    "statusText": "Condo for sale",
10    "countryCurrency": "$",
11    "price": "$995,000",
12    "unformattedPrice": 995000,
13    "address": "130 Water St APT 12D, New York, NY 10005",
14    "addressStreet": "130 Water St APT 12D",
15    "addressCity": "New York",
16    "addressState": "NY",
17    "addressZipcode": "10005",
18    "isUndisclosedAddress": false,
19    "beds": 2,
20    "baths": 2,
21    "area": 1280,
22    "latLong": {
23        "latitude": 40.7057,
24        "longitude": -74.0073
25    },
26    "isZillowOwned": false,
27    "variableData": {
28        "type": "DAYS_ON",
29        "text": "38 days on Zillow"
30    },
31    "badgeInfo": null,
32    "hdpData": {
33        "homeInfo": {
34            "zpid": 2064142765,
35            "streetAddress": "130 Water St APT 12D",
36            "zipcode": "10005",
37            "city": "New York",
38            "state": "NY",
39            "latitude": 40.7057,
40            "longitude": -74.0073,
41            "price": 995000,
42            "bathrooms": 2,
43            "bedrooms": 2,
44            "livingArea": 1280,
45            "homeType": "CONDO",
46            "homeStatus": "FOR_SALE",
47            "daysOnZillow": -1,
48            "isFeatured": false,
49            "shouldHighlight": false,
50            "rentZestimate": 4470,
51            "listing_sub_type": {
52                "is_FSBA": true
53            },
54            "isUnmappable": false,
55            "isPreforeclosureAuction": false,
56            "homeStatusForHDP": "FOR_SALE",
57            "priceForHDP": 995000,
58            "isNonOwnerOccupied": true,
59            "isPremierBuilder": false,
60            "isZillowOwned": false,
61            "currency": "USD",
62            "country": "USA",
63            "unit": "Apt 12D"
64        }
65    },
66    "isSaved": false,
67    "isUserClaimingOwner": false,
68    "isUserConfirmedClaim": false,
69    "pgapt": "ForSale",
70    "sgapt": "For Sale (Broker)",
71    "zestimate": null,
72    "shouldShowZestimateAsPrice": false,
73    "has3DModel": false,
74    "hasVideo": false,
75    "isHomeRec": false,
76    "brokerName": "Listing by: SERHANT.",
77    "hasAdditionalAttributions": true,
78    "isFeaturedListing": false,
79    "isShowcaseListing": false,
80    "availabilityDate": null,
81    "list": true,
82    "relaxed": false
83}

Note that we can't guarantee 100% stability of this output, since Zillow can change the availability of individual fields in search results.

❓FAQ

What scraping modes does Zillow Search Scraper support?

This scraper offers three modes: Map markers, and Pagination with and without zooming in. The first two modes are useful if you want to quickly get a sample of results from a given area, or if you want to know which results Zillow shows on the first pages(for example to find out if your property is featured).

The third mode, Pagination with zoom-in, takes longer but is the most powerful, and therefore is the default.

Map markers

This mode is the simplest of them all: the scraper simply loads the map from your search request and then returns data from each of the markers visible on the map. This mode is the fastest, but it only returns a limited number of results.

Pagination without zooming in

This mode loads the map for your search requests and then iterates through the pages of results that you can see on the right-hand side of the page. Zillow shows up to 20 pages of 41 items each, so this mode can extract up to 820 results from a single search.

Pagination + zooming in

This mode is the most powerful, since it can return all results from any given area. Note that the number of results found can be even larger than what Zillow shows you on the website, and therefore the scrape can be quite expensive too!

How it works: The scraper loads the map for a given area. It returns the items from the first page and checks the total number of pages available. If there are 20 pages (= the maximum that Zillow offers), it splits the map into 4 parts and repeats the process with increased zoom for each of them. Finally, when it reaches a zoom level where there are less than 20 pages of results for the given map area, it returns the results from all of them.

A big advantage of this approach is that you aren't wasting money on scraping both dense areas and areas with few results at the zoom level - the scraper only zooms in if it needs to do so in order to get complete results. Using this method, it is possible to scrape over 600 thousand results from a single search!

Is there a Zillow API?

Around 20 of them. Zillow offers several APIs to facilitate access to its rich real estate data, for example, Zillow Property Details API or Zillow Neighborhood Data API. However, it's worth noting that Zillow's API offerings are subject to change, and their availability or the details of their functionality might vary. Additionally, accessing these APIs usually requires an API key, and there may be usage limitations or costs associated with high-volume use. Which is why a lot of people opt for scrapers and crawlers as a stand-in for a web scraping API, e.g. 🏘 Zillow Search Scraper.

Why would anyone scrape Zillow?

Zillow has over 110 million properties in its database, more than 245 million monthly unique visitors, and 80% of all homes in the United States have been viewed on the website.

So what could you do with all that real estate listings data?

  • Use the data to add value to your real estate business by providing extra information to your visitors.
  • Extract business intelligence to predict the future of the real estate market, track demographic changes, and identify popular new neighborhoods.
  • Make smarter investment decisions by ensuring that you understand how the market is changing.
  • Automate real estate agency lead generation and make sure that you can find, and keep, the right clients in the long term.
  • Find new ways to provide tech services to real estate agencies and local listing agencies.
  • Train AI models to predict future trends and act fast when opportunities arise.

These are just some ideas to get you thinking about how web scraping can give you the data you need.

What scraping modes does Zillow Search Scraper support?

This scraper offers three modes: Map markers, and Pagination with and without zooming in. The first two modes are useful if you want to quickly get a sample of results from a given area, or if you want to know which results Zillow shows on the first pages(for example to find out if your property is featured).

The third mode, Pagination with zoom-in, takes longer but is the most powerful, and therefore is the default.

Map markers

This mode is the simplest of them all: the scraper simply loads the map from your search request and then returns data from each of the markers visible on the map. This mode is the fastest, but it only returns a limited number of results.

Pagination without zooming in

This mode loads the map for your search requests and then iterates through the pages of results that you can see on the right-hand side of the page. Zillow shows up to 20 pages of 41 items each, so this mode can extract up to 820 results from a single search.

Pagination + zooming in

This mode is the most powerful, since it can return all results from any given area. Note that the number of results found can be even larger than what Zillow shows you on the website, and therefore the scrape can be quite expensive too!

How it works: The scraper loads the map for a given area. It returns the items from the first page and checks the total number of pages available. If there are 20 pages (= the maximum that Zillow offers), it splits the map into 4 parts and repeats the process with increased zoom for each of them. Finally, when it reaches a zoom level where there are less than 20 pages of results for the given map area, it returns the results from all of them.

A big advantage of this approach is that you aren't wasting money on scraping both dense areas and areas with few results at the zoom level - the scraper only zooms in if it needs to do so in order to get complete results. Using this method, it is possible to scrape over 600 thousand results from a single search!

How much does Zillow Search Scraper cost?

This scraper uses the Pay-per-result pricing model, so your costs can be easily calculated: it will cost you $2 to scrape 1,000 search results, so $0.002 per item. It is possible to limit the number of output items in input configuration, under the last Options section.

Apify provides you with $5 free usage credits every month on the Apify Free plan, so you can get 2,500 results for free for those credits from Zillow.

But if you need more data or to extract data regularly, you should get an Apify subscription. We recommend our $49/month Starter plan — you could get up to 24,500 Zillow results every month with the monthly plan.

Can I integrate Zillow Scraper with other apps?

Yes. Zillow Search Scraper can be connected with almost any cloud service or web app thanks to integrations on the Apify platform. You can integrate with Make, Zapier, Slack, Airbyte, GitHub, Google Sheets, Google Drive, LangChain and more.

Or you can use webhooks to carry out an action whenever an event occurs, e.g. get a notification whenever Zillow Search Scraper successfully finishes a run.

Can I use Zillow Search Scraper data with API?

Yes, by using Apify API. This API gives you programmatic access to the Apify platform. The API is organized around RESTful HTTP endpoints that enable you to manage, schedule, and run Apify Actors. The API also lets you access any datasets, monitor Actor performance, fetch results, create and update versions, and more.

To access the API using Node.js, use the apify-client NPM package. To access the API using Python, use the apify-client PyPI package.

Check out the Apify API reference docs for full details or click on the API tab for code examples.

Can I use this Zillow Search API in Python?

Yes, by using Apify API. To access the Zillow Search API using Python, use the apify-client PyPI package. You can find more details about the client in our Docs for Python Client.

It is legal to scrape publicly available data such as property prices, availability, or street address. However, you should be aware that the results from your Zillow scrape might contain personal information.

Personal data is protected by GDPR (EU Regulation 2016/679), and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, please consult your lawyers. You can also read our blog post on the legality of web scraping.

Developer
Apify logo Maintained by Apify
Actor metrics
  • 60 monthly users
  • 81.9% runs succeeded
  • 15.2 days response time
  • Modified 8 days ago
Categories

You might also like these Actors