Zillow Scraper API: Property, Search & Zestimate
Pricing
from $2.40 / 1,000 properties
Zillow Scraper API: Property, Search & Zestimate
Zillow scraper API: get Zillow property data by URL, zpid, search URL or location, and export search results to JSON, CSV or Excel. Price, Zestimate, rent Zestimate, beds, baths, sqft, lot, year built, price history, photos, MLS and broker. For sale, rent and sold.
Pricing
from $2.40 / 1,000 properties
Rating
0.0
(0)
Developer
Morgan Studio
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 hours ago
Last modified
Categories
Share
Zillow Scraper API: Property & Search Data
What is Zillow Scraper API?
Zillow Scraper API is a Zillow scraper you call like an API: it gets Zillow property data from property URLs, zpids, Zillow search URLs or plain locations. For every home you get the price, status (for sale, for rent, recently sold, off market), address and coordinates, beds, baths, living area, lot size, year built, price per square foot, Zestimate and rent Zestimate, HOA fee, last sale price and date, days on Zillow, page views and saves, the listing description, full-size photo URLs, price history where Zillow shows it, the MLS and listing brokerage.
Searches work two ways: paste any Zillow search URL with the filters you set in your browser (price, beds, home type, rentals, sold), or type a location (Phoenix, AZ, a ZIP code) and pick for sale, for rent or recently sold. Search results come back as listing cards; switch on Fetch full property details to get the full property record for each one.
You pay per record delivered: $0.0024 per property ($2.40 per 1,000) and $0.001 per search result ($1 per 1,000), platform usage included. Properties that are not found, blocked requests and invalid inputs are reported in the dataset and free.
The easiest way to try it: paste a Zillow property link into Property URLs or zpids and press Start.
What data can you get from Zillow?
| Field | Example |
|---|---|
zpid, url | 49125964, https://www.zillow.com/homedetails/6220-2nd-Ave-NW-Seattle-WA-98107/49125964_zpid/ |
homeStatus | FOR_SALE, FOR_RENT, RECENTLY_SOLD, OFF_MARKET, ... |
price, currency | 1325000, USD |
streetAddress, city, state, zipcode | 6220 2nd Avenue NW, Seattle, WA, 98107 |
latitude, longitude | 47.67502, -122.35918 |
homeType | SINGLE_FAMILY, CONDO, TOWNHOUSE, MULTI_FAMILY, ... |
bedrooms, bathrooms | 5, 4 |
livingArea, livingAreaUnits | 3380, sqft |
lotAreaValue, lotAreaUnits | 4399.56, Square Feet |
yearBuilt, pricePerSquareFoot | 1918, 392 |
zestimate, rentZestimate | Zillow's value and rent estimates (null when Zillow does not show one) |
monthlyHoaFee, propertyTaxRate | 135, 0.55 |
lastSoldPrice, dateSold | 265000, 2012-01-27 |
daysOnZillow, datePosted, pageViewCount, favoriteCount | 1, 2026-10-13, 150, 26 |
priceChange, priceChangeDate | the latest price change and its date, when there is one |
description | the listing description |
photoCount, photos | 40, full-size photo URLs (1536 px) |
priceHistory | [{ "date": "2026-10-07", "price": 1325000 }], when the page shows it |
facts | full and half baths, lot size text, property subtype, parking, HOA total, heating, cooling, appliances, flooring, stories (when listed) |
openHouseSchedule | [{ startTime, endTime }] |
mlsId, mlsName, brokerageName, listingAgentName, listingStatusDetail, listingLastUpdated | listing attribution as shown on Zillow |
fetchStatus, error | ok, null |
Example property record (photos, history and description shortened):
{"recordType": "property","zpid": "49125964","url": "https://www.zillow.com/homedetails/6220-2nd-Ave-NW-Seattle-WA-98107/49125964_zpid/","homeStatus": "FOR_SALE","price": 1325000,"currency": "USD","streetAddress": "6220 2nd Avenue NW","city": "Seattle","state": "WA","zipcode": "98107","latitude": 47.67502,"longitude": -122.35918,"homeType": "SINGLE_FAMILY","bedrooms": 5,"bathrooms": 4,"livingArea": 3380,"livingAreaUnits": "sqft","lotAreaValue": 4399.56,"lotAreaUnits": "Square Feet","yearBuilt": 1918,"pricePerSquareFoot": 392,"zestimate": null,"rentZestimate": 6058,"description": "Perched above a favorite Phinney Ridge block, this beloved Craftsman has been home to the same owners for 46 years...","photoCount": 40,"photos": ["https://photos.zillowstatic.com/fp/c51f5d4b78c5d599d3e1c2b25b7f0621-cc_ft_1536.jpg"],"priceHistory": [{ "date": "2026-10-07", "price": 1325000 }],"facts": { "bathroomsFull": 2, "bathroomsHalf": 1, "lotSize": "4,399 sqft", "propertySubType": ["Single Family Residence"] },"mlsId": "2591886","mlsName": "NWMLS as distributed by MLS GRID","brokerageName": "Windermere Mercer Island","listingStatusDetail": "Active","fetchStatus": "ok","error": null}
Example search result (a recently sold home from a Denver search):
{"recordType": "search-result","zpid": "13056017","url": "https://www.zillow.com/homedetails/1995-S-Newport-St-Denver-CO-80224/13056017_zpid/","homeStatus": "RECENTLY_SOLD","price": 730000,"streetAddress": "1995 S Newport Street","city": "Denver","state": "CO","zipcode": "80224","bedrooms": 4,"bathrooms": 4,"livingArea": 2726,"zestimate": 705900,"rentZestimate": 3961,"taxAssessedValue": 667100,"dateSold": "2026-10-14","brokerName": "LIV Sotheby's International Realty","searchUrl": "https://www.zillow.com/denver-co/sold/","position": 1,"fetchStatus": "ok"}
Rental searches also return apartment buildings as one card: isBuilding: true, buildingId, buildingName, minRent, maxRent, availableUnits and a units list with price and beds.
How to scrape Zillow property data
- Add property URLs or zpids, and/or search URLs, and/or locations.
- For locations, pick For sale, For rent or Recently sold.
- Set Max results per search (default 100).
- Optional: switch on Fetch full property details to turn every search result into a full property record.
- Press Start, then download the dataset as JSON, CSV or Excel, or read it through the Apify API.
Input example
{"propertyUrls": ["https://www.zillow.com/homedetails/2734-E-Vista-Dr-Phoenix-AZ-85032/8011097_zpid/","1772396"],"searchUrls": ["https://www.zillow.com/denver-co/sold/"],"locations": ["Seattle, WA", "37206"],"listingType": "for_sale","maxResultsPerSearch": 100,"fetchDetails": false}
Export Zillow search results to CSV or Excel
Paste a Zillow search URL with your filters, or type a city or ZIP code, then download the dataset from the Output tab as CSV, Excel or JSON, or from https://api.apify.com/v2/datasets/<datasetId>/items?format=xlsx. Each listing is one row with price, address, beds, baths, living area, Zestimate and status.
A Zillow API you can use today
Zillow's own data APIs are for approved partners. This actor reads Zillow's public pages and you call it over the Apify API, with results in the same request:
curl -X POST "https://api.apify.com/v2/acts/morgan-studio~zillow-property-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"propertyUrls": ["1772396"]}'
Zillow scraper in Python
With the apify-client package:
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("morgan-studio/zillow-property-scraper").call(run_input={"locations": ["Denver, CO"], "listingType": "sold", "maxResultsPerSearch": 50})for home in client.dataset(run["defaultDatasetId"]).iterate_items():print(home["streetAddress"], home["price"], home["zestimate"])
How much does it cost to scrape Zillow?
Pay per event, platform usage included:
| Event | Price | When |
|---|---|---|
| Property | $0.0024 | one full property record delivered (fetchStatus: ok) |
| Search result | $0.001 | one listing card from a search |
| Actor start | $0.00005 | once per run |
1,000 full property records cost $2.40. 1,000 search results cost $1. Not-found properties, blocked requests and invalid inputs are written to the dataset with their fetchStatus and cost nothing. A run stops cleanly when it reaches the maximum cost you set for it.
Limits and good to know
- Data is what Zillow shows on its public pages, logged out. Fields Zillow does not show for a home come back
null(for example many active listings have no Zestimate, and sold homes often have no description). priceHistoryis filled when Zillow renders it into the page; in our tests about 4 in 10 property pages carried it.- Zillow shows at most about 20 pages (about 800 listings) per search. For more, split the search by ZIP code or price band.
- Zillow uses bot protection. The actor fetches pages directly first and retries through Apify Proxy on fresh sessions when Zillow answers with a bot check. Keep Apify Proxy on.
- US listings only (Zillow's coverage).
- No login, no cookies, no browser.
Status values
ok (charged), not-found (the property or search does not exist or has no listing data), blocked (Zillow's bot check on every try), error (network or unexpected HTTP), invalid-input (not a Zillow property URL, zpid or search URL), no-results (a search with no listings). Only ok is charged.
Is it legal to scrape Zillow?
This actor reads public pages that anyone can open without an account, and returns facts about properties. It does not log in or collect private data. Zillow's Terms of Use restrict automated access; check that your use fits them and the laws where you work. Photos belong to their owners; the actor returns links, not copies.
FAQ
Is there a free Zillow API? Not a public one for listing data. This actor is pay per record: $0.0024 per property and $0.001 per search result, and failed items are free.
How do I export Zillow search results to Excel? Run a search URL or a location, then download the dataset as Excel (format=xlsx) or CSV.
Can I use it from Python? Yes, with apify-client as shown above, or with plain HTTP to the Apify API.
Does it get sold homes and rentals? Yes. Set Listing type to sold or for_rent for a location, or paste a Zillow search URL with those filters.
Support
Questions or a broken field: open an issue on the actor's Issues tab and include the run id.
Ready-made examples
Each one opens with its input filled in; copy it to your account and run.
- Export Zillow search results to CSV
- Zillow listings to Excel by ZIP code
- Zillow property data by URL or zpid
- Zillow rentals by city: rent prices and listings
- Zillow sold homes by ZIP code
More actors from the same developer
- Amazon Product Scraper & Price API (ASIN, Keyword)
- App Store Reviews Scraper: Apple & Google Play API
- YouTube Transcript API & Scraper with Timestamps
Changelog
- 2026-10-15: README and listing reworded for search; new sections on API use, scheduling and export; links to the ready-made examples. No change to the scraper or the prices.
- 0.1: first release. Property URLs and zpids, search URLs, locations (for sale, for rent, sold), optional full details for search results, rental buildings, direct-first fetching with proxy fallback.