Three ways to use it
Subscribe on RapidAPI →
Monthly plans and a free tier; a key in a minute.
Run on Apify →
Two Actors that write listings and full records to a dataset.
Private API →
Custom limits, dedicated capacity, a direct contract.
REST API
Plans for apps and backends
All 20 endpoints on every plan, including the free one. Subscribe on RapidAPI, get a key, and start calling — the quotas are counted in queries, and a batch call counts its items.
Basic
$0 /mo
- Queries
- 1,000 a month, hard limit
- Rate limit
- 2 requests a second
- Batch
- Up to 10 queries a call
Pro
$19 /mo
- Queries
- 100,000 a month
- 50¢ per 1,000 extra
- Rate limit
- 10 requests a second
- Batch
- Up to 10 queries a call
Ultra
$59 /mo
- Queries
- 1,000,000 a month
- 30¢ per 1,000 extra
- Rate limit
- 25 requests a second
- Batch
- Up to 50 queries a call
Mega
$199 /mo
- Queries
- 5,000,000 a month
- 20¢ per 1,000 extra
- Rate limit
- 50 requests a second
- Batch
- Up to 100 queries a call
Billed by RapidAPI. One query is one call, or one item of a batch call. Bandwidth fees may apply. View live pricing →
Bandwidth, overage and batch details
Every plan includes 10 GB a month included, then $0.001 per MB (RapidAPI platform fee). Queries beyond a plan's monthly quota are billed at the overage rate on the card; the free plan is a hard limit. A batch call larger than the plan's size is refused whole, with the size and the count you sent in the error, so nothing is half-done. Plans as listed on the RapidAPI pricing page, which is the current source.
Need custom volume or direct access?
Tell us which endpoints you use and your expected daily volume. We will reply with available limits and pricing.
Search
Type a place, get listings
A city, ZIP, neighborhood or county, as you would type it into Zillow — for sale, for rent or recently sold, 40 per page, up to 1,000 per search. One row per listing, with the zpid that opens the full record.
curl -X POST "https://zillow-full-data-api.p.rapidapi.com/search" \
-H "X-RapidAPI-Key: YOUR_KEY" -H "X-RapidAPI-Host: zillow-full-data-api.p.rapidapi.com" \
-H "Content-Type: application/json" \
-d '{"location": "78704", "status": "forSale", "sort": "daysOn", "sortAscending": true, "pageSize": 3, "fields": "core"}'{
"searchResultCounts": { "totalMatchingCount": 346 },
"searchResults": [
{
"property": {
"zpid": "29460190",
"address": { "streetAddress": "2215 Post Rd APT 2046" },
"price": { "value": 289000 },
"bedrooms": 1,
"bathrooms": 1,
"livingArea": 685,
"daysOnZillow": 0,
"estimates": { "zestimate": null }
},
"resultType": "property"
},
{
"property": {
"zpid": "241938422",
"address": { "streetAddress": "2003 Wilson St Unit 5" },
"price": { "value": 950000 },
"bedrooms": 3,
"bathrooms": 4,
"livingArea": 2156,
"daysOnZillow": 0,
"estimates": { "zestimate": null }
},
"resultType": "property"
},
{
"property": {
"zpid": "29476343",
"address": { "streetAddress": "2608 Sherwood Ln" },
"price": { "value": 799900 },
"bedrooms": 3,
"bathrooms": 2,
"livingArea": 1812,
"daysOnZillow": 0,
"estimates": { "zestimate": null }
},
"resultType": "property"
}
]
}Three of 346 rows, in the core projection. Rentals come back as buildings and single homes, each marked by resultType.
{
"searchResultCounts": { "totalMatchingCount": 346 },
"searchResults": [
{
"property": {
"zpid": "29460190",
"address": { "streetAddress": "2215 Post Rd APT 2046" },
"price": { "value": 289000 },
"bedrooms": 1,
"bathrooms": 1,
"livingArea": 685,
"daysOnZillow": 0,
"estimates": { "zestimate": null }
},
"resultType": "property"
}
…
]
}One of 346 rows, core projection. Rentals come back as buildings and single homes, marked by resultType.
Endpoints
What you can pull
20 endpoints in 8 groups: search, the full record and its parts, valuation, agents, market statistics, rental buildings, mortgage rates — and a batch call that takes any of them. Every one is on every plan.
Property9 endpoints
- GET /property1 query
Full property record by zpid
- POST /property1 query
Full property record by zpid (JSON body)
- GET /property/facts1 query
The facts for one home
Show all 9 endpoints
- GET /property/price-history1 query
Price history — listings, price cuts, sales
- GET /property/tax-history1 query
Tax history — assessed value and tax paid by year
- GET /property/schools1 query
Assigned schools with ratings
- GET /property/scores1 query
Walk, transit and bike scores
- GET /property/nearby1 query
Nearby homes
- GET /property/photos1 query
The photo gallery
Valuation2 endpoints
- GET /property/zestimate1 query
Zestimate, range, 30-day change and value history
- GET /property/comps1 query
Comparable homes
Agents2 endpoints
- GET /property/agent1 query
The listing agent's full profile
- GET /property/top-agents1 query
Top-selling agents around this home, ranked
Search3 endpoints
- POST /search1 query
Listings for a place — for sale, for rent or sold
- GET /autocomplete1 query
Places Zillow knows for a partial name
- GET /region1 query
Region lookup — id, type, parents, centre, boundaries
Market1 endpoint
- GET /market1 query
Market statistics for a region — monthly, up to 100 months
Rentals2 endpoints
- GET /building1 query
A rental building
- GET /building/floor-plans1 query
Floor plans, units and amenities of a rental building
Mortgage1 endpoint
- GET /mortgage/rates1 query
Today's mortgage rates
Batch1 endpoint
- POST /batch1 / item
Many queries in one call — 10 per call on Basic and Pro, 50 on Ultra, 100 on Mega
Parameters, bounds and the error codes are in the reference. Add fields=core to a search or a record for the headline fields only.
Cookbook
Five workflows, copy-paste ready
Five workflows you can paste and run. The endpoint reference says what each call returns; this shows how they combine into the things people build. Every recipe is a few calls and a little glue.
Recipe 1
City inventory snapshot →
the numbers a market report opens with — count, median price, median $/sq ft, median days on market — for a ZIP, today.
Recipe 2
Investor screen — price cuts and long days on market →
the listings that have cut their price and sat a while — the ones worth a call.
Recipe 3
Rental comps by building →
what the buildings in a ZIP charge, per bedroom count — the table a leasing team wants.
Recipe 4
Watchlist — diff a set of homes on a schedule →
a daily job that tells you when a watched home changes price, status or Zestimate.
Recipe 5
CRM enrichment — zpids or Zillow links in, full records out →
a spreadsheet column of Zillow links becomes agent, broker, Zestimate and facts.
Open the cookbook →
Every recipe runs as pasted with your key and one small helper.
Good to know
What it is, and what it is not
Read-only, public data, US coverage. The ceilings below are Zillow's, stated where you will meet them.
- 1,000 results per search is Zillow's ceiling. For a big city, search its ZIP codes or neighborhoods — each is its own 1,000.
- Zestimates are Zillow's to withhold.
zestimateis null where Zillow does not publish one. Nothing is estimated here. - No address input on the record endpoint. Give a zpid or a Zillow link; a search on the ZIP is the way from an address to a zpid.
- One error shape everywhere, with a request id you can quote. A 404 is an answer; a 502 or 503 is worth one retry.
- No login, no private data. Nothing here posts, likes, saves or contacts an agent; it reads what any visitor can see.
- Not affiliated with Zillow. Zillow and Zestimate are Zillow Group's marks, used here to say what the data is.