Skip to content

Zillow property data API for AI agents and LLMs

MCP server, function-calling schemas, and one REST call for 300+ fields per U.S. home. No scraping, no proxy farm.

Zillapi is a Zillow-sourced property data API built for AI agents and LLMs, a live MCP server and a REST API behind the same key, so your agent can look up any U.S. home the moment a prompt asks for it. No scraping, no proxy farm, no HTML to parse: one call returns structured, machine-readable data, 300+ fields per home across 160M+ U.S. parcels, as JSON your model can act on directly. Start free with 100 credits, no card required. Developers are already wiring Zillapi into Claude, Cursor, and custom GPT agents today.

What’s here for agent builders

Everything an agent needs to treat U.S. property data as a tool call:

  • A live MCP server at api.zillapi.com/mcp, authenticated with the same zk_ API key as REST, no separate MCP account or key. It exposes four tools your agent calls directly: lookup_property_by_address, lookup_property_by_zpid, get_zestimate, and search_listings. Add it to any MCP-compatible client, Claude Desktop, Claude Code, or Cursor, and your agent can pull property data mid-conversation.
  • Function-calling schemas for Claude and OpenAI (Chat Completions and Assistants), drop-in tool definitions so you don’t hand-write the JSON.
  • Three Python agent skills (MIT-0 licensed) for wiring lookups straight into an LLM tool loop.
  • An OpenAPI 3.1 spec at /openapi.json, import it as a custom GPT Action or into any OpenAPI-aware framework.
  • Agent-friendly output: request JSON (default), CSV, or NDJSON, and use field projection (?fields=) to return only the fields you need, a real win for keeping tool-call responses inside your model’s context window, which most property APIs ignore.

Is Zillapi a fit for your agent?

Be clear on the fit before you build. Zillapi returns Zillow-sourced U.S. residential property data, price, Zestimate, rent Zestimate, photos, schools, taxes, and full price history. It’s a strong fit for agents that look up, search, or monitor U.S. homes as a tool call. It is not a licensed MLS feed, if you need MLS-compliance guarantees, that’s Bridge Interactive, and not a commercial-real-estate source, so LoopNet-style CRE listings aren’t covered. If your agent needs current residential property data on demand, this is built for exactly that.

Connect your agent in minutes

  1. Get a free key (100 credits, no card) from the Quickstart. Enough to test MCP tool calls, function-calling flows, and REST endpoints end to end.
  2. Add the MCP server to your client config, the same JSON snippet documented in our Claude Desktop, Claude Code, and Cursor guides:
{
"mcpServers": {
"zillapi": {
"transport": "streamable-http",
"url": "https://api.zillapi.com/mcp",
"headers": {
"Authorization": "Bearer zk_YOUR_KEY_HERE"
}
}
}
}
  1. Let the agent call it, a prompt like “What’s the Zestimate for 350 5th Ave, New York, NY?” becomes a lookup_property_by_address tool call and returns structured JSON your model reads back:
{
"data": {
"zpid": "{zpid}",
"address": { "streetAddress": "350 5th Ave", "city": "New York", "state": "NY", "zipcode": "10118" },
"price": 750000,
"zestimate": 765000
},
"request_id": "req_..."
}

For orchestration layers that call tools over plain HTTP, the same data is one REST request away:

import requests
r = requests.get(
"https://api.zillapi.com/v1/properties/by-address",
params={"address": "350 5th Ave, New York, NY"},
headers={"Authorization": "Bearer zk_YOUR_KEY_HERE"},
)
print(r.json()["data"]["zestimate"])

MCP vs. REST vs. DIY scraping

For an agent, the gap between a clean tool call and a scraping pipeline is the gap between shipping this week and maintaining anti-bot infrastructure forever. Zillapi handles that entire layer so your agent doesn’t have to, and failed calls are never charged.

Zillapi (MCP / REST)DIY scraping
SetupMinutes, one keyOngoing anti-bot + proxy upkeep
DataStructured schema, 24-hour caching, automatic retriesRaw HTML the agent must parse, no schema guarantee
FailuresFailed calls are freeSilent breakage when the page changes

Discovery

  • /openapi.json, OpenAPI 3.1 spec covering every endpoint, every parameter, every response shape. Drop into any code generator or function-calling framework.
  • /llms.txt, short index of the docs in the llmstxt.org format.
  • /llms-full.txt, every docs page concatenated. Stuff into one prompt for full context.

