Zillow API Python Client
Extract Zillow data with our Zillow API Python client. Get programmatic access to property prices, zestimate values, full addresses, ZPID numbers, bedrooms and bathrooms, and more using simple Python code. Start free, no credit card required.

Trusted by industry leaders all over the world
Integrate our Zillow API
The Apify API client for Python is the official library that allows you to use Zillow API in Python, providing convenience functions and automatic retries on errors. Get started with simple pip installation and robust error handling built-in.
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 Python client
Use our Python API client to extract Zillow real estate data by providing search URLs from Zillow.com with specific filters applied. The API returns structured data, including full addresses, prices, bedrooms, bathrooms, zestimate values, ZPID numbers, photos, broker information, and coordinates in JSON format.
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.
Install Apify Python client02
Install the Apify Python client using pip: pip install apify-client. This package provides a simple interface to interact with Zillow API from your Python applications.
Get your Apify API token03
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 API04
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. Use the provided Python code examples to integrate Zillow API into your Python application.
Get your Zillow data via API05
The Zillow API returns structured JSON data that works perfectly with pandas, NumPy, and other Python data analysis libraries.

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!
Python-ready Zillow data extraction
Connect to hundreds of apps right away using ready-made integrations, or set up your own with webhooks and our API.
No, Zillow does not provide an official Python API client. While Zillow offers several APIs including Zillow Property Details API and Zillow Neighborhood Data API, these are REST APIs that require you to build your own Python client implementation. 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 Python API client 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 using the Python API client. 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 using a Python API client 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 Python API client 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 using Python API clients. However, you should be aware that results might contain personal information protected by GDPR and other regulations. You should only scrape personal data with your Python API client if you have a legitimate reason and should consult lawyers if unsure about your use case.
Getting started with our Zillow Python API is easy — simply create a free Apify account, get your API token, and start using the Zillow API in Python, JavaScript, CLI, cURL, OpenAPI, or MCP.