Housing Market API 集成指南

参考表格、端点说明、错误代码和示例均根据 API 规范生成,在所有语言版本中均保留英文。名称、参数和代码在各处完全相同。

房产端点和字段参考

GET /v1/properties 返回某一个国家的已发布房源,包含标准版密钥可查看的全部房产详情。

每个字段都属于以下分组之一,分组显示在策略列中。

  • 结构化 (Structured):按发布时的原样返回。
  • 粗化 (Coarsened):门牌号从不返回;对于业主自行发布的房屋,坐标会被取整到街区级别,且不提供邮政编码。
  • 已清理 (Scrubbed):房源发布者撰写的自由文本,其中的电子邮件地址、电话号码、网址和即时通讯账号已被删除。
  • 派生 (Derived):由 API 根据其他字段计算得出。
  • 代理 (Proxied):通过 API 提供,而不是直接链接。

房源目前不含图片:images 字段为空列表。图片链接将于日后提供;原始照片仍在 Housing Market 各门户网站上公开展示。

从不返回:房源发布者的联系方式、经纪人和业主的身份,以及任何属于房源私密信息的内容。

价格以房源本身的货币表示,从不进行换算。没有值的字段为 null。

房产记录

GET /v1/properties: List published properties in one country

FieldTypePolicyDescription
id requiredstringStructuredStable identifier of the listing. Treat it as opaque.
country requiredstringStructuredISO 3166-1 alpha-2 code of the country the listing is in.
listing_type requiredstringStructuredWhat the listing offers. Requesting listing_type=all returns every value. sale rent vacation_rental co_living
property_type requiredstring | nullStructuredThe kind of property in lower case, for example condominium or house. Null when the listing does not state one.
provincestring | nullStructuredName of the province or state.
province_idinteger | nullStructuredIdentifier of the province or state, for the province_id filter.
citystring | nullStructuredName of the city.
city_idinteger | nullStructuredIdentifier of the city, for the city_id filter.
areastring | nullStructuredName of the district or area.
area_idinteger | nullStructuredIdentifier of the district or area, for the area_id filter.
addressstring | nullCoarsenedStreet name or locality line. The street number is never included.
post_codestring | nullCoarsenedPostal code. Null for owner-listed homes.
latitudenumber | nullCoarsenedLatitude in decimal degrees. For owner-listed homes it is rounded so that it identifies a neighbourhood, not a building; see location_precision.
longitudenumber | nullCoarsenedLongitude in decimal degrees. Same precision rule as latitude.
location_precision requiredstringDerivedapproximate when the coordinates and post code have been coarsened because the home is listed by its owner; otherwise exact. exact approximate
pricenumber | nullStructuredPublished price in the listing's own currency. For rent listings it is the published amount per month. Never converted.
price_maxnumber | nullStructuredUpper end when the listing publishes a price range; otherwise null.
currency requiredstring | nullStructuredISO 4217 code of the currency price and price_max are in. Null when the listing states none.
bedroomsnumber | nullStructuredNumber of bedrooms.
bathroomsnumber | nullStructuredNumber of bathrooms.
roomsnumber | nullStructuredTotal number of rooms, where the listing states it.
living_areanumber | nullStructuredLiving area in the unit the lister used. Use living_area_sqm to compare listings.
living_area_sqmnumber | nullStructuredLiving area in square metres.
lot_areanumber | nullStructuredPlot area in the unit the lister used. Use lot_area_sqm to compare listings.
lot_area_sqmnumber | nullStructuredPlot area in square metres.
build_yearinteger | nullStructuredYear the property was built.
published_date requiredstring | null (date-time)StructuredWhen the listing was first published. Null when the portal does not record it.
last_updated requiredstring | null (date-time)StructuredWhen the listing last changed, or published_date when no change is recorded. This is the value updated_since compares.
featuresarray of stringStructuredFeature names, for example the facilities of the building.
appliancesarray of stringStructuredAppliance names included with the property.
neighbourhoodarray of stringStructuredNames of neighbourhood features, such as nearby transport.
tagsarray of stringStructuredTag names the lister attached to the listing.
developerstring | nullStructuredName of the development company, where the listing names one. Never a person.
summarystring | nullScrubbedShort description. Email addresses, phone numbers, web addresses and messaging handles are removed.
descriptionstring | nullScrubbedFull description as plain text. Email addresses, phone numbers, web addresses and messaging handles are removed.
location_textstring | nullScrubbedThe lister's description of the location, scrubbed in the same way.
images requiredarray of ImageProxiedWatermarked, signed, expiring photographs. Never a direct storage or CDN address. Empty until the image service is available.

images[]

FieldTypeDescription
url requiredstring (uri)Signed address of the watermarked image. Valid for your key only, until expires_at.
expires_at requiredstring (date-time)When the URL stops working.
position requiredintegerOrder of the photograph on the listing. 1 is the lead photograph.

GET /v1/properties/{id}

Get one published property

Returns one published listing by the id a listing page carried, in the same shape. The country must be the listing's own country and one your key covers. A listing that has been withdrawn, an id from another country, and an id that never existed all return not_found.

Parameters

ParameterTypeRequiredValuesDescription
idstringyesThe id of a listing, exactly as a listing page returned it.
countrystringyespattern ^[A-Z]{2}$ISO 3166-1 alpha-2 code of the country, for example TH. A country outside your subscription is refused with country_not_entitled.

Responses

StatusDescriptionError codes
200The listing.
400The request is invalid.invalid_parameter invalid_cursor
401The key is missing, unknown or revoked.unauthenticated
403The request is refused for the key, the address or the country.country_not_entitled ip_not_allowed key_paused
404The listing does not exist, is not in that country, or has been withdrawn.not_found
429A rate limit or a quota has been reached.rate_limited quota_exceeded
500Something went wrong on our side.internal_error
503The service cannot answer right now.service_unavailable