Stable surface

  • URLs are stable per major version (/v1/...). Breaking changes go in /v2.
  • error.code strings are stable; error.message may evolve.
  • Field names in successful responses are stable; new fields may be added.
  • Sub-resource endpoints let you fetch just the slice you need without parsing the giant detail blob.
  1. Look up by zpid → GET /v1/properties/{zpid}.
  2. Need only photos / agent / schools? Hit the sub-resource endpoint instead of parsing the giant detail blob, same data, less to parse over the wire.
  3. Doing many lookups? Dispatch async via POST /v1/search with a webhook so your agent doesn’t burn turns polling.
  4. Searching? Use the structured filters form on /v1/search or /v1/listings/for-sale. A bbox (west/south/east/north) is required, pretty Zillow URLs aren’t accepted.

Tool definition (Anthropic / OpenAI function calling)

A minimal lookup_property tool definition:

{
"name": "lookup_property",
"description": "Look up a U.S. property by Zillow zpid (numeric id) or by full street address.",
"input_schema": {
"type": "object",
"properties": {
"zpid": { "type": "string", "description": "Zillow property id, numeric." },
"address": { "type": "string", "description": "Full street address with city/state/zip." }
},
"oneOf": [{ "required": ["zpid"] }, { "required": ["address"] }]
}
}

Implementation routes to /v1/properties/{zpid} or /v1/properties/by-address.

Agent etiquette

  • Cache responses on your side, the data behind a zpid rarely changes minute-to-minute, so a short TTL is plenty.
  • Don’t fan out, one agent, one in-flight request per key (concurrency = 1). Scale by raising your plan, not by parallelism.
  • Respect 429. Back off. We respond with error.code = "rate_limited" so you can detect it without parsing prose.
  • Identify yourself, set a clear User-Agent like MyAgent/1.2 (+https://yourdomain.example).

FAQ

Does Zillapi have an MCP server for AI agents?
Yes. Zillapi runs a live MCP (Model Context Protocol) server at https://api.zillapi.com/mcp, authenticated with the same API key as the REST API. It exposes property search, lookup, and sub-resource tools so agents in Claude, Cursor, and other MCP-compatible clients can call Zillow-sourced property data directly.
What is a real estate data API for AI agents?
A real estate data API for AI agents is a structured, machine-callable interface, REST endpoints or MCP tools, that returns property data such as price, Zestimate, photos, schools, and taxes in a schema an LLM can parse and act on, instead of scraping web pages or parsing HTML.
Can I connect Zillapi to Claude, ChatGPT, or Cursor?
Yes. Zillapi ships an MCP server for Claude Desktop, Claude Code, and Cursor, plus function-calling schemas for Claude and OpenAI’s Chat Completions and Assistants APIs, and an OpenAPI 3.1 spec at /openapi.json for custom GPT Actions.
Does Zillapi provide function-calling schemas for LLMs?
Yes. Zillapi publishes ready-to-use function-calling and tool-definition schemas for Claude and OpenAI models, plus three MIT-0 licensed Python agent skills, so you can wire property lookups into an LLM tool loop without hand-writing the schema.
Is there a free tier for testing AI agent integrations?
Yes. Every account starts with 100 free credits at signup, no card required, enough to test MCP tool calls, function-calling flows, and REST endpoints before committing to a paid plan.
What property data can an AI agent pull through Zillapi?
An agent can pull 300+ fields per home across 160M+ U.S. parcels (price, Zestimate, rent Zestimate, photos, tax history, school ratings, price history, and agent contact) in one call, returned as JSON, CSV, or NDJSON.

Start free

Start free: 100 credits, no card. Point your agent at api.zillapi.com/mcp and make your first tool call in minutes. Paid plans start at $5/mo (1,000 credits) or $54/yr (12,000 credits a year, 1,000 each month), pricing as of Jul 2026; see pricing for the current breakdown.

Trademark & affiliation

Zillapi is an independent service, not affiliated with, endorsed by, or sponsored by Zillow Group, Inc. “Zillow” and “Zestimate” are trademarks of Zillow Group, Inc. All marks are used here descriptively to refer to those services. See our Trademark & Affiliation page.