mcpField
Z
Zillow MCP Server

Zillow MCP Server

已认证精选远程服务
hasdata.com数据与分析10今天更新

关于 Zillow MCP Server

Zillow MCP Server 是通过 Zillow 公开房源进行房地产搜索的托管只读服务。MCP 客户端可筛选出售、出租或已售房源,并以结构化 JSON 获取房产详情和历史记录。

主要功能

  1. 01搜索出售、出租和已售房源
  2. 02按价格、卧室数和房型筛选
  3. 03获取房产详情和估值
  4. 04查看价格与税务历史
  5. 05提供搜索提示词和筛选资源

适用场景

  1. 01按预算筛选住宅候选项
  2. 02比较出租房源及租金估值
  3. 03查看房产价格历史
  4. 04按地区查找新上架房源

MCP 相关

托管远程服务向 MCP 客户端提供两个只读 Zillow 工具、两个提示词和 11 项资源。客户端使用 HasData API 密钥通过可流式传输的 HTTP 连接。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://mcp.hasdata.com/mcp?apis=zillow
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

全部服务地址
Streamable HTTPhttps://mcp.hasdata.com/mcp?apis=zillow需要授权
安装包
npm@hasdata/zillow-mcp1.0.8
pypihasdata-zillow-mcp1.0.8

工具

2
参数类型必填说明
keywordstring是用于搜索房源的关键词。
typeenum是房源类型。forSale | forRent | sold
sortenum否搜索结果的排序选项。verifiedSource | homesForYou | priceHighToLow | priceLowToHigh | paymentHighToLow | paymentLowToHigh | newest | bedrooms | bathrooms | squareFeet | lotSize
price_min_number否房源的最低价格。
price_max_number否房源的最高价格。
beds_min_number否卧室数量下限。
beds_max_number否卧室数量上限。
baths_min_number否浴室数量下限。
baths_max_number否浴室数量上限。
yearBuilt_min_number否房产的最早建成年份。
yearBuilt_max_number否房产的最晚建成年份。
lotSize_min_number否最小地块面积。
lotSize_max_number否最大地块面积。
squareFeet_min_number否最小建筑面积。
squareFeet_max_number否最大建筑面积。
homeTypes__array否用于筛选房源的房屋类型数组。
listingPublishOptions__array否挂牌发布选项数组。使用 `ownerPosted` 表示业主发布的房源,使用 `agentListed` 表示经纪人发布的房源。
hoanumber否业主协会(HOA)费用。
propertyStatus__array否房产状态数组。
tours__array否看房选项数组。
otherAmenities__array否其他配套设施数组。
views__array否景观数组。
pets__array否宠物选项数组。
basement__array否地下室选项数组。
singleStoryOnlyboolean否设为 true 时,仅包含单层房产。
hide55plusCommunitiesboolean否设为 true 时,将排除 55 岁及以上社区。
daysOnZillowenum否房源在 Zillow 上的挂牌天数。1 | 7 | 14 | 30 | 90 | 6m | 12m | 24m | 36m
moveInDatestring否所需入住日期,格式为 `YYYY-MM-DD`。
mustHaveGarageboolean否如果设为 true,则仅包含带车库的房源。
parkingSpotsMinnumber否停车位的最少数量。
keywordsstring否用于细化搜索的其他关键词。
pagenumber否要获取的结果页码。

详细介绍

Zillow MCP Server

一个托管的 Model Context Protocol(MCP)服务,为 Claude、Cursor、Windsurf 和其他 MCP 客户端提供两个只读的 Zillow 工具。通过丰富的筛选条件搜索待售、待租和已售房源,并以结构化 JSON 完整读取单个房产信息,无需自行托管。

该服务读取 Zillow.com 上未登录访客可以查看的公开房源页面。

每月 1,000 个免费额度,无需绑定银行卡,按基础费率可调用 Zillow 100 次。

https://mcp.hasdata.com/mcp?apis=zillow

Glama 评分 工具契约 MCP 工具

目录

所需条件

一个 MCP 客户端,以及从控制面板获取的 HasData API 密钥。注册免费且无需绑定银行卡;免费套餐按每次调用 10 个额度计算,每月约可调用 100 次。这是一个远程服务,因此最简单的接入方式是使用 URL 和 x-api-key 请求头,无需运行容器。仅支持 stdio 的客户端可以通过一个轻量启动器连接该服务;启动器已发布到 npm,包名为 @hasdata/zillow-mcp,也发布到了 PyPI,包名为 hasdata-zillow-mcp,如下所示。

