您本周需要将澳大利亚房地产数据接入您的应用程序:搜索某个地区的已售物业,通过结果进行分页,并深入了解特定房源的详细信息和图片。在本指南结束时,您将能够查询物业列表,提取关键字段,构建正确的图片 URL,并使用 Zyla API Hub 上的澳大利亚房地产 API 获取物业的详细信息。
您可以使用澳大利亚房地产 API 构建的内容
澳大利亚房地产 API 提供程序化访问:
- 带过滤器的房源搜索(例如,已售渠道、基于地区的查询)通过分页结果馈送。
- 通过 ID 获取特定物业的详细信息。
- 用于构建搜索用户界面的地点自动完成建议。
典型用例包括:市场分析仪表板、代理机构的内部 CRM、比较和定价工具,以及嵌入消费者应用程序的基于位置的搜索体验。
在 Zyla API Hub 上开始
打开市场列表,订阅并获取您的 API 密钥。Zyla 使用订阅 + 配额模型(不是按调用付费)。首次使用时,您可以从项目页面开始 7 天试用:
在授权头中使用 API 密钥,如:Authorization: Bearer YOUR_API_KEY。所有请求都发送到 zylalabs.com API 路径,如下所示。
端点概述
1) 获取物业列表
方法:GET
URL:https://zylalabs.com/api/1476/australia-realty-api/1221/get-properties-list
描述:列出带选项和过滤器的物业。注意:
- 如果页面字段返回值为 50,则这是可用的最高分页编号。
- 在呈现照片时,您必须指明图片 URL 的格式(例如,170x32、160x30、114x21、1536x800)。
请求参数(仅限文档中记录的参数):
- pageSize(字符串,可选):50
- channel(字符串,必需):sold
- searchLocation(字符串,必需):Sunshine Coast, QLD
- searchLocationSubtext(字符串,必需):Region
- type(字符串,必需):region
- page(字符串,可选):2
- sortType(字符串,可选):new-desc
2) 获取物业详细信息
方法:GET
URL:https://zylalabs.com/api/1476/australia-realty-api/1222/get-property-details
描述:获取物业的详细信息。关于图片的说明:您必须在图片 URL 中指明格式(例如,170x32、160x30、114x21、1536x800)。
请求参数(仅限文档中记录的参数):
- id(数字,必需):444325280
3) 自动完成
方法:GET
URL:https://zylalabs.com/api/1476/australia-realty-api/5339/autocomplete
描述:返回地点自动完成的建议。文档说明:“要使用此端点,您必须指定一个要自动完成的术语。”此处未记录请求参数;仅使用授权调用它,并参考响应以查看可用字段。
官方示例:获取物业列表(cURL + JSON)
复制、粘贴并运行此命令以获取 Sunshine Coast 地区的已售房源(第 2 页,最新优先)。将 YOUR_API_KEY 替换为您的密钥。
curl -s -X GET "https://zylalabs.com/api/1476/australia-realty-api/1221/get-properties-list?pageSize=50&channel=sold&searchLocation=Sunshine+Coast%2C+QLD&searchLocationSubtext=Region&type=region&page=2&sortType=new-desc"
-H "Authorization: Bearer YOUR_API_KEY"
官方 JSON 示例响应:
{
"prettyUrl": "/sold/in-sunshine+coast%2c+qld/list-2?activeSort=list-date",
"totalResultsCount": 162134,
"resolvedLocalities": [
{
"display": "Sunshine Coast, QLD",
"precision": "region",
"atlasId": "9280a900-d539-4e0c-9385-9590315c4cb5",
"state": "QLD"
}
],
"resolvedQuery": {
"localities": [
{
"locality": "Sunshine Coast",
"subdivision": "QLD",
"searchLocation": "Sunshine Coast, QLD"
}
],
"sortType": "new-desc",
"channel": "sold",
"pageSize": "30",
"page": "2",
"filters": {
"surroundingSuburbs": true
}
},
"tieredResults": [
{
"tier": 1,
"count": 30,
"results": [
{
"prettyUrl": "property-unit-qld-mudjimba-122053054",
"standard": true,
"midtier": false,
"lister": {
"mobilePhoneNumber": "0402972763",
"website": "http://www.bluemoonproperty.com.au",
"phoneNumber": "0402972763",
"powerProfile": false,
"jobTitle": "Sales Consultant",
"name": "Beatrice Borns",
"mainPhoto": {
"server": "https://i3.au.reastatic.net",
"name": "main photo",
"uri": "/ca783e0f628a14ff14b48ea8e53a7432f9c5b8f5676004cc2f8fecbfdc27ca95/main.jpg"
},
"id": "1405426",
"email": "[email protected]"
},
"featured": false,
"signature": false,
"constructionStatus": "established",
"channel": "sold",
"description": "为什么要花一大笔钱度假,当您可以拥有自己在美丽的阳光海岸的度假式生活的一部分。<br/>利用游泳池、2 个网球场、推杆果岭、河边的烧烤区和儿童的独立游乐场。<br/><br/>这栋 3 卧室的联排别墅位于宠物友好的封闭安全度假村,距离美丽的 Mudjimba 海滩仅 2 公里。<br/>度假村被运河环绕,适合钓鱼或划船,…"
您将实际首先使用的字段:
- totalResultsCount:查询的总计数,对于分页控制非常有用。
- resolvedQuery:回显您的查询上下文(例如,channel、page、sortType)。
- tieredResults[].results[]:物业列表。从每个结果中,您可以获取 prettyUrl、channel、description 和 lister 字段(name、contact、mainPhoto)。
- lister.mainPhoto.server + image size + lister.mainPhoto.uri:构建完整的图片 URL,如下所述。
Python 示例:获取页面并规范化关键字段
此示例调用相同的房源端点,读取基本元数据,并演示如何使用所需的大小段(例如,1536x800)构建可显示的图片 URL。在运行之前,请替换 YOUR_API_KEY。
import requests
API_URL = "https://zylalabs.com/api/1476/australia-realty-api/1221/get-properties-list"
params = {
"pageSize": "50",
"channel": "sold",
"searchLocation": "Sunshine Coast, QLD",
"searchLocationSubtext": "Region",
"type": "region",
"page": "2",
"sortType": "new-desc",
}
headers = {"Authorization": "Bearer YOUR_API_KEY"}
resp = requests.get(API_URL, params=params, headers=headers, timeout=30)
resp.raise_for_status()
data = resp.json()
print("查询 URL:", data.get("prettyUrl"))
print("总结果:", data.get("totalResultsCount"))
tiered = data.get("tieredResults", [])
results = []
for tier in tiered:
for item in tier.get("results", []):
lister = item.get("lister", {}) or {}
main_photo = lister.get("mainPhoto", {}) or {}
# 通过在服务器和 uri 之间插入所需的大小(例如,'1536x800')来构建图片 URL。
# 示例:https://i3.au.reastatic.net/1536x800/....../main.jpg
server = main_photo.get("server")
uri = main_photo.get("uri")
image_url = None
if server and uri:
image_url = f"{server}/1536x800{uri}"
results.append({
"prettyUrl": item.get("prettyUrl"),
"channel": item.get("channel"),
"description": item.get("description"),
"listerName": lister.get("name"),
"listerPhone": lister.get("phoneNumber") or lister.get("mobilePhoneNumber"),
"listerEmail": lister.get("email"),
"image": image_url
})
# 打印前几个规范化的项目
for r in results[:3]:
print(r)
注意:
- 图片:您必须选择一个大小(例如,170x32、160x30、114x21、1536x800)并将其插入服务器和 uri 部分之间。例如:server + “/1536x800” + uri。
- 分页:检查 resolvedQuery.page 和返回的结果。可用的最高页面值为 50;请勿请求超出该值。
- 在生产中建议使用超时、重试和缓存。根据您的完整查询字符串进行缓存,并根据需要过期。
通过 ID 获取物业详细信息
要获取特定物业的详细信息,请调用获取物业详细信息并提供所需的 id 参数。您将收到一个结构,其中包括 prettyUrl、channel、description 和 lister 信息(包括带有服务器和 uri 的 mainPhoto)。请记得按照上述说明在 URL 路径中插入您选择的大小以构建图片 URL。
方法:GET
URL:https://zylalabs.com/api/1476/australia-realty-api/1222/get-property-details
示例参数:id=444325280
身份验证:Authorization: Bearer YOUR_API_KEY
地点输入的自动完成
使用自动完成端点为按地区或郊区搜索的输入提供类型提示。该端点返回带有显示字段和类型(如“region”或“suburb”)的建议。文档指出,您必须指定一个要自动完成的术语,尽管此处未明确列出参数。使用您的授权头调用该端点,并检查响应以填充您的用户界面。
方法:GET
URL:https://zylalabs.com/api/1476/australia-realty-api/5339/autocomplete
实际实施注意事项
- 身份验证:始终发送 Authorization: Bearer YOUR_API_KEY。
- 渠道:示例使用 channel=sold。过滤逻辑由端点的文档参数定义;请勿添加未记录的键。
- 排序:sortType=new-desc 返回最新的结果,如上例所示。
- 分页:给定查询的可用最高页面编号为 50;在您的用户界面中反映这一点(当 page=50 时禁用“下一步”)。
- 图片:从 server + “/SIZE” + uri 构建(选择 170x32、160x30、114x21、1536x800 之一)。未包含大小可能会导致图片损坏。
- 错误处理:在访问嵌套字段之前验证响应(例如,tieredResults/tier/results 可能缺失或为空)。
- 限流和配额:Zyla 使用订阅 + 配额模型。请查看 API 页面以获取当前访问选项和定价。
这在实际项目中的适用性
- 销售比较和估值助手:提取某个地区的已售房源,按最新优先排序,并计算可比较的指标或价格分布。
- 代理门户中的市场信息:构建最近已售物业的滚动信息流,包含房源联系人和主图像。
- 消费者搜索:让用户从“悉尼 CBD”或“阳光海岸,QLD”的自动完成开始,然后通过清晰的下一步/上一步控件分页浏览结果。
- 线索路由:提取房源联系字段(姓名、电话、电子邮件)以进行外展或丰富工作流程。
通过 MCP 从 AI 代理调用 API
您可以通过 MCP 端点从兼容的客户端(例如,Claude Code、Cursor、Windsurf)调用任何 Zyla API。将您的工具指向 MCP URL,并包含您的 Zyla API 密钥。这允许代理在编码或分析会话中动态获取房源或详细信息。
提示:将房源查询包装为可重用的 MCP “工具”,接受 searchLocation 和 page,然后返回规范化对象(prettyUrl、lister、图像 URL)。保持工具输出小,以避免在长时间的代理会话中上下文膨胀。
端到端工作流程草图
- 使用自动完成收集用户的目标区域(例如,类型:“region”或“suburb”)。
- 发送获取物业列表请求,包含 channel=sold、所选的 searchLocation、searchLocationSubtext、type 和(可选)page、sortType。
- 呈现结果并通过在服务器和 uri 之间插入大小段来构建图像。
- 当用户选择一个物业时,调用获取物业详细信息,使用 id 显示完整描述和房源信息。
- 如有需要,分页至第 50 页;超出该页时灰显“下一步”。
故障排除提示
- 空结果:验证必需的参数——channel、searchLocation、searchLocationSubtext 和 type——与您的用户界面捕获的内容完全匹配(例如,Region 与 Suburb)。
- 损坏的图片:确保您插入了有效的大小(例如,在 uri 之前的“/1536x800”)并在 uri 路径之前包含了前导斜杠。
- 意外的排序顺序:如果您希望最新的结果优先,请确认 sortType=new-desc。
- 分页错误:请勿请求超过第 50 页;使用 totalResultsCount 校准用户界面中的总页面数。
常见问题解答
我如何验证请求?
在每个请求中包含头部:Authorization: Bearer YOUR_API_KEY,发送到 zylalabs.com API 端点。
是否有免费计划?
没有免费计划。您可以从市场列表页面开始 7 天试用。请查看 API 页面以获取当前访问选项和定价。
我可以请求的最大页面是多少?
如果页面字段返回值为 50,则这是该查询可用的最高分页编号。请勿请求超过第 50 页。
我如何构建物业图片 URL?
使用 lister.mainPhoto.server,插入一个大小如 1536x800,然后附加 lister.mainPhoto.uri。示例:server + “/1536x800” + uri。
列出搜索所需的参数是什么?
channel、searchLocation、searchLocationSubtext 和 type 是必需的。pageSize、page 和 sortType 是根据文档示例可选的。
准备好发布您的集成了吗?订阅并从市场列表中获取您的密钥,然后复制上面的 cURL 以在几分钟内获取结果: 开始 7 天试用澳大利亚房地产 API
官方 API 响应
{
"prettyUrl": "/sold/in-sunshine+coast%2c+qld/list-2?activeSort=list-date",
"totalResultsCount": 162134,
"resolvedLocalities": [
{
"display": "Sunshine Coast, QLD",
"precision": "region",
"atlasId": "9280a900-d539-4e0c-9385-9590315c4cb5",
"state": "QLD"
}
],
"resolvedQuery": {
"localities": [
{
"locality": "Sunshine Coast",
"subdivision": "QLD",
"searchLocation": "Sunshine Coast, QLD"
}
],
"sortType": "new-desc",
"channel": "sold",
"pageSize": "30",
"page": "2",
"filters": {
"surroundingSuburbs": true
}
},
"tieredResults": [
{
"tier": 1,
"count": 30,
"results": [
{
"prettyUrl": "property-unit-qld-mudjimba-122053054",
"standard": true,
"midtier": false,
"lister": {
"mobilePhoneNumber": "0402972763",
"website": "http://www.bluemoonproperty.com.au",
"phoneNumber": "0402972763",
"powerProfile": false,
"jobTitle": "Sales Consultant",
"name": "Beatrice Borns",
"mainPhoto": {
"server": "https://i3.au.reastatic.net",
"name": "main photo",
"uri": "/ca783e0f628a14ff14b48ea8e53a7432f9c5b8f5676004cc2f8fecbfdc27ca95/main.jpg"
},
"id": "1405426",
"email": "[email protected]"
},
"featured": false,
"signature": false,
"constructionStatus": "established",
"channel": "sold",
"description": "为什么要花一大笔钱度假,当您可以拥有自己在美丽的阳光海岸的度假式生活的一部分。<br/>利用游泳池、2 个网球场、推杆果岭、河边的烧烤区和儿童的独立游乐场。<br/><br/>这栋 3 卧室的联排别墅位于宠物友好的封闭安全度假村,距离美丽的 Mudjimba 海滩仅 2 公里。<br/>度假村被运河环绕,适合钓鱼或划船,…"
官方 API 响应
{
"prettyUrl": "/sold/in-sunshine+coast%2c+qld/list-2?activeSort=list-date",
"totalResultsCount": 162134,
"resolvedLocalities": [
{
"display": "Sunshine Coast, QLD",
"precision": "region",
"atlasId": "9280a900-d539-4e0c-9385-9590315c4cb5",
"state": "QLD"
}
],
"resolvedQuery": {
"localities": [
{
"locality": "Sunshine Coast",
"subdivision": "QLD",
"searchLocation": "Sunshine Coast, QLD"
}
],
"sortType": "new-desc",
"channel": "sold",
"pageSize": "30",
"page": "2",
"filters": {
"surroundingSuburbs": true
}
},
"tieredResults": [
{
"tier": 1,
"count": 30,
"results": [
{
"prettyUrl": "property-unit-qld-mudjimba-122053054",
"standard": true,
"midtier": false,
"lister": {
"mobilePhoneNumber": "0402972763",
"website": "http://www.bluemoonproperty.com.au",
"phoneNumber": "0402972763",
"powerProfile": false,
"jobTitle": "Sales Consultant",
"name": "Beatrice Borns",
"mainPhoto": {
"server": "https://i3.au.reastatic.net",
"name": "main photo",
"uri": "/ca783e0f628a14ff14b48ea8e53a7432f9c5b8f5676004cc2f8fecbfdc27ca95/main.jpg"
},
"id": "1405426",
"email": "[email protected]"
},
"featured": false,
"signature": false,
"constructionStatus": "established",
"channel": "sold",
"description": "为什么要花一大笔钱度假,当您可以拥有自己在美丽的阳光海岸的度假式生活的一部分。<br/>利用游泳池、2 个网球场、推杆果岭、河边的烧烤区和儿童的独立游乐场。<br/><br/>这栋 3 卧室的联排别墅位于宠物友好的封闭安全度假村,距离美丽的 Mudjimba 海滩仅 2 公里。<br/>度假村被运河环绕,适合钓鱼或划船,…"