Zillow API
Live read-only access to Zillow public home-sale, rental, recently sold, property-detail, and Zestimate data. Results are fetched from Zillow on demand; Zillow's current public HTML may expose an empty mapResults collection, which is preserved rather than synthesized.
Endpoint health
Loading verification…
Connect your agent
Connect through MCP so your agent can find this API, read its docs, and call its endpoints.
Add the server from your terminal.
claude mcp add --transport http agent-data https://agent-data.motie.dev/mcpIn Claude Code, run /mcp, select agent-data, then Authenticate. Sign in to your agent-data account in the browser.
Then ask your agent to use the Zillow API for your task.
Call it over HTTP
Get an API keySign up free, generate an API key, and set it as AGENT_DATA_API_KEY in your environment. Your first 100 calls each month are free.
curl --request GET --get 'https://api.agent-data.dev/zillow-com/v1/homes-for-sale' \
--header "Authorization: Bearer $AGENT_DATA_API_KEY" \
--data-urlencode 'location=Seattle-WA'Endpoints
Inputs and response fields for every endpoint in this API.
GETHomes for sale/v1/homes-for-sale
Search Zillow sale listings by city/state, ZIP code, or neighborhood.
Input
locationRequiredQuery · stringZillow location such as Seattle-WA or 98101.
Example: Seattle-WA
pageOptionalQuery · integer, min: 1, max: 20, default: 1Result page from 1 through 20.
Example: 1
Response
listingsobject[]listings[].area?integer | number | nulllistings[].beds?integer | number | nulllistings[].zpidstringlistings[].baths?integer | number | nulllistings[].price?integer | number | string | nulllistings[].addressstringlistings[].hdpDataobjectlistings[].detailUrlstringlistings[].zestimate?integer | number | nullmapResultsobject[]totalPagesintegercurrentPageintegerregionStateobjectresultsPerPageintegertotalResultCountintegerFields marked ? are optional.
GETHomes for rent/v1/homes-for-rent
Search Zillow rental properties by city/state, ZIP code, or neighborhood.
Input
locationRequiredQuery · stringZillow location such as Seattle-WA or 98101.
Example: Seattle-WA
pageOptionalQuery · integer, min: 1, max: 20, default: 1Result page from 1 through 20.
Example: 1
Response
listingsobject[]listings[].unitsobject[]listings[].addressstringlistings[].priceRangesobject[]listings[].availability?integer | string | nulllistings[].buildingNamestringmapResultsobject[]totalPagesintegercurrentPageintegerregionStateobjectresultsPerPageintegertotalResultCountintegerFields marked ? are optional.
GETHomes recently sold/v1/homes-recently-sold
Search Zillow recently sold properties by city/state, ZIP code, or neighborhood.
Input
locationRequiredQuery · stringZillow location such as Seattle-WA or 98101.
Example: Seattle-WA
pageOptionalQuery · integer, min: 1, max: 20, default: 1Result page from 1 through 20.
Example: 1
Response
listingsobject[]listings[].beds?integer | number | nulllistings[].zpidstringlistings[].baths?integer | number | nulllistings[].addressstringlistings[].dateSold?integer | string | nulllistings[].soldPrice?integer | number | string | nulllistings[].zestimate?integer | number | nullmapResultsobject[]totalPagesintegercurrentPageintegerregionStateobjectresultsPerPageintegertotalResultCountintegerFields marked ? are optional.
GETProperties by zpid/v1/properties/{zpid}
Retrieve Zillow public property details by zpid.
Input
zpidRequiredPath · stringNumeric Zillow property ID.
Example: 48711478
Response
zpidstringprice?integer | number | string | nullcounty?string | nulladdressstringbedrooms?integer | number | nullhomeTypestringlatitude?number | nullbathrooms?integer | number | nulllongitude?number | nullresoFactsobjectyearBuilt?integer | nullzestimate?integer | number | nullFields marked ? are optional.
GETProperties by zpid zestimate/v1/properties/{zpid}/zestimate
Retrieve Zillow Zestimate and rent Zestimate values by zpid. Percent fields are null when Zillow's public property payload does not publish them.
Input
zpidRequiredPath · stringNumeric Zillow property ID.
Example: 48711478
Response
zpidstringaddressstringhomeTypestringzestimate?integer | number | nullrentZestimate?integer | number | nullzestimateLowPercent?number | integer | string | nullzestimateHighPercent?number | integer | string | nullFields marked ? are optional.
Don’t see the endpoint you need?
Ask agent-data to add an endpoint or return more fields. Extensions are free and keep existing endpoints working.
An account is required to submit an extension. Prepare your request, then sign in to build.