快速开始

所有客户端使用相同的服务 URL。我们会在 Claude Code 和 Claude Desktop 中手动运行。其他代码块遵循各客户端为远程服务规定的格式。

字段值
URLhttps://mcp.hasdata.com/mcp?apis=zillow
传输方式HTTP,可流式传输
认证请求头x-api-key: HASDATA_API_KEY

支持 OAuth 的客户端可以将相同的 URL 添加为连接器,并登录,而无需将密钥写入配置文件。

Claude Code
claude mcp add --transport http zillow "https://mcp.hasdata.com/mcp?apis=zillow" \
  --header "x-api-key: HASDATA_API_KEY"
Claude Desktop

依次点击 Settings、Connectors、Add custom connector,然后粘贴 https://mcp.hasdata.com/mcp?apis=zillow 并登录。

对于配置文件方式,Claude Desktop 只加载本地(stdio)服务,因此需要通过 stdio 启动器连接远程服务。@hasdata/zillow-mcp 包就是这个启动器,它会从环境变量中读取密钥。将以下内容添加到 claude_desktop_config.json:

{
  "mcpServers": {
    "zillow": {
      "command": "npx",
      "args": ["-y", "@hasdata/zillow-mcp"],
      "env": { "HASDATA_API_KEY": "YOUR_KEY" }
    }
  }
}

如果使用 Python 而非 Node,请将启动器替换为 PyPI 包;uvx 无需手动安装即可运行该包:

{
  "mcpServers": {
    "zillow": {
      "command": "uvx",
      "args": ["hasdata-zillow-mcp"],
      "env": { "HASDATA_API_KEY": "YOUR_KEY" }
    }
  }
}
Cursor

适用于所有项目的 ~/.cursor/mcp.json,或仅适用于一个项目的 .cursor/mcp.json:

{
  "mcpServers": {
    "zillow": {
      "url": "https://mcp.hasdata.com/mcp?apis=zillow",
      "headers": { "x-api-key": "HASDATA_API_KEY" }
    }
  }
}
Windsurf

~/.codeium/windsurf/mcp_config.json。Windsurf 使用的字段名是 serverUrl,而不是 url:

{
  "mcpServers": {
    "zillow": {
      "serverUrl": "https://mcp.hasdata.com/mcp?apis=zillow",
      "headers": { "x-api-key": "HASDATA_API_KEY" }
    }
  }
}
VS Code

工作区中的 .vscode/mcp.json:

{
  "servers": {
    "zillow": {
      "type": "http",
      "url": "https://mcp.hasdata.com/mcp?apis=zillow",
      "headers": { "x-api-key": "HASDATA_API_KEY" }
    }
  }
}

示例提示词

用提示词,不用代码。粘贴一条提示词,Agent 就会自行选择工具。每条提示词都标注了所需的调用次数,因为每次成功调用需花费 10 个积分。

搜索德克萨斯州奥斯汀待售的房屋,至少有 3 间卧室,价格低于 60 万美元,按最新发布排序,并列出最近的 10 套房屋及其价格和挂牌天数。

一次调用,10 个积分。搜索结果会返回价格、卧室数、面积和挂牌天数。

获取排名第一的结果的完整详情:价格历史、税费历史、价格估值和所属学校。

一次调用,10 个积分。这些信息位于房产页面,详情工具会通过 URL 读取。

查找奥斯汀允许养猫的待租公寓,然后获取最便宜的 3 套房屋的租金估值。

4 次调用,40 个积分。先搜索一次,然后分别调用 3 次房产工具。

对于这个房产 URL,提供挂牌价、价格估值,以及价格历史中最近 3 次的出售记录。

一次调用,10 个积分。

搜索结果足以用于排序和初步筛选。价格历史、税费历史、估值、学校和经纪人信息来自房产调用,因此,先筛选再查看 3 套房屋的提示词会产生 1 次搜索调用和 3 次房产调用。

工具

工具返回内容
hasdata_zillow_listing_getRealEstateListings每条房源的信息,包括地址、Zillow URL/zpid、价格、Zestimate、卧室数/浴室数、平方英尺、房屋类型、状态、在 Zillow 上的挂牌天数、坐标、缩略图和房源经纪人。每次调用需 10 个积分
hasdata_zillow_property_getPropertyDetails地址、挂牌价、Zestimate 和 Rent Zestimate、价格和税费历史、卧室数/浴室数、居住面积、地块面积、建造年份、房屋类型、HOA、在 Zillow 上的挂牌天数、房源……。每次调用需 10 个积分

