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
JavaScript
HTTP
MCP
1from apify_client import ApifyClient2
3# Initialize the ApifyClient with your Apify API token4# Replace '<YOUR_API_TOKEN>' with your token.5client = ApifyClient("<YOUR_API_TOKEN>")6
7# Prepare the Actor input8run_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 finish11run = 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}
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 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.
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!
Get AI-ready Zillow data via API
Connect to hundreds of apps right away using ready-made integrations, or set up your own with webhooks and our API.
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.
Yes, it is legal to scrape publicly available data such as property prices, availability, and street addresses from Zillow. However, you should be aware that results might contain personal information protected by GDPR and other regulations. You should only scrape personal data if you have a legitimate reason and should consult lawyers if unsure about your use case.
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.