Zillow API | US Real Estate Listings for Sale, Rent & Sold
Pricing
from $1.60 / 1,000 listing returneds
Zillow API | US Real Estate Listings for Sale, Rent & Sold
A Zillow API for US real estate. Search homes for sale, for rent, and sold by plain city, ZIP, county, or neighborhood, with no region id or search URL to build. Filter for price cuts, sweep a whole metro past the 820-result cap, and get clean JSON. MCP-ready for Claude and AI agents.
Pricing
from $1.60 / 1,000 listing returneds
Rating
0.0
(0)
Developer
John
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
8 hours ago
Last modified
Categories
Share
Zillow API | US Real Estate Listings, Price Cuts, Rentals & Sold
A Zillow API that turns Zillow into clean, structured JSON. Search homes for sale, for rent, and sold across the US, filter the way you would on the site, and get rows back that drop straight into a spreadsheet, a database, or an AI agent.
Two things set this apart from a plain Zillow scraper:
- Search by plain place names. Type
Austin, TX,78704,Travis County, TX, orUpper West Side, New York, NY. No region ids to look up, no search URLs to hand-build. A ZIP is resolved to the correct place automatically. Many tools silently return a different city when you hand them a ZIP. - Sweep past the 820-result cap. Zillow returns at most 820 results per search. Turn on Sweep past the cap and the Actor splits the map into tiles to cover a whole metro.
Use cases
- For sale: price, beds, baths, square feet, lot size, home type, address, coordinates, broker, Zestimate, tax-assessed value, days on market, open houses, photos.
- Price cuts: the amount and date of the latest change, with a one-click Price reduced only filter for finding motivated sellers and stale inventory.
- For rent: building name, per-floor-plan rents, available-unit counts, leasing phone, required monthly fees, amenities.
- Sold: recently sold homes with sold date, Zestimate, and tax-assessed value.
Getting started
{"locations": ["Austin, TX"],"statusType": "sale","priceReduction": true,"maxResults": 100}
Rentals in a single ZIP:
{"locations": ["78704"],"statusType": "rent","maxResults": 50}
A whole metro, sharded:
{"locations": ["Phoenix, AZ"],"statusType": "sale","autoShard": true,"maxResults": 2000,"maxUpstreamCalls": 80}
Input
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
locations | array | one location source | ["Austin, TX"] | Plain place names: city, ZIP, county, neighborhood, or state. Up to 25 per run. |
statusType | string | yes | sale | sale, rent, or sold. |
regionId | string | no | A Zillow region id, for power users who already have one. A ZIP pasted here is resolved, not passed through. | |
mapBounds | string | no | A north,east,south,west box, on its own or to clip a region. | |
priceMin / priceMax | integer | no | Price range (list price for sale/sold, monthly rent for rent). | |
bedsMin / bedsMax, bathsMin / bathsMax, sqftMin / sqftMax | integer | no | Size filters. | |
priceReduction | boolean | no | false | Only listings with a recent price cut. |
listingType | array | no | For sale: owner (FSBO), agent, new construction, foreclosure, auction, and more. | |
homeType | array | no | House, condo, townhome, multi-family, lot/land, apartment, manufactured. | |
maxResults | integer | no | 200 | Main cost control. Minimum 10 per search (see Pricing). |
autoShard | boolean | no | false | Sweep past the 820-result cap by splitting the map. |
maxUpstreamCalls | integer | no | 40 | Hard ceiling on requests for a sharded run. |
includeImages | boolean | no | false | Include every photo URL, not just the thumbnail. |
Rent-only filters (pets, move-in date, short-term lease) and sale-only filters (HOA, parking, basement, tours) are also supported; each applies only to its own statusType.
What this Zillow API returns
One row per listing. resultType tells you the shape: forSale, rental, or sold. Every row carries the region it came from and a scrapedAt timestamp, so you can track a market over time by running on a schedule. Ready-made views: Overview, Price cuts, Rentals, Sold, and Map data.
Example output
{"resultType": "forSale","zpid": "29444234","title": "1200 Barton Hills Dr, Austin, TX 78704","price": "$425,000","priceValue": 425000,"priceChange": -15000,"priceChangeDate": "2026-08-12","beds": 3,"baths": 2,"squareFeet": 1842,"city": "Austin","state": "TX","zipcode": "78704","latitude": 30.2489,"longitude": -97.7791,"url": "https://www.zillow.com/homedetails/29444234_zpid/","regionId": "10221","scrapedAt": "2026-08-25T14:22:07Z"}
🔌 Integrations: run Zillow data as a recurring pipeline
This Zillow API is built to run on a schedule and feed the tools you already use, not just to answer a single query.
- Tasks and Schedules. Save a search (a city, a
priceReductionfilter, astatusType) as a Task, put it on a daily or weekly Schedule, and the dataset becomes a standing feed of that market. Pair it with the Price cuts view to watch stale inventory in a farm area. - MCP for Claude and AI agents. This is an MCP-ready Zillow MCP server: point Claude Code (free trial) or any MCP client at it and ask for listings in plain language. See the FAQ below for the connection string.
- n8n, Make, and Zapier. Trigger the Actor from a workflow and route the JSON into a sheet, a CRM, or an alert.
- Storage and webhooks. Push results to Supabase, S3, or your own endpoint with an Apify webhook on run completion.
- Code examples. A Python quick start and MCP install guide shows the API from Python (uv) and from Claude, Cursor, and ChatGPT.
Pricing
Pay per listing returned, with a minimum of 10 listings per search (about two cents). Every search fetches at least a full page of data whether it matches 41 listings or none, so a search that comes back empty is billed the same 10-listing minimum. There is no start fee, error rows carry no per-listing charge, and volume discounts apply automatically on higher plans.
Cost control
- Max results is the main dial; you are charged per listing (minimum 10 per search), so keep it as low as your question allows.
- Sweep past the cap is off by default. When on, it can make many requests, so it is paired with Max data-source requests as a hard ceiling.
- The Actor checks your run budget before it starts and will not fetch more listings than the budget can cover.
🔗 Related tools
- Zoopla Property API: the same clean-JSON property feed for the UK market.
- Realestate.com.au Property API: for-sale, rent, and sold listings across Australia.
- Google Maps Places API: enrich a listing's neighborhood with nearby amenities, ratings, and businesses.
📋 Featured tasks
Ready-to-run examples. Each is a saved search you can open and run in one click, or duplicate with your own city or ZIP:
- Zillow Rentals API: Apartments & Homes for Rent: building name, per-floorplan rents, available units, and leasing phone by city or ZIP.
- Zillow Sold Homes API: Recently Sold with Zestimate: sold date, Zestimate, and tax-assessed value for recently sold homes.
- Zillow Open Houses API: Homes with Open Houses: homes with a scheduled open house, including the start, end, and notes.
- Zillow Price Cuts: Homes with Recent Price Drops: the price change amount, the change date, and days on market.
- Zillow New Construction Homes API by City: new-construction listings with price, beds, baths, square feet, and builder.
- Zillow MCP Server: Real Estate Data for Claude: search for sale, rent, and sold in natural language from an MCP client.
❓ FAQ
Is there a Zillow API for developers?
Zillow's own developer access runs through an invite-only partner program, so most developers cannot self-serve. This Actor is a practical Zillow API: send a location and filters, get structured listings back, on demand or on a schedule. It is a Zillow API alternative you can start using in minutes.
How do I get Zillow data through this API versus a Web Scraper?
You never hand-build a scraper or a search URL. Unlike a raw Zillow Web Scraper, this Actor takes plain inputs (a city or ZIP, a statusType, filters) and returns clean typed fields. It resolves locations to the right Zillow region for you and can sweep a whole metro past the 820-result cap.
How do I search Zillow by ZIP code or city?
Put the ZIP or city in locations (for example "78704" or "Austin, TX"). The Actor resolves it to the correct Zillow region automatically. You can also pass a county, a neighborhood, or a whole state.
Can I use this Zillow API with Claude or an MCP server?
Yes. This is a Zillow MCP server. In an MCP client such as Claude Code (free trial), add the Apify MCP endpoint and this Actor, then ask for listings in natural language. Agents can call it the same way they call any tool.
How do I get more than 800 Zillow results for one city?
Turn on autoShard. A single Zillow search is capped at 820 results, so the Actor splits the map into tiles and merges them, deduplicated, to cover a full metro. Use maxUpstreamCalls to cap the cost.
How do I find homes with recent price cuts?
Set priceReduction to true. Each row then carries priceChange and priceChangeDate, and the Price cuts view surfaces exactly the motivated-seller and stale-inventory listings. See how price reductions work on Zillow for background.
How do I find recently sold homes?
Set statusType to sold. Note that sold rows carry the sold date, the Zestimate, and the tax-assessed value, but not a closed sale price, which the source does not expose. For public sale-price records, a county property records search is the authoritative route.
Can I schedule this to run automatically?
Yes. Save your search as a Task and attach a Schedule (see Integrations above). The dataset becomes a self-updating feed you can diff week over week.
Agent skills
Install ready-made Claude skills that drive this API:
- Zillow API skill: for-sale, rental, and sold listings by plain city or ZIP, as structured rows.
- Zillow price cuts skill: homes with a recent price drop, with the change amount, change date, and days on market.
Install with: npx skills add johnisanerd/claude-skill-zillow-api
Notes
- Photo fields are URLs only. Images are never downloaded, cached, or re-hosted.
- The Zestimate and Rent Zestimate are Zillow's own estimates, not appraisals or recommended rents.
- Sold listings do not carry a sale price on the source, so the Sold view shows the Zestimate and tax-assessed value instead.
daysOnZillowresets when a listing is relisted, so it can understate how long a home has really been on the market.- Coverage reflects what is publicly listed on Zillow; some private or office-exclusive listings never appear there.
This Actor is not affiliated with, endorsed by, or sponsored by Zillow Group, Inc. "Zillow" and "Zestimate" are trademarks of Zillow Group, Inc., used here only to describe the data source.
Built by Alpha OSINT. More data APIs, and support, at alphaosint.com.
Last Updated: 2026.09.08