Zillow Scraper
If you need to quickly get data from Zillow to Excel files or Google sheets, we’ll cover how to legally scrape Zillow data using your web traffic history without making any complicated API calls, worrying about Zillow API pricing, or performing any manual data entry.
But first, why bother scraping Zillow data? Zillow Group is one of many invaluable real estate data websites, allowing easy analysis of entire markets to see pricing, days on market and the very useful “Zestimate” pricing metric that Zillow provides for both rental and for sale properties.
The rest of this article will discuss how to extract data from Zillow using our HAR File Web Scraper, which does not violate the Zillow Terms of Service and will not risk getting your IP address blacklisted as other Zillow data scrapers tend to do.
How to Scrape Zillow Data
To get started, we simply navigate to Zillow’s Website and enter in a search term, e.g. Miami, FL
so that you get a map of the listings.
We next need to follow the “HAR File Web Scraper” instructions on this page to export data from Zillow:
- Right click on the page and select “Inspect” to open up developer tools.
- Refresh the entire page (now that the developer tools is open and recording your web traffic).
- Scroll around the map a bit to load more listings if needed. You can also try zooming in, panning, etc…
- Under developer tools, select the “Network” tab and then select the download button labeled
Export HAR...
You’ll now download a HAR file containing all of the raw data of real estate listings that Zillow sent to your browser from the Zillow listings API, while you legally used their website in full accordance with the Zillow Terms of Service. Your browser should look something like this:
Upload Your HAR File
Drag and drop your HAR file to this page or the HAR File Web Scraper and look for a group of requests labeled /search/GetSearchPageState.htm
as below:
You’ll be able to use this tool as a free Zillow scraper if all you need are JSON files. Simply click on the file icons next to each request and you can export Zillow JSON files of the raw Zillow data for free.
Export Zillow Data to Excel
You’ll then go to another page where you can download the Zillow search results as a CSV file. It should be the first result - just click “Download CSV” and you’ll have the data as a CSV file you can then open in Excel for detailed analysis.
You’ll get back a row for each listing. Be sure to check for duplicates - you will most likely want to de-duplicate by the detailUrl
column to make sure you get unique results. You can also use this column to find the public URL of any Zillow listing. E.g. if this value is /b/wynd-27-wynd-28-miami-fl-9QD6KF/
, then the public Zillow URL would be: https://www.zillow.com/b/wynd-27-wynd-28-miami-fl-9QD6KF/
.
You’ll also get back the following columns which should be useful in your analysis (note we cannot tell you exactly what these are since this is an unofficial API). Also, please note that these columns will vary if you’re searching for rentals vs. homes for sale, so these may not appear exactly in your CSV file depending on your exact scraping approach.
buildingId
This appears to be an identifier for each building, but is also just the latitude and longitude coordinates of the building combined together with a-
price
The monthly rental price or price to buyminBeds
Most likely the number of bedrooms in the propertyminBaths
Most likely the number of bathrooms in the propertyminArea
Most likely the square footage of the propertyimgSrc
A link to an image of the listingbuildingName
Name of the buildingaddress
Mailing address with street and city, but no zip codedetailUrl
Explained earlier, used to get the public URL of the listinghas3DModel
If the listing offers a 3D modellatLong.latitude
Latitude of the listinglatLong.longitude
Longitude of the listinghdpData.homeInfo.daysOnZillow
Number of days the listing has been on ZillowhdpData.homeInfo.rentZestimate
Zestimate value of the listing
Zillow Web Scraping
The approach outlined above is good for scraping a large list of properties on Zillow, but only for getting their basic information, including URL to each listing’s web page where each listing page contains interesting public records you may want to also scrape. Unfortunately though, this data is baked into the page as HTML and sent directly from their web servers on the initial request.
In English, this means that our HAR File Web Scraper will not work, and you’ll need to resort to a more traditional web scraping Zillow approach. While there may be a few Zillow web scrapers on the market that claim to specialize in this task, we suggest taking these with a grain of salt, as each Zillow page can be very different and vary greatly depending on your local market and laws. Therefore, you may want to consider building a custom script, like using Beautiful Soup instead to parse out the HTML and extract the data instead.