这两个工具均为只读。以下示例摘录自真实调用,并经过删减;数值会随市场变化。请将它们视为数据结构示例。每个工具名称都链接到其端点参考,其中包含完整字段列表。

这些示例仅展示载荷,并非完整响应。tools/call 结果包含一个文本块,该文本块本身是含有 url、status、text 和 json 的 JSON,抓取的数据位于 json 中。对于原始 JSON-RPC 响应,路径为 result.content[0].text,解析后再读取 .json。聊天客户端会为你解包,而直接与端点交互的代码则不会。

获取 Zillow 房产挂牌信息

hasdata_zillow_listing_getRealEstateListings

按位置关键词筛选挂牌信息。

参数类型必填说明
keywordstring是搜索位置,例如 Austin, TX
typestring是forSale、forRent 或 sold
price_min_ / price_max_number价格范围
beds_min_ / beds_max_ / baths_min_ / baths_max_number卧室和浴室数量范围
homeTypes__arrayhouse、condo、townhome、multiFamily、apartment、lot、manufactured
daysOnZillownumber/string1、7、14、30、90、6m、12m 等
sortstringnewest、priceLowToHigh、priceHighToLow、squareFeet 等
pagenumber结果页码

参考文档还介绍了建筑面积、地块面积、建成年份和 HOA 范围,以及 otherAmenities__、views__、pets__、listingType、propertyStatus__、listingPublishOptions__ 等参数。

返回包含 totalResults 的 searchInformation、properties 数组,以及 pagination;其中 nextPage 是下一页的 URL。每个房产包含 id、url、homeType、status、price、currency、租金估值 rentZestimate、daysOnZillow、以平方英尺为单位的 area、addressRaw 和结构化的 address、latitude、longitude、beds、baths、listingDetails、mediaDetails 和 photos。

{
  "id": "60134551",
  "url": "https://www.zillow.com/homedetails/6116-Speyside-Dr-Austin-TX-78754/60134551_zpid/",
  "homeType": "SINGLE_FAMILY",
  "status": "FOR_SALE",
  "price": 320000,
  "currency": "$",
  "rentZestimate": 2286,
  "daysOnZillow": 0,
  "area": 2277,
  "address": { "street": "6116 Speyside Dr", "city": "Austin", "state": "TX", "zipcode": "78754" },
  "beds": 4,
  "baths": 3
}
获取 Zillow 房产详情

hasdata_zillow_property_getPropertyDetails

通过房产 URL 获取单处房产的完整信息。

参数类型必填说明
urlstring是Zillow 房产 URL,即挂牌结果中的 url 字段
extractAgentEmailsboolean尝试获取挂牌经纪人的电子邮件地址。此操作额外消耗 5 个点数,因此房产请求的费用从 10 个点数增至 15 个点数

返回完整页面信息:price、currency、fees、beds、baths、area、yearBuilt、homeType、mlsId、结构化的 address 和 geo、description 和 highlights、photos、schools、daysOnZillow、views、saves、agentInfo 信息块,以及 priceHistory、taxHistory 和 mortgage 数组。Zillow 自有的价格估值以 zestimate 对象返回,其中包含 zestimate、estimatedSaleRange 和 rentZestimate。请将其视为估值,而非已确认的价格。

此处的 area 是一个对象 { livingArea, livingAreaUnits },而不是搜索工具返回的扁平数值。读取房产页面的平方英尺数时,请使用 area.livingArea;如果将其与 area > 2000 这样的数值进行比较,比较会针对对象进行,因此会静默失败。

{
  "id": 60134551,
  "status": "FOR_SALE",
  "price": 320000,
  "currency": "USD",
  "yearBuilt": 2002,
  "beds": 4,
  "baths": 3,
  "area": { "livingArea": 2277, "livingAreaUnits": "Square Feet" },
  "fees": { "monthlyHoaFee": "$500 annually" },
  "zestimate": { "zestimate": 318100, "estimatedSaleRange": "$302K - $334K", "rentZestimate": 2286 },
  "address": { "street": "6116 Speyside Dr", "county": "Travis County" },
  "agentInfo": { "agentName": "Marie Coleman", "brokerName": "eXp Realty" },
  "priceHistory": [{ "date": "2026-08-24", "price": 320000, "event": "listedForSale" }],
  "schools": { "elementarySchool": { "name": "Bluebonnet Trail", "district": "Manor ISD" } }
}

