Zillow API

Our Zillow API gives you programmatic access to Zillow data that isn't available through any official API. Get data on full addresses, property prices, bedrooms and bathrooms, zestimate values, ZPID numbers, and more. And the best part? You can try the Zillow API entirely for free, no credit card required.

Trusted by industry leaders all over the world

Integrate our Zillow API

Access the Zillow API using Python, JavaScript, CLI, cURL, OpenAPI, or MCP. Choose your preferred option and start extracting Zillow data in minutes.

Python

Python

JavaScript

JavaScript

HTTP

HTTP

MCP

MCP

1from apify_client import ApifyClient
2
3# Initialize the ApifyClient with your Apify API token
4# Replace '<YOUR_API_TOKEN>' with your token.
5client = ApifyClient("<YOUR_API_TOKEN>")
6
7# Prepare the Actor input
8run_input = { "searchUrls": [{ "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" }] }
9
10# Run the Actor and wait for it to finish
11run = client.actor("maxcopell/zillow-scraper").call(run_input=run_input)
12
13# Fetch and print Actor results from the run's dataset (if there are any)
14print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
15for item in client.dataset(run["defaultDatasetId"]).iterate_items():
16 print(item)
17
18# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

Get data with Zillow API

Extract Zillow real estate data by providing search URLs from Zillow.com with specific filters applied. The scraper returns structured JSON data with property details including full addresses, prices, bedrooms, bathrooms, zestimate values, ZPID numbers, photos, broker information, and coordinates.

Input

{
"searchUrls": [
{
"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>"
}
],
"extractionMethod": "PAGINATION_WITH_ZOOM_IN"
}

Output

{
"_fromStrapi": true,
"id": "2064142765",
"area": 1280,
"beds": 2,
"list": true,
"zpid": "2064142765",
"baths": 2,
"pgapt": "ForSale",
"price": "$995,000",
"sgapt": "For Sale (Broker)",
"imgSrc": "<https://photos.zillowstatic.com/fp/33578db80c877648aba386c3aa28e042-p_e.jpg>",
"address": "130 Water St APT 12D, New York, NY 10005",
"hdpData": {
"homeInfo": {
"city": "New York",
"unit": "Apt 12D",
"zpid": 2064142765,
"price": 995000,
"state": "NY",
"country": "USA",
"zipcode": "10005",
"bedrooms": 2,
"currency": "USD",
"homeType": "CONDO",
"latitude": 40.7057,
"bathrooms": 2,
"longitude": -74.0073,
"homeStatus": "FOR_SALE",
"isFeatured": false,
"livingArea": 1280,
"priceForHDP": 995000,
"daysOnZillow": -1,
"isUnmappable": false,
"isZillowOwned": false,
"rentZestimate": 4470,
"streetAddress": "130 Water St APT 12D",
"shouldHighlight": false,
"homeStatusForHDP": "FOR_SALE",
"isPremierBuilder": false,
"listing_sub_type": {
"is_FSBA": true
},
"isNonOwnerOccupied": true,
"isPreforeclosureAuction": false
}
},
"isSaved": false,
"latLong": {
"latitude": 40.7057,
"longitude": -74.0073
},
"relaxed": false,
"hasImage": true,
"hasVideo": false,
"badgeInfo": null,
"detailUrl": "<https://www.zillow.com/homedetails/130-Water-St-APT-12D-New-York-NY-10005/2064142765_zpid/>",
"isHomeRec": false,
"zestimate": null,
"brokerName": "Listing by: SERHANT.",
"has3DModel": false,
"statusText": "Condo for sale",
"statusType": "FOR_SALE",
"addressCity": "New York",
"addressState": "NY",
"variableData": {
"text": "38 days on Zillow",
"type": "DAYS_ON"
},
"addressStreet": "130 Water St APT 12D",
"isZillowOwned": false,
"addressZipcode": "10005",
"countryCurrency": "$",
"availabilityDate": null,
"unformattedPrice": 995000,
"isFeaturedListing": false,
"isShowcaseListing": false,
"providerListingId": "1648702",
"isUserClaimingOwner": false,
"isUndisclosedAddress": false,
"isUserConfirmedClaim": false,
"hasAdditionalAttributions": true,
"shouldShowZestimateAsPrice": false
}

How to use Zillow API

Sign up for Apify account01

Creating an account is quick and free — no credit card required. Your account gives you access to more than 5,000 scrapers and APIs.

Get started for free
Get your Apify API token02

Go to settings in the Apify console and navigate to the “API & Integrations” tab. There, create a new token and save it for later.

Integrate Zillow API03

Navigate to the Zillow API page and click on the API dropdown menu in the top right corner. In the dropdown menu, you can see API clients, API endpoints, and more.

Open Zillow API
Get your Zillow data via API04

Now, you can use the API and get the data you need from Zillow.

Why use Apify?

Never get blocked

Every plan (free included) comes with Apify Proxy, which is great for avoiding blocking and giving you access to geo-specific content.

Customers love us

We truly care about the satisfaction of our users and thanks to that we're one of the best-rated data extraction platforms on both G2 and Capterra.

Monitor your runs

With our latest monitoring features, you always have immediate access to valuable insights on the status of your web scraping tasks.

Export to various formats

Your datasets can be exported to any format that suits your data workflow, including Excel, CSV, JSON, XML, HTML table, JSONL, and RSS.

Integrate Apify to your workflow

You can integrate your Apify runs with platforms such as Zapier, Make, Keboola, Google Drive, or GitHub. Connect with practically any cloud service or web app.

Large developer community

Apify is built by developers, so you'll be in good hands if you have any technical questions. Our Discord server is always here to help!

Frequently asked questions

Yes, Zillow offers several APIs including Zillow Property Details API and Zillow Neighborhood Data API. However, these APIs require API keys, have usage limitations, and may involve costs for high-volume use. Many users opt for web scraping tools like this Zillow Search Scraper as an alternative to overcome these limitations and access more comprehensive data.

Yes, you can try the Zillow Search Scraper for free. Apify provides $5 in free usage credits every month on the Free plan, which allows you to scrape up to 2,500 Zillow results for free. The scraper uses a pay-per-result pricing model at $2 per 1,000 search results ($0.002 per item).

You can extract comprehensive property data including full addresses, prices, bedrooms and bathrooms, area size, longitude and latitude coordinates, date posted, time on Zillow, photos, broker names, home type and status, lot size, ZPID numbers, zestimate values, rent zestimate, and featured listing status. The scraper can extract data from for sale, sold, and for rent properties.

Getting started is simple: 1) Create a free Apify account using your email, 2) Open the Zillow Search Scraper, 3) Add one or more Zillow search URLs (must contain the fragment ?searchQueryState=...), 4) Click "Start" and wait for data extraction, 5) Download your data in JSON, XML, CSV, Excel, or HTML format. The scraper offers three extraction modes with "Pagination with zoom-in" as the most powerful default option.

Get started with Zillow API today

Get your first Zillow data in less than 5 minutes. No credit card required. No commitment. Cancel anytime.