Zillow real estate listings for sale, rent, and sold, via an Apify Actor, hosted MCP.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
One-click editor setup isnβt available for this listing yet β we donβt have a confirmed install command, and weβd rather show nothing than point your editor at the wrong package or host. Follow the projectβs own setup instructions, linked above.
A Zillow API on Apify that returns US real estate listings as clean, structured JSON. Search by plain city or ZIP, filter for price cuts, and export homes for sale, for rent, and sold.
Actor page: apify.com/johnvc/zillow-api Input schema: apify.com/johnvc/zillow-api/input-schema
This Zillow API turns Zillow into a structured data feed. Send a location and a few filters and get back typed rows for each listing: price, beds, baths, square footage, address, coordinates, broker, Zestimate, days on market, and the amount and date of any recent price cut. It covers homes for sale, rentals, and recently sold homes, and it resolves a plain city or ZIP to the right Zillow region for you.
The Zillow API takes plain locations, so you never build a search URL or look up a region id: pass "Austin, TX" or "78704" in locations, pick a statusType of sale, rent, or sold, and add filters like priceReduction or bedsMin. Each row comes back with price, priceValue, priceChange, beds, baths, squareFeet, address, latitude, longitude, and url, plus zestimate and daysOnZillow. A single Zillow search is capped at 820 results, so turn on autoShard to sweep a whole metro by splitting the map into tiles. One common use case is a weekly price-cut feed: set priceReduction to true for a city, save it as a Task, and schedule it so your dataset always shows the freshest motivated-seller listings. Rentals return building-level data (per-floorplan rents, available units, leasing phone), and sold results return the sold date with the Zestimate and tax-assessed value.
Clone the repository
Install dependencies with UV
Configure your API key
Run the example
Zillow's own developer access runs through an invite-only partner program, so most people cannot self-serve. This Zillow API is the practical alternative: no application, no region ids, no hand-built search URLs. You send plain inputs and get structured JSON.
It is correct where raw scrapers are silently wrong. Hand most tools a ZIP code and they return a different city's listings; this Actor resolves the ZIP to the right Zillow region first, so 78704 gives you Austin, not a same-numbered town in another state.
It covers the full market in one place: for sale, for rent, and sold, each with the fields that match. It is built to run on a schedule, so a saved search becomes a standing feed you can diff week over week.
And it is MCP-ready, so an AI assistant can call it as a tool and ask for listings in plain language.
Run this on Apify: search a city or ZIP for sale with beds and price filters, get back typed listing rows.
Local: uv run python zillow-api-example.py
Run this on Apify: building-level rentals with per-floorplan rents, available units, and leasing phone.
Local: uv run python zillow-api-example.py --example rentals
Run this on Apify: set priceReduction and read priceChange and priceChangeDate for a motivated-seller feed.
Local: uv run python zillow-api-example.py --example price_cuts
Run this on Apify: recently sold homes with sold date, Zestimate, and tax-assessed value.
Local: uv run python zillow-api-example.py --example sold
Schedule tip: Save any of these inputs as an Apify Task and schedule it to run daily or weekly so your dataset stays fresh without manual runs.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
locations | list[str] | one location source | ["Austin, TX"] | Plain place names: city, ZIP, county, neighborhood, or state. Up to 25 per run. |
statusType | str | YES | sale | sale, rent, or sold. |
priceMin / priceMax | int | no | - | Price range (list price for sale/sold, monthly rent for rent). |
bedsMin / bedsMax | int | no | - | Bedroom range. |
priceReduction | bool | no | false | Only listings with a recent price cut. |
listingType | list[str] | no | - | For sale: owner (FSBO), agent, new construction, foreclosure, and more. |
homeType | list[str] | no | - | House, condo, townhome, multi-family, lot/land, apartment, manufactured. |
autoShard | bool | no | false | Sweep past the 820-result cap by splitting the map into tiles. |
maxUpstreamCalls | int | no | 40 | Hard ceiling on requests for a sharded run. |
maxResults | int | no | 200 | Main cost control. Minimum 10 per search. |
Open a ready-to-send prompt about the Zillow API in the AI of your choice:
This repo teaches the Zillow API on Apify. People often search for a "zillow scraper"; the same Actor covers that need and returns structured JSON you can call from Python or MCP, without building or maintaining a scraper yourself.
Clone this repo, set APIFY_API_TOKEN, and run uv run python zillow-api-example.py. See Quick Start and Recipes above.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/zillow-api)<a href="https://allmcps.com/mcp/zillow-api"><img src="https://allmcps.com/api/badge/zillow-api?style=directory" alt="Zillow API on AllMCPs" /></a>