提示词和资源

该服务提供 2 个提示词,即客户端可直接提供给用户的现成工作流,无需用户自行编写工具调用。

提示词功能
zillow_listings查找某个区域内待售、出租或已售的房屋。
zillow_property获取一处 Zillow 房产的完整详情。

此外,该服务还公开 11 个资源,每个资源对应一个可接受值为固定列表的参数。读取资源比从被拒绝的调用中了解参数词汇更省事,而且不消耗额度。每个 URI 的格式均为 hasdata://zillow/<parameter>。

参数值数量用途
type3选择房源类型。
sort11选择搜索结果的排序方式。
homeTypes__7用于筛选房源的房屋类型数组。
listingPublishOptions__7房源发布选项数组。对于业主发布的房源,使用 ownerPosted;对于经纪人发布的房源,使用 agentListed。
propertyStatus__3房产状态数组。
tours__2看房选项数组。
otherAmenities__8其他配套设施数组。
views__4景观数组。
pets__3宠物选项数组。
basement__2地下室选项数组。
daysOnZillow9房源在 Zillow 上架的天数。

两个列表均无需 API 密钥即可获取,因此客户端可以在用户注册前读取它们。

错误和失败情况

客户端几乎不会从工具调用中看到 HTTP 错误代码。MCP 层会返回 200,并将失败信息放在结果中,设置 isError 为 true,并以文本形式提供原因。Agent 会读取错误消息,而不是你可能预期的状态行。

密钥错误会显示为工具输出,而不是连接失败。 tools/list 接受任何非空密钥,并返回两个工具,因此客户端可以完成握手并显示绿色状态。随后首次工具调用会返回 isError: true,文本为 HasData API error: 401 Unauthorized。请留意此字符串,因为流程中此前不会报告问题。

缺少密钥是唯一真正的 HTTP 错误。 授权会在调用任何工具前执行,连接本身会以 401 失败。响应中包含 CORS 标头,浏览器客户端会读取状态,而不会只收到不透明的网络错误。

违反工具架构的参数会在发起抓取前被拒绝。 服务会返回 isError: true,文本为 MCP error -32602: Input validation error,并指出有问题的字段。不会获取任何数据,也不会扣费。

搜索没有匹配项时,会返回成功结果,其中 properties 数组为空,而不是报错。即使某个位置和筛选条件下没有房源,返回结果中的 requestMetadata.status 仍会设为 ok。迭代数组前请先检查数组长度。

已下架的房产会返回 400,且 requestMetadata.status 会设为 error。旧搜索中的 URL 可能指向已经下架的房源。

包含数据的结果也会带有 requestMetadata.id,在联系支持时值得提供。

定价、免费套餐和限制

每次成功调用 Zillow 工具需 10 个点数。启用 extractAgentEmails 会让房产调用额外增加 5 个点数,变为 15 个,而不是 10 个;除非需要邮箱,否则请保持关闭。响应大小不会改变价格。

免费套餐每月提供 1,000 个点数,无需绑定银行卡,按基础费率可调用 Zillow 100 次。点数会随计费周期续期,因此低调用量的经纪人可以一直使用免费套餐。

付费套餐起价为每月 $59,包含 200,000 个点数,也就是 20,000 次调用。随着用量增加,单价会降低:入门套餐每 1,000 次调用为 $1.48,Basic 套餐为 $0.60,Growth 各套餐为 $0.41。最新价格请查看定价页面。

套餐还决定并发数。免费套餐允许同时发起 1 个请求,Startup 为 5 个,Basic 为 15 个,Growth 各套餐为 50 到 500 个。在任何无人值守的任务中,都应妥善处理超出并发限制的情况。

返回非 200 状态码的请求不收费。成功调用但未找到结果,仍会计为一次调用。

工具选择

apis 查询参数决定 Agent 能看到哪些工具。工具越少,工具定义占用的上下文就越少,模型选错工具的机会也越少。

?apis=zillow                     the two tools in this repo
?apis=zillow,redfin              add Redfin real estate
?apis=zillow,google_maps         add Google Maps places

该参数接受 zillow 这样的服务提供方名称,也接受 zillow_listing 这样的单个 API 名称。拼写错误的名称会被忽略。如果所有名称都无效,请求会失败并返回 400,响应正文会列出无法识别的名称和所有有效值。移除该参数后,同一端点会公开全部 57 个 HasData 工具。

