Zillow data for agents: listings, records, Zestimate history, market stats. 19 tools, pay per call.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
The regions Zillow knows for a partial place name — cities, ZIPs, neighborhoods, counties — each with its region id, type and centre. What a search box needs before zillow_search_listings, and the way to a regionId.
The partial place name, as a person would type it.
How many suggestions to return. (1-20, default 5)
Comma-separated region types to keep, e.g. city,zipcode,neighborhood. (default REGIONS)
false (default): the compact form - the headline of a record or a search row, or the answer minus photo and tour links. true: the complete response from the data API (a full record is ~17 KB). Same price either way.
The regions Zillow knows for a partial place name — cities, ZIPs, neighborhoods, counties — each with its region id, type and centre. What a search box needs before zillow_search_listings, and the way to a regionId.
| Argument | Type | Description |
|---|---|---|
| q* | any | The partial place name, as a person would type it. |
| count | integer | How many suggestions to return. (1-20, default 5) |
| types | any | Comma-separated region types to keep, e.g. city,zipcode,neighborhood. (default REGIONS) |
| expand | boolean | false (default): the compact form - the headline of a record or a search row, or the answer minus photo and tour links. true: the complete response from the data API (a full record is ~17 KB). Same price either way. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"q"
],
"properties": {
"q": {
"anyOf": [
{
"type": "string",
"minLength": 1
},
{
"type": "number"
}
],
"description": "The partial place name, as a person would type it."
},
"count": {
"type": "integer",
"maximum": 20,
"minimum": 1,
"description": "How many suggestions to return. (1-20, default 5)"
},
"types": {
"anyOf": [
{
"type": "string",
"minLength": 1
},
{
"type": "number"
}
],
"description": "Comma-separated region types to keep, e.g. city,zipcode,neighborhood. (default REGIONS)"
},
"expand": {
"type": "boolean",
"description": "false (default): the compact form - the headline of a record or a search row, or the answer minus photo and tour links. true: the complete response from the data API (a full record is ~17 KB). Same price either way."
}
}
}A rental building — name, address, description, amenities, unit and floor-plan counts, rent range and photos — by buildingId (from a forRent search row with resultType propertyGroup) or by lat and lng.
| Argument | Type | Description |
|---|---|---|
| lat | number | Latitude, with lng, instead of buildingId. |
| lng | number | Longitude, with lat, instead of buildingId. |
| expand | boolean | false (default): the compact form - the headline of a record or a search row, or the answer minus photo and tour links. true: the complete response from the data API (a full record is ~17 KB). Same price either way. |
| buildingId | any | The building id from a rental search row (resultType propertyGroup). |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"lat": {
"type": "number",
"description": "Latitude, with lng, instead of buildingId."
},
"lng": {
"type": "number",
"description": "Longitude, with lat, instead of buildingId."
},
"expand": {
"type": "boolean",
"description": "false (default): the compact form - the headline of a record or a search row, or the answer minus photo and tour links. true: the complete response from the data API (a full record is ~17 KB). Same price either way."
},
"buildingId": {
"anyOf": [
{
"type": "string",
"minLength": 1
},
{
"type": "number"
}
],
"description": "The building id from a rental search row (resultType propertyGroup)."
}
}
}The comparable homes Zillow uses to value this one — each with zpid, address, price, beds, baths, living area, distance and sale date where sold.
| Argument | Type | Description |
|---|---|---|
| zpid* | any | The Zillow property id. |
| expand | boolean | false (default): the compact form - the headline of a record or a search row, or the answer minus photo and tour links. true: the complete response from the data API (a full record is ~17 KB). Same price either way. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"zpid"
],
"properties": {
"zpid": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]{1,12}$",
"minLength": 1
},
{
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
}
],
"description": "The Zillow property id."
},
"expand": {
"type": "boolean",
"description": "false (default): the compact form - the headline of a record or a search row, or the answer minus photo and tour links. true: the complete response from the data API (a full record is ~17 KB). Same price either way."
}
}
}Every floor plan of a rental building — name, beds, baths, square feet, rent range, lease term — and the units available under each, with unit number, price, square feet and move-in date. Compact drops photo and tour links; expand true keeps them.
| Argument | Type | Description |
|---|---|---|
| lat | number | Latitude, with lng, instead of buildingId. |
| lng | number | Longitude, with lat, instead of buildingId. |
| expand | boolean | false (default): the compact form - the headline of a record or a search row, or the answer minus photo and tour links. true: the complete response from the data API (a full record is ~17 KB). Same price either way. |
| buildingId | any | The building id from a rental search row (resultType propertyGroup). |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"lat": {
"type": "number",
"description": "Latitude, with lng, instead of buildingId."
},
"lng": {
"type": "number",
"description": "Longitude, with lat, instead of buildingId."
},
"expand": {
"type": "boolean",
"description": "false (default): the compact form - the headline of a record or a search row, or the answer minus photo and tour links. true: the complete response from the data API (a full record is ~17 KB). Same price either way."
},
"buildingId": {
"anyOf": [
{
"type": "string",
"minLength": 1
},
{
"type": "number"
}
],
"description": "The building id from a rental search row (resultType propertyGroup)."
}
}
}The listing agent's full profile for a listed home — name, license, phone, email, website, brokerage, bio, social links, Zillow rating and review count — with the broker and the MLS id. Agent fields are null on a home with no active listing. Personal data: handle it as such.
| Argument | Type | Description |
|---|---|---|
| zpid* | any | The Zillow property id of a listed home. |
| expand | boolean | false (default): the compact form - the headline of a record or a search row, or the answer minus photo and tour links. true: the complete response from the data API (a full record is ~17 KB). Same price either way. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"zpid"
],
"properties": {
"zpid": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]{1,12}$",
"minLength": 1
},
{
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
}
],
"description": "The Zillow property id of a listed home."
},
"expand": {
"type": "boolean",
"description": "false (default): the compact form - the headline of a record or a search row, or the answer minus photo and tour links. true: the complete response from the data API (a full record is ~17 KB). Same price either way."
}
}
}Monthly market statistics for a region, newest first: market temperature with Zillow's buyer/seller label, for-sale inventory, new listings, new pending, median days to pending, and the share sold above and below list — up to 100 months. Give location (a place name) or regionId; `latest` carries the newest row of each series.
| Argument | Type | Description |
|---|---|---|
| expand | boolean | false (default): the compact form - the headline of a record or a search row, or the answer minus photo and tour links. true: the complete response from the data API (a full record is ~17 KB). Same price either way. |
| months | integer | How many months back, up to 100 (default 12). (1-100, default 12) |
| location | any | A city, ZIP, neighborhood, county or metro as typed into Zillow. |
| regionId | any | A Zillow region id, instead of location. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"expand": {
"type": "boolean",
"description": "false (default): the compact form - the headline of a record or a search row, or the answer minus photo and tour links. true: the complete response from the data API (a full record is ~17 KB). Same price either way."
},
"months": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "How many months back, up to 100 (default 12). (1-100, default 12)"
},
"location": {
"anyOf": [
{
"type": "string",
"minLength": 1
},
{
"type": "number"
}
],
"description": "A city, ZIP, neighborhood, county or metro as typed into Zillow."
},
"regionId": {
"anyOf": [
{
"type": "string",
"minLength": 1
},
{
"type": "number"
}
],
"description": "A Zillow region id, instead of location."
}
}
}Today's mortgage rates as Zillow lists them — product (30-year fixed, FHA, VA, 15-year, ARMs), rate and APR, with Zillow's tag for each.
| Argument | Type | Description |
|---|---|---|
| expand | boolean | false (default): the compact form - the headline of a record or a search row, or the answer minus photo and tour links. true: the complete response from the data API (a full record is ~17 KB). Same price either way. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"expand": {
"type": "boolean",
"description": "false (default): the compact form - the headline of a record or a search row, or the answer minus photo and tour links. true: the complete response from the data API (a full record is ~17 KB). Same price either way."
}
}
}Homes Zillow shows near this one, each with zpid, address, price, beds, baths, living area and status.
| Argument | Type | Description |
|---|---|---|
| zpid* | any | The Zillow property id. |
| expand | boolean | false (default): the compact form - the headline of a record or a search row, or the answer minus photo and tour links. true: the complete response from the data API (a full record is ~17 KB). Same price either way. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"zpid"
],
"properties": {
"zpid": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]{1,12}$",
"minLength": 1
},
{
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
}
],
"description": "The Zillow property id."
},
"expand": {
"type": "boolean",
"description": "false (default): the compact form - the headline of a record or a search row, or the answer minus photo and tour links. true: the complete response from the data API (a full record is ~17 KB). Same price either way."
}
}
}The photo gallery for a home — one URL per photo, in order, with the hero photo first. size full adds every size Zillow serves for each photo.
| Argument | Type | Description |
|---|---|---|
| size | string | full to add every image size Zillow serves (larger answer). (one of full) |
| zpid* | any | The Zillow property id. |
| expand | boolean | false (default): the compact form - the headline of a record or a search row, or the answer minus photo and tour links. true: the complete response from the data API (a full record is ~17 KB). Same price either way. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"zpid"
],
"properties": {
"size": {
"enum": [
"full"
],
"type": "string",
"description": "full to add every image size Zillow serves (larger answer). (one of full)"
},
"zpid": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]{1,12}$",
"minLength": 1
},
{
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
}
],
"description": "The Zillow property id."
},
"expand": {
"type": "boolean",
"description": "false (default): the compact form - the headline of a record or a search row, or the answer minus photo and tour links. true: the complete response from the data API (a full record is ~17 KB). Same price either way."
}
}
}Every listing, price cut, pending, sale and delisting Zillow records for a home, newest first, with the price, the change and the source.
| Argument | Type | Description |
|---|---|---|
| zpid* | any | The Zillow property id. |
| expand | boolean | false (default): the compact form - the headline of a record or a search row, or the answer minus photo and tour links. true: the complete response from the data API (a full record is ~17 KB). Same price either way. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"zpid"
],
"properties": {
"zpid": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]{1,12}$",
"minLength": 1
},
{
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
}
],
"description": "The Zillow property id."
},
"expand": {
"type": "boolean",
"description": "false (default): the compact form - the headline of a record or a search row, or the answer minus photo and tour links. true: the complete response from the data API (a full record is ~17 KB). Same price either way."
}
}
}The record for any zpid, listed or off market — every zpid has one. Compact: the headline (status, price, Zestimate, rent Zestimate, address, coordinates, beds, baths, living area, year built, home type, lot, HOA, days on Zillow, hero photo). expand true: everything — 23 facts, price and tax history, schools with ratings, listing agent and broker, MLS, walk/transit/bike scores, nearby homes, open houses, description and the photo gallery (~17 KB).
| Argument | Type | Description |
|---|---|---|
| zpid* | any | The Zillow property id — the number before _zpid in any Zillow property URL, and on every search row. |
| expand | boolean | false (default): the compact form - the headline of a record or a search row, or the answer minus photo and tour links. true: the complete response from the data API (a full record is ~17 KB). Same price either way. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"zpid"
],
"properties": {
"zpid": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]{1,12}$",
"minLength": 1
},
{
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
}
],
"description": "The Zillow property id — the number before _zpid in any Zillow property URL, and on every search row."
},
"expand": {
"type": "boolean",
"description": "false (default): the compact form - the headline of a record or a search row, or the answer minus photo and tour links. true: the complete response from the data API (a full record is ~17 KB). Same price either way."
}
}
}The facts for one home: beds, baths, living area, lot, year built, home type, parking, heating and cooling, HOA, price per square foot, and the rest of Zillow's fact sheet — with the current status and price.
| Argument | Type | Description |
|---|---|---|
| zpid* | any | The Zillow property id. |
| expand | boolean | false (default): the compact form - the headline of a record or a search row, or the answer minus photo and tour links. true: the complete response from the data API (a full record is ~17 KB). Same price either way. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"zpid"
],
"properties": {
"zpid": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]{1,12}$",
"minLength": 1
},
{
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
}
],
"description": "The Zillow property id."
},
"expand": {
"type": "boolean",
"description": "false (default): the compact form - the headline of a record or a search row, or the answer minus photo and tour links. true: the complete response from the data API (a full record is ~17 KB). Same price either way."
}
}
}A place name resolved to Zillow's region — id, type, parent state and city, centre and the exact bounding rectangle search uses — or a region id described. Give location or regionId.
| Argument | Type | Description |
|---|---|---|
| expand | boolean | false (default): the compact form - the headline of a record or a search row, or the answer minus photo and tour links. true: the complete response from the data API (a full record is ~17 KB). Same price either way. |
| location | any | A place name to resolve, as typed into Zillow. |
| regionId | any | A Zillow region id to describe, instead of location. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"expand": {
"type": "boolean",
"description": "false (default): the compact form - the headline of a record or a search row, or the answer minus photo and tour links. true: the complete response from the data API (a full record is ~17 KB). Same price either way."
},
"location": {
"anyOf": [
{
"type": "string",
"minLength": 1
},
{
"type": "number"
}
],
"description": "A place name to resolve, as typed into Zillow."
},
"regionId": {
"anyOf": [
{
"type": "string",
"minLength": 1
},
{
"type": "number"
}
],
"description": "A Zillow region id to describe, instead of location."
}
}
}The schools assigned to a home — name, level, grades, distance and GreatSchools rating.
| Argument | Type | Description |
|---|---|---|
| zpid* | any | The Zillow property id. |
| expand | boolean | false (default): the compact form - the headline of a record or a search row, or the answer minus photo and tour links. true: the complete response from the data API (a full record is ~17 KB). Same price either way. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"zpid"
],
"properties": {
"zpid": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]{1,12}$",
"minLength": 1
},
{
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
}
],
"description": "The Zillow property id."
},
"expand": {
"type": "boolean",
"description": "false (default): the compact form - the headline of a record or a search row, or the answer minus photo and tour links. true: the complete response from the data API (a full record is ~17 KB). Same price either way."
}
}
}Walk Score, Transit Score and Bike Score for a home's location, with their descriptions.
| Argument | Type | Description |
|---|---|---|
| zpid* | any | The Zillow property id. |
| expand | boolean | false (default): the compact form - the headline of a record or a search row, or the answer minus photo and tour links. true: the complete response from the data API (a full record is ~17 KB). Same price either way. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"zpid"
],
"properties": {
"zpid": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]{1,12}$",
"minLength": 1
},
{
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
}
],
"description": "The Zillow property id."
},
"expand": {
"type": "boolean",
"description": "false (default): the compact form - the headline of a record or a search row, or the answer minus photo and tour links. true: the complete response from the data API (a full record is ~17 KB). Same price either way."
}
}
}Listings for a place typed as on Zillow — a city (Austin, TX), a ZIP, a neighborhood or a county — for sale, for rent or recently sold. One row per listing with its zpid, address, price, beds, baths, living area, days on Zillow and Zestimate; up to 40 per page and 1,000 per search (page x pageSize). Rentals come back as buildings (resultType propertyGroup, with a buildingId) and single homes (property). Sort daysOn ascending for newest first.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number; page x pageSize must not exceed 1,000. (default 1) |
| sort | string | Zillow's sort orders; daysOn with sortAscending true is newest first. (one of relevance, daysOn, price, beds, baths, livingArea, lotArea, yearBuilt, recentlyChanged, featured, rentalPriorityScore) |
| expand | boolean | false (default): the compact form - the headline of a record or a search row, or the answer minus photo and tour links. true: the complete response from the data API (a full record is ~17 KB). Same price either way. |
| status | string | forSale (default), forRent or sold. (one of forSale, forRent, sold, default forSale) |
| location | any | A city, ZIP, neighborhood or county as typed into Zillow. Required unless regionId is given. |
| pageSize | integer | Rows per page, up to 40. (1-40, default 20) |
Assessed value and tax paid by year for a home, as far back as Zillow records them.
| Argument | Type | Description |
|---|---|---|
| zpid* | any | The Zillow property id. |
| expand | boolean | false (default): the compact form - the headline of a record or a search row, or the answer minus photo and tour links. true: the complete response from the data API (a full record is ~17 KB). Same price either way. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"zpid"
],
"properties": {
"zpid": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]{1,12}$",
"minLength": 1
},
{
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
}
],
"description": "The Zillow property id."
},
"expand": {
"type": "boolean",
"description": "false (default): the compact form - the headline of a record or a search row, or the answer minus photo and tour links. true: the complete response from the data API (a full record is ~17 KB). Same price either way."
}
}
}The agents Zillow ranks around a home by sales in the past year: name, Zillow id, sales count, min/max/average/median sale price, sales in this price range, bio and profile. Who actually sells here.
| Argument | Type | Description |
|---|---|---|
| zpid* | any | The Zillow property id. |
| expand | boolean | false (default): the compact form - the headline of a record or a search row, or the answer minus photo and tour links. true: the complete response from the data API (a full record is ~17 KB). Same price either way. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"zpid"
],
"properties": {
"zpid": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]{1,12}$",
"minLength": 1
},
{
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
}
],
"description": "The Zillow property id."
},
"expand": {
"type": "boolean",
"description": "false (default): the compact form - the headline of a record or a search row, or the answer minus photo and tour links. true: the complete response from the data API (a full record is ~17 KB). Same price either way."
}
}
}The Zestimate for any zpid, listed or not: the value with its low and high, the value 30 days ago, the rent Zestimate, and zestimateHistory — one point a month for about ten years — plus the home's price history. Null where Zillow publishes no Zestimate; nothing is estimated in its place.
| Argument | Type | Description |
|---|---|---|
| zpid* | any | The Zillow property id. |
| expand | boolean | false (default): the compact form - the headline of a record or a search row, or the answer minus photo and tour links. true: the complete response from the data API (a full record is ~17 KB). Same price either way. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"zpid"
],
"properties": {
"zpid": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]{1,12}$",
"minLength": 1
},
{
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
}
],
"description": "The Zillow property id."
},
"expand": {
"type": "boolean",
"description": "false (default): the compact form - the headline of a record or a search row, or the answer minus photo and tour links. true: the complete response from the data API (a full record is ~17 KB). Same price either way."
}
}
}| regionId | any | A Zillow region id from zillow_autocomplete_places or zillow_region, instead of location. |
| sortAscending | boolean | Reverse the sort; false by default. (default false) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "Page number; page x pageSize must not exceed 1,000. (default 1)"
},
"sort": {
"enum": [
"relevance",
"daysOn",
"price",
"beds",
"baths",
"livingArea",
"lotArea",
"yearBuilt",
"recentlyChanged",
"featured",
"rentalPriorityScore"
],
"type": "string",
"description": "Zillow's sort orders; daysOn with sortAscending true is newest first. (one of relevance, daysOn, price, beds, baths, livingArea, lotArea, yearBuilt, recentlyChanged, featured, rentalPriorityScore)"
},
"expand": {
"type": "boolean",
"description": "false (default): the compact form - the headline of a record or a search row, or the answer minus photo and tour links. true: the complete response from the data API (a full record is ~17 KB). Same price either way."
},
"status": {
"enum": [
"forSale",
"forRent",
"sold"
],
"type": "string",
"description": "forSale (default), forRent or sold. (one of forSale, forRent, sold, default forSale)"
},
"location": {
"anyOf": [
{
"type": "string",
"minLength": 1
},
{
"type": "number"
}
],
"description": "A city, ZIP, neighborhood or county as typed into Zillow. Required unless regionId is given."
},
"pageSize": {
"type": "integer",
"maximum": 40,
"minimum": 1,
"description": "Rows per page, up to 40. (1-40, default 20)"
},
"regionId": {
"anyOf": [
{
"type": "string",
"minLength": 1
},
{
"type": "number"
}
],
"description": "A Zillow region id from zillow_autocomplete_places or zillow_region, instead of location."
},
"sortAscending": {
"type": "boolean",
"description": "Reverse the sort; false by default. (default false)"
}
}
}