MCP server exposing Zillow property + agent data as 3 tools: search by ZIP, search by URL, lookup by zpid. Connect Claude Desktop, Cursor, ChatGPT to /mcp endpoint. Pay-per-property pricing — $0.08 on FREE, down to $0.05 on DIAMOND. Same data + pricing as the parent scraper.
All notable changes to Zillow MCP Server are documented here.
The format follows Keep a Changelog .
[0.0.11] - 2026-05-07
Added
Full functional parity with the parent scraper. Each property now goes through the same 3-tier agent-email resolution chain (property details → agent profile → name search) and returns 77 fields instead of 42 — including bathroomsFull/Half, lotSize, parking, openHouseSchedule, parcelNumber, view, architecturalStyle, appliances, heating/cooling/flooring/laundryFeatures/fireplaceFeatures/communityFeatures, hasBasement/Garage/Pool/Video/3DModel, lastTaxAssessedValue, lastTaxPaid, mainPhoto, priceChange, datePriceChanged, schools.
Two opt-in enrichment toggles available on every tool and the regular-run dispatcher: enrichWalkScore (adds walkScore / transitScore / bikeScore, 0–100 each) and enrichPhotos (adds the full Zillow photo gallery as photos[]). Each adds 1 upstream call per property; no extra Apify event charge.
5 storage records per run — RUN_SUMMARY, SKIPPED_ITEMS, FREE_LIMITS_APPLIED, USER_MESSAGE, status.html — matching the parent's operational-record surface. In Standby mode the counters aggregate across all MCP tool calls in the same instance and flush every 10 calls and on Actor.exit. KVS schema (.actor/key_value_store_schema.json) documents all 5 collections.
FREE-plan agent-email masking. Real emails on paid plans, j***@a***.com pattern + masked_upgrade_to_unlock source on FREE — same gating as the parent scraper.
Changed
Per-fetch upstream timeout reduced from 30s to 15s — same as the parent (v2.3.45). Retry logic preserved (2 retries on 429 and 2 on network error).
[0.0.5] - 2026-05-07
Added
Full schema set: external INPUT_SCHEMA (.actor/input_schema.json) mirroring the parent scraper's structure (mode + ~50 filter fields, sectionCaption groupings), output schema (.actor/output_schema.json) declaring the default dataset as the run's primary output, and Standby web-server OpenAPI 3 schema (.actor/web_server_openapi.json) documenting POST /mcp + the 3 tool argument shapes. Apify Console now renders all schemas under actor settings (no more "Consider implementing" hints), and the input form for regular runs exposes the same filter set customers expect from the parent.
Regular-run dispatcher honors the full filter surface: price / rent / beds / baths / sqft / lot size / year built ranges, all home types, all listing types (auctions, foreclosures, FSBO/agent, pending, backup offers), features (garage, pool, A/C, waterfront, basement state), views (city / mountain / park / water), 3D tours, open houses, HOA cap, parking minimum, sort order, days-on-Zillow, free-text keywords. All forwarded to the upstream search endpoint via a single generic forwarding pass in buildSearchParams().
Changed
Regular-run dispatcher now accepts zpids (array) instead of zpid (singular) — symmetric with parent and lets one run process multiple ZPIDs in a single dispatch. All filters moved from the nested filters: {} JSON object to top-level input fields (parent's UX). MCP tool handlers retain their nested filters argument shape (the MCP convention agents expect) — both paths share the same internal helpers.
[0.0.4] - 2026-05-07
Fixed
TypeScript build error in the regular-run dispatcher (constants for the FREE-tier cap and per-tool-call ceiling were referenced before declaration after the 0.0.3 hybrid-input refactor). No customer-facing behavior change.
[0.0.3] - 2026-05-07
Added
Regular run mode with INPUT_SCHEMA. Previously the actor ran exclusively in Standby mode — clicking "Start" in the Apify Console showed "Actor was started without input" with no useful UI. Now the actor is hybrid: connect via MCP at /mcp for the full 3-tool experience, OR fill the input form (mode + zpid/zip_codes/zillow_url + max_properties + filters) and click Start for a one-shot regular run that pushes results to the dataset. Same dataset shape, same PPE pricing. mcp.apify.com auto-tool now uses this INPUT_SCHEMA for its tool surface too.
[0.0.2] - 2026-05-07
Fixed
zillow_lookup_property and the post-search enrichment chain called the wrong upstream path (/individualProperty) and failed every tool call with a 404. Switched to /property?zpid=... which is the path the parent scraper uses. End-to-end smoke now passes for both zillow_lookup_property and zillow_search_by_zip.
[0.0.1] - 2026-05-07
Added
Initial release of Zillow MCP Server — first MCP-wrapper actor in the Zillow family.
Standby-mode actor exposing a Model Context Protocol (MCP) endpoint at /mcp over Streamable HTTP transport. Always-on (no cold-start) — connect any MCP client (Claude Desktop, Cursor, ChatGPT, VS Code) to https://<actor-id>.apify.actor/mcp and the actor's tools appear in the client's tool catalog.
3 agent-friendly tools mirroring the parent scraper's 3 search modes:
zillow_search_by_zip(zip_codes, max_properties?, filters?) — find properties by US ZIP code or location name. Returns enriched property records with address, price, beds/baths, sqft, agent name + phone, listing status. Up to 20 ZIPs per call.
zillow_search_by_url(zillow_url, max_properties?) — paste any Zillow search URL (filters baked into searchQueryState are honored automatically) or a single-property _zpid page.
zillow_lookup_property(zpid) — direct lookup of a single property by its Zillow Property ID.
Pay-per-event pricing 1:1 with the parent Zillow Property & Agent Data Scraper: $0.08 per property enriched on FREE tier, tiered down to $0.05 on DIAMOND. One-time apify-actor-start event ($0.00005) per actor start, per GB memory.
Free plan caps at 15 properties per tool call; paid plans up to 50 per tool call (single-call ceiling, not per-day).
41-column dataset row per enriched property, written to the actor's default dataset on every tool call so results are inspectable in the Apify Console alongside the MCP response.
Auto-discoverable on mcp.apify.com once published with category MCP Servers.
Notes
v1 enrichment is BASIC: each property is enriched via a single upstream /individualProperty call. The parent scraper's full enrichment chain (agent-email lookup via profile + agent search fallback, Walk Score / Transit Score, full photo galleries) is intentionally out of scope for v1 and tracked for v2.
Same RapidAPI provider as parent (RAPIDAPI_KEY env var). Tool calls fail fast with a clear error if the env var is missing.