Zillow MCP Server
Pricing
Pay per event + usage
Zillow MCP Server
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.
Pricing
Pay per event + usage
Rating
0.0
(0)
Developer
Andrey Afanasenko
Actor stats
0
Bookmarked
1
Total users
0
Monthly active users
2 hours ago
Last modified
Categories
Share
Zillow data, accessible to AI agents over the Model Context Protocol. Connect Claude Desktop, Cursor, ChatGPT, or any MCP-compatible client and query Zillow listings + agent contact data in plain language.
What it does
This is a Model Context Protocol (MCP) server that exposes Zillow scraping to AI agents — and a regular Apify actor for click-Run users. Two ways to use it:
- MCP clients (Claude Desktop, Cursor, ChatGPT, VS Code) → connect to the Standby
/mcpendpoint → get 3 narrow tools picked automatically by intent. - Apify Console / API → fill the input form (mode + zpid/zip_codes/zillow_url) → click Start → results pushed to the dataset.
Same data, same per-property pricing, two entry points.
Sister actor Zillow Property & Agent Data Scraper — the original run-input/output actor with the same data and pricing.
Tools
| Tool | Inputs | Returns |
|---|---|---|
zillow_search_by_zip | zip_codes (1–20), max_properties?, filters?, enrichWalkScore?, enrichPhotos? | Array of enriched property records |
zillow_search_by_url | zillow_url, max_properties?, enrichWalkScore?, enrichPhotos? | Array (or single record for _zpid URL) |
zillow_lookup_property | zpid, enrichWalkScore?, enrichPhotos? | Single enriched property record |
Each enriched record includes 77 fields — same shape as the parent scraper. Highlights: address, price, beds/baths/sqft, full agent contact (with 3-tier email-resolution fallback: property page → agent profile → name search), broker, Zestimate / rent Zestimate, HOA, taxes, schools, openHouseSchedule, full price history, walk/transit/bike scores (when enrichWalkScore=true), photo gallery (when enrichPhotos=true).
Optional enrichments
Both toggles add 1 upstream call per property and no extra Apify event charge.
enrichWalkScore: true— populateswalkScore,transitScore,bikeScore(0–100 each).enrichPhotos: true— populates the full Zillow photo gallery inphotos[](default behavior is[mainPhoto]or[]).
Pricing
Pay-per-event, mirroring the parent scraper:
| Plan | Per-property cost | One-time actor start |
|---|---|---|
| FREE | $0.08 | $0.00005 (per GB memory) |
| BRONZE | $0.07 | $0.00005 |
| SILVER | $0.06 | $0.00005 |
| GOLD / PLATINUM / DIAMOND | $0.05 | $0.00005 |
Free plan caps: up to 15 properties per single tool call. Paid plans: up to 50 properties per single tool call (call again for more).
Run as a regular Apify actor (no MCP client needed)
Click Start with one of these inputs:
{ "mode": "zpid", "zpids": ["119617641"], "enrichWalkScore": true, "enrichPhotos": true }
{ "mode": "zip", "zipCodes": ["10001"], "maxProperties": 5, "status_type": "ForRent", "largeDogsAllowed": true, "inUnitLaundry": true }
{ "mode": "zip", "zipCodes": ["94103"], "maxProperties": 3, "schools": "elementary,public", "schoolsRating": 8 }
{ "mode": "url", "zillowUrl": "https://www.zillow.com/homedetails/..._zpid/" }
Results land in the run's default dataset. Same enriched 77-field records as the MCP tools return. The full filter surface (price / rent / beds / baths / sqft / lot / year built ranges, home type, listing-type tri-state filters, features, views, rental amenities, schools) is exposed as top-level input fields — same UX as the parent scraper.
Connect from Claude Desktop
Add to your ~/Library/Application Support/Claude/claude_desktop_config.json:
{"mcpServers": {"zillow": {"url": "https://<your-actor-id>.apify.actor/mcp","headers": {"Authorization": "Bearer <your-apify-token>"}}}}
Restart Claude Desktop. Tools appear in the tool catalog.
Connect from Cursor / ChatGPT / VS Code
Same Streamable HTTP endpoint. Configuration syntax varies by client — point your MCP client to:
https://<your-actor-id>.apify.actor/mcp
with header Authorization: Bearer <APIFY_TOKEN>.
Quick test (no client)
curl -X POST "https://<your-actor-id>.apify.actor/mcp" \-H "Authorization: Bearer $APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'
returns the catalog. To call a tool:
curl -X POST "https://<your-actor-id>.apify.actor/mcp" \-H "Authorization: Bearer $APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"zillow_lookup_property","arguments":{"zpid":"119617641"}}}'
Output
Every tool call also writes its results to the actor's default dataset, so you can re-export results from the Apify Console (CSV, JSON, Excel) alongside the MCP response.
Free vs paid
| Feature | Free | Paid |
|---|---|---|
| Properties per tool call | 15 max | 50 max |
| Tool calls per run | Unlimited | Unlimited |
Apify's "Maximum cost per run" run option provides per-run cost ceilings independently.
Free-plan email masking
On the FREE plan agent emails come back masked — j***@a***.com — and agentEmailSource reports masked_upgrade_to_unlock. Upgrade to any paid plan (BRONZE+) to receive the unmasked value. This mirrors the parent scraper's gating exactly.
Storage records
The actor writes the same 5 operational records the parent scraper produces. In Standby mode, counters aggregate across all MCP tool calls in the same Standby instance and flush every 10 calls (and on Actor.exit).
- Default dataset — one row per property returned, across regular-run dispatcher and all MCP tool calls.
RUN_SUMMARY— input snapshot, properties.found / enriched / skipped, email-resolution stats, plan, runMode, durationSeconds, tool-call count.SKIPPED_ITEMS— per-item breakdown (zpid / ZIP / URL skipped, reason, category).FREE_LIMITS_APPLIED— list of FREE-plan ceilings hit during the run.USER_MESSAGE— onboarding / upgrade / informational banner (when applicable).status.html— live progress / completed banner rendered in the Apify Console Output tab.
Related actors
- Zillow Property & Agent Data Scraper — parent scraper, run-input/output style. Same data, same pricing.
- Zillow ZIP Code Property Scraper — single-mode parent spinoff, ZIP-only.
- Zillow URL Search Property Scraper — single-mode parent spinoff, URL-only.
Support
For issues or feature requests, open an issue on the actor's Apify Store page.