对比

Zillow 自有 API 项目面向会员和合作伙伴,用于处理自有房源,例如 Bridge Interactive 和 Mortgage API,并非一种可自助使用的方式来读取公开市场。要搜索房源并查看任意房产信息,可以抓取公开页面;本服务会在幕后完成这项工作,并提供稳定的架构。

Zillow 合作伙伴 API本服务
用途管理自有房源或 MLS 房源读取公开市场
访问方式会员资格或合作伙伴审批一个密钥和一个 URL
跨市场搜索受限支持丰富的筛选条件
设置企业接入流程无
输出合作伙伴数据源结构化 JSON,已解析价格和卧室数

本服务不提供的功能。 不支持发布信息、提交潜在客户信息或读取账户数据。它只读取未登录访客在 Zillow.com 上可以看到的内容。

常见问题

Zillow 有官方的 MCP 服务吗?

Zillow 没有发布官方 MCP 服务。这个服务由 HasData 维护,读取 Zillow.com 的公开页面。

什么是 Zillow MCP 服务?

它是一种将 Zillow 房源数据作为工具提供给 AI 客户端调用的服务。客户端通过模型上下文协议发送工具调用,服务获取数据并返回结构化 JSON,模型再处理结果。本服务提供两个工具,并在远程运行。

我需要 Zillow 账户或 API 密钥吗?

不需要。唯一需要的凭据是 HasData 密钥。这些工具读取 Zillow.com 的公开页面。

为什么搜索结果没有显示价格历史或学校信息?

因为 Zillow 不会在搜索卡片上显示这些信息。它们位于房产页面中,详情工具会通过 URL 读取该页面。先搜索并筛选房源,再调用房产工具获取详细信息。

价格估值代表什么?

zestimate 对象包含 Zillow 自己的估值、估值范围以及租金估算。这是模型的输出,并非评估价或确认的成交价。请将其视为估算值。

我可以将它与其他 HasData API 一起使用吗?

可以。apis 参数接受一个列表,?apis=zillow,redfin 会让 Agent 同时使用 Zillow 和 Redfin。移除此参数即可获取所有工具。

HasData 与 Zillow 有关联吗?

没有。HasData 是一项独立服务,与 Zillow Group, Inc. 无关联,也未获其认可或赞助。Zillow 是其各自所有者的商标。

合规与个人数据

HasData 仅访问公开数据。平台的条款可能会限制自动化访问,您需自行负责遵守相关规定。如果您收集的数据包含个人信息,例如房源经纪人的联系方式,请确保您依据 GDPR、CCPA 或您所在司法管辖区的同等法规拥有合法依据。

HasData 链接

产品页面和请求构建器Zillow Scraper API
服务文档MCP 服务文档
一个服务中的全部 57 个工具HasData/hasdata-mcp
客户端使用指南MCP 客户端与集成
我们抓取的其他所有内容Zillow Scraper API 及另外 54 项
套餐与积分费用套餐与积分费用
密钥与用量HasData 控制面板
npm 上的 Node 启动器@hasdata/zillow-mcp
PyPI 上的 Python 启动器hasdata-zillow-mcp

开发

此代码库包含远程服务的配置和文档。无需构建,也无需容器化。

test/ 中的测试用于验证工具契约,这是可能在没有提交到此处的改动时发生变化的部分。测试会检查 ?apis=zillow 是否恰好返回两个工具、每个工具是否仍声明其必需参数、名称是否未变,以及实际使用的密钥是否确实有效。最后一项检查会实际调用工具并花费 10 个积分,这是一次可能因合理原因而失败的探测检查所需的成本。

# macOS and Linux
HASDATA_API_KEY=your_key_here npm test

# Windows PowerShell
$env:HASDATA_API_KEY="your_key_here"; npm test

同一套测试会在每次推送时于 CI 中运行,并按计划每周运行一次,因为上游工具列表可能在无人修改此代码库的情况下发生变化。测试失败意味着工具列表发生了变动、密钥停止工作或端点无法访问,断言消息会指出具体原因。

贡献

修正工具表格和响应示例是最有价值的贡献,因为这些内容最容易过时。请附上您执行的调用和收到的响应。来自分支的拉取请求会在不使用密钥的情况下运行测试套件,实时检查会跳过,而不会导致测试失败。

许可证

MIT。请参阅 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。