主题
business_data/google/hotel_info/live/advanced
POST /v3/business_data/google/hotel_info/live/advanced
本接口使用 POST 方法,请求路径为:
/v3/business_data/google/hotel_info/live/advanced
本接口用于获取指定实体在 Google Hotels 中的结构化信息描述、地址、评分、设施、评论、图片、价格及第三方预订报价等。
请求提供唯一的 hotel_identifier。该标识可通过 Google SERP API Advanced 方法获取,也可通过 Business Data API 的 Hotel Searches 接口获取。返回结果与请求中的地点和语言设置。
计费与调用限制
参考价约 ¥0.0290 / 次。启用 load_prices_by_dates=true 时,单次请求按基础价格的两倍计费,参考价约 ¥0.0580 / 次。
扣费以响应头 X-SeerMarTech-Charge-CNY 为准。
- 所有 POST 数据使用 UTF-8 编码的 JSON 格式。
- 每个 Live API 请求只能一个任务。 平台限流以认证说明中的 30/60/120 次/分钟规则为准。
- 同时进行的请求数最多为 30 个。
请求参数
请求体是 JSON 数组:
json
[
{
"hotel_identifier": "ChYIq6SB--i6p6cpGgovbS8wN2s5ODZfEAE",
"location_code": 2840,
"language_code": "en"
}
]任务字段
| 字段 | 类型 | 填 | 说明 |
|---|---|---|---|
hotel_identifier | string | 是 | Google 搜索中的实体唯一标识。可从 Google SERP API Advanced 方法响应中的 hotels素,或 Hotel Searches 接口响应中获取。示例:ChYIq6SB--i6p6cpGgovbS8wN2s5ODZfEAE |
location_name | string | 条件填 | 搜索引擎地点的完整名称。未指定 location_code 或 location_coordinate 时填。使用该字段后,无需再传另外两个地点字段。可通过 /v3/business_data/google/locations 获取可用值。示例:London,England,United Kingdom |
location_code | integer | 条件填 | 搜索引擎地点代码。未指定 location_name 或 location_coordinate 时填。可通过 /v3/business_data/google/locations 获取。示例:2840 |
location_coordinate | string | 条件填 | 地点 GPS 坐标,格式为 latitude, longitude。纬度和经度最多支持 7 位小数。使用坐标时,搜索将在距离该坐标最近的点执行。示例:53.476225,-2.243572 |
language_name | string | 条件填 | 搜索结果语言的完整名称。未指定 language_code 时填。使用该字段后,无需再传 language_code。可通过 /v3/business_data/google/languages 获取。示例:English |
language_code | string | 条件填 | 搜索结果语言代码。未指定 language_name 时填。可通过 /v3/business_data/google/languages 获取。示例:en |
check_in | string | 否 | 住日期。默认使用明天;不能早于当前日期。格式:yyyy-mm-dd。示例:2019-01-15 |
check_out | string | 否 | 退房日期。默认使用后天。不能早于或等于 check_in,两日期间隔不得 30 天。格式:yyyy-mm-dd |
currency | string | 否 | 价格币种。示例:USD |
adults | integer | 否 | 成人数量。默认值为 2。示例:1 |
children | array | 否 | 儿童年龄数组。不传时表示不儿童。例如,一个 14 岁儿童传 [14];一个 13 岁儿童和一个 8 岁儿童传 [13, 8]。 |
load_prices_by_dates | boolean | 否 | 是否按日期加载住宿价格。设为 true 后,响应中会返回 prices_by_dates 数组,并按日期拆分价格;费用按基础价格的两倍计算。 |
prices_start_date | string | 否 | 按日期加载价格的开始日期。在 load_prices_by_dates=true 时生效。未指定时使用 check_in。格式:yyyy-mm-dd。 |
prices_end_date | string | 否 | 按日期加载价格的结束日期。在 load_prices_by_dates=true 时生效。未指定时返回从开始日期起一个月的每日价格。格式:yyyy-mm-dd。 |
prices_date_range | string | 否 | 预定义的每日价格查询周期。在 load_prices_by_dates=true 时生效。可选值:month、three_months、six_months、year。默认值:month。 |
tag | string | 否 | 用户自定义任务标识,最长 255 个字符。可用于请求和响应;提交的值会出现在响应的 data 对象中。 |
地点参数规则
location_name、location_code 和 location_coordinate 三至少指定一个,且通常只应使用一个。
语言参数规则
language_name 和 language_code须至少指定一个,且通常只应使用一个。
响应结构
服务端返回 JSON 对象 tasks 数组。
顶层字段
| 字段 | 类型 | 说明 |
|---|---|---|
version | string | 当前 API 版本。 |
status_code | integer | 请求级状态码。 |
status_message | string | 请求级状态信息。 |
time | string | 请求执行耗时,单位为秒。 |
cost | float | 平台原始 USD 成本兼容字段;人民币实扣以 X-SeerMarTech-Charge-CNY 为准。 |
tasks_count | integer | tasks 数组中的任务总数。 |
tasks_error | integer | tasks 数组中返回错误的任务数。 |
tasks | array | 任务结果数组。 |
任务字段
| 字段 | 类型 | 说明 |
|---|---|---|
id | string | 任务唯一标识,UUID 格式。 |
status_code | integer | 任务状态码,通常位于 10000–60000 范围。 |
status_message | string | 任务状态信息。 |
time | string | 任务执行耗时,单位为秒。 |
cost | float | 平台原始 USD 成本兼容字段;人民币实扣以 X-SeerMarTech-Charge-CNY 为准。 |
result_count | integer | result 数组中的数量。 |
path | array | 请求 URL 路径。 |
data | object | 创建任务时提交的参数及系统补参数。 |
result | array | 店信息结果数组。 |
结果字段
###店基础信息
| 字段 | 类型 | 说明 |
|---|---|---|
hotel_identifier | string | 请求中提交的唯一标识。 |
location_code | integer | 请求中使用的地点代码。 |
language_code | string | 请求中使用的语言代码。 |
check_url | string | 对应搜索结果的直接 URL,可用于核验数据准确性。 |
datetime | string | 获取结果的 UTC 时间,格式为 yyyy-mm-dd hh-mm-ss +00:00。 |
title | string | 店名称。 |
stars | integer | 店星级,范围为 1–5。 |
stars_description | string | 店星级的文本描述。 |
address | string | 店地址。 |
phone | string | 店联系电话。 |
about店介绍
| 字段 | 类型 | 说明 |
|---|---|---|
about | object | 店介绍信息。 |
about.description | string | 店主要描述。 |
about.sub_descriptions | array | 店补描述。 |
about.check_in_time | object | 住时间。 |
about.check_in_time.hour | integer | 住小时。 |
about.check_in_time.minute | integer | 住分钟。 |
about.check_out_time | object | 退房时间。 |
about.check_out_time.hour | integer | 退房小时。 |
about.check_out_time.minute | integer | 退房分钟。 |
full_address | string | 标准化后的完整地址。 |
domain | string | 店官网域名。 |
url | string | 店官网 URL。 |
设施信息
| 字段 | 类型 | 说明 |
|---|---|---|
amenities | array | 按类别组织的设施。 |
amenities[].category | string | 标准化设施类别。 |
amenities[].category_label | string | 展示用设施类别名称。 |
amenities[].items | array | 类别下的设施。 |
amenities[].items[].amenity | string | 标准化设施名称。 |
amenities[].items[].amenity_label | string | 展示用设施名称。 |
amenities[].items[].hint | string | 标准化设施。 |
amenities[].items[].hint_label | string | 展示用设施。 |
amenities[].items[].is_available | boolean | 指示该设施是否可用。 |
popular_amenities | array | 标记为热门的设施列表。 |
popular_amenities[].amenity | string | 标准化设施名称。 |
popular_amenities[].amenity_label | string | 展示用设施名称。 |
popular_amenities[].hint | string | 标准化设施。 |
popular_amenities[].hint_label | string | 展示用设施。 |
popular_amenities[].is_available | boolean | 指示该设施是否可用。 |
location 位置信息
| 字段 | 类型 | 说明 |
|---|---|---|
location | object | 店所在区域的信息。 |
location.neighborhood | string | 所在街区或区域名称。 |
location.neighborhood_description | string | 街区描述。 |
location.maps_url | string | 地图位置 URL。 |
location.overall_score | float | 位置综合评分,范围为 1–5。综合考虑附近景点、餐、交通和机场等因素,各项权重可能不同。 |
location.score_by_categories | object | 按类别划分的位置评分。 |
location.score_by_categories.overall | float | 位置综合评分,范围为 1–5。 |
location.score_by_categories.things_to_do | float | 附近景点及活动评分,范围为 1–5。 |
location.score_by_categories.restaurants | float | 附近餐评分,范围为 1–5。 |
location.score_by_categories.transit | float | 附近交通评分,范围为 1–5。 |
location.score_by_categories.airport_access | float | 机场可达性评分,范围为 1–5。 |
location.latitude | float | 纬度。 |
location.longitude | float | 经度。 |
location.location_chain | array | 位置链。 |
location.location_chain[].card_id | string | 卡片标识。 |
location.location_chain[].feature_id | string | 要素标识。 |
location.location_chain[].cid | string | 地点客户标识。 |
location.location_chain[].title | string | 位置链标题。 |
reviews 评论信息
| 字段 | 类型 | 说明 |
|---|---|---|
reviews | object | 按评价维度汇总的评论信息。 |
reviews.value | float | 基于用户投票计算的综合评分。 |
reviews.votes_count | integer | 参与评分计算的投票数量。 |
reviews.mentions | array | 按评价维度统计的评论提及信息。 |
reviews.mentions[].title | string | 评价维度名称。 |
reviews.mentions[].positive_score | float | 该维度的正面评分。 |
reviews.mentions[].positive_count | integer | 正面评论数量。 |
reviews.mentions[].negative_count | integer | 负面评论数量。 |
reviews.mentions[].total_count | integer | 评论总数。 |
reviews.mentions[].visible_by_default | boolean | 是否默认展示该评论维度。 |
reviews.rating_distribution | object | 1–5 分评级的投票分布。 |
reviews.rating_distribution.5 | integer | 5 分投票数。 |
reviews.rating_distribution.4 | integer | 4 分投票数。 |
reviews.rating_distribution.3 | integer | 3 分投票数。 |
reviews.rating_distribution.2 | integer | 2 分投票数。 |
reviews.rating_distribution.1 | integer | 1 分投票数。 |
reviews.other_sites_reviews | array | 第三方网站评论。 |
reviews.other_sites_reviews[].title | string | 评论来源网站名称。 |
reviews.other_sites_reviews[].url | string | 评论原始页面 URL。 |
reviews.other_sites_reviews[].review_text | string | 评论正文。 |
reviews.other_sites_reviews[].rating | object | 第三方评论中的评分信息。 |
rating.rating_type | string | 评分类型,可选 CustomMax 或 Max5。 |
rating.value | float | 评分值。CustomMax 范围为 1–10,Max5 范围为 1–5。 |
rating.votes_count | integer | 该评分的投票数量。 |
rating.rating_max | integer | 当前评分类型的最大值。 |
图片
| 字段 | 类型 | 说明 |
|---|---|---|
overview_images | array | 店概览中展示的图片 URL 列表。 |
prices 当前价格信息
| 字段 | 类型 | 说明 |
|---|---|---|
prices | object | 店当前价格及预订报价。 |
prices.price | integer | 当前每晚价格。 |
prices.price_without_discount | integer | 未应用折扣时的每晚价格。 |
prices.currency | string | 价格币种;未指定请求币种时默认使用 USD。 |
prices.discount_text | string | 折扣文本。 |
prices.check_in | string | 住时间,UTC 格式:yyyy-mm-dd hh-mm-ss +00:00。 |
prices.check_out | string | 退房时间,UTC 格式:yyyy-mm-dd hh-mm-ss +00:00。 |
prices.visitors | integer | 住人数。 |
prices.items | array | 第三方网站提供的价格信息。 |
prices.items[].type | string | 项目类型,通常为 hotel_info_price。 |
prices.items[].title | string | 第三方网站或报价来源名称。 |
prices.items[].price | integer | 第三方网站显示的每晚价格。 |
prices.items[].currency | string | 价格币种。 |
prices.items[].url | string | 第三方报价页面 URL。 |
prices.items[].domain | string | 第三方网站域名。 |
prices.items[].is_paid | boolean | 是否为付费预订链接。true 表示广告,false 表示预订链接。 |
prices.items[].official_site | boolean | 是否带有“官方站点”标签。 |
prices.items[].free_cancellation_until | string/null | 可取消的截止时间;所选日期不支持取消时为 null。 |
prices.items[].offers | array/null | 该来源下的特色报价。 |
offers 特色报价
| 字段 | 类型 | 说明 |
|---|---|---|
offers[].type | string | 报价类型,通常为 hotel_info_price_offer。 |
offers[].title | string | 报价名称。 |
offers[].price | integer | 报价金额。 |
offers[].currency | string | 报价币种。 |
offers[].url | string | 报价页面 URL。 |
offers[].max_visitors | integer | 该报价适用的最大人数。 |
offers[].offer_images | array | 报价图片 URL。 |
offers[].free_cancellation_until | string/null | 可取消的截止时间;不支持时为 null。 |
prices_by_dates 每日价格
当请求参数 load_prices_by_dates=true 时返回。
| 字段 | 类型 | 说明 |
|---|---|---|
prices_by_dates | array | 按日期拆分的住宿价格。 |
prices_by_dates[].price | integer | 指定日期的每晚价格。 |
prices_by_dates[].currency | string | 价格币种,例如 USD。 |
prices_by_dates[].check_in_date | string | 住日期时间,UTC 格式。 |
prices_by_dates[].check_out_date | string | 退房日期时间,UTC 格式。 |
请求示例
cURL
bash
curl --location --request POST \
"https://api.seermartech.cn/v3/business_data/google/hotel_info/live/advanced" \
--header "Authorization: Bearer smt_live_YOUR_KEY" \
--header "Content-Type: application/json" \
--data-raw '[
{
"location_code": 1023191,
"language_code": "en",
"hotel_identifier": "ChYIq6SB--i6p6cpGgovbS8wN2s5ODZfEAE"
}
]'Python
python
import requests
url = "https://api.seermartech.cn/v3/business_data/google/hotel_info/live/advanced"
payload = [
{
"location_name": "New York,New York,United States",
"language_name": "English",
"hotel_identifier": "CgoI-KWyzenM_MV3EAE",
"check_in": "2026-04-25",
"check_out": "2026-04-26",
"adults": 2,
"currency": "USD"
}
]
headers = {
"Authorization": "Bearer smt_live_YOUR_KEY",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
response.raise_for_status()
result = response.json()
if result.get("status_code") == 20000:
print(result)
else:
print(
"请求失败,状态码:%s,信息:%s"
% (result.get("status_code"), result.get("status_message"))
)TypeScript
typescript
import axios from "axios";
const tasks = [
{
location_name: "New York,New York,United States",
language_name: "English",
hotel_identifier: "CgoI-KWyzenM_MV3EAE",
check_in: "2026-04-25",
check_out: "2026-04-26",
adults: 2,
currency: "USD",
},
];
axios
.post(
"https://api.seermartech.cn/v3/business_data/google/hotel_info/live/advanced",
tasks,
{
headers: {
Authorization: "Bearer smt_live_YOUR_KEY",
"Content-Type": "application/json",
},
}
)
.then((response) => {
// 处理、评论、设施和价格数据
console.log(response.data);
})
.catch((error) => {
console.error("请求失败:", error.response?.data || error.message);
});响应示例
以下示例展示主要字段,响应可能更多设施、评论、图片和第三方报价。
json
{
"version": "0.1.20260420",
"status_code": 20000,
"status_message": "Ok.",
"time": "2.4033 sec.",
"cost": 0.004,
"tasks_count": 1,
"tasks_error": 0,
"tasks": [
{
"id": "00000000-0000-0000-0000-000000000000",
"status_code": 20000,
"status_message": "Ok.",
"time": "2.4033 sec.",
"cost": 0.004,
"result_count": 1,
"path": [
"v3",
"business_data",
"google",
"hotel_info",
"live",
"advanced"
],
"data": {
"api": "business_data",
"function": "hotel_info",
"se": "google",
"location_name": "New York,New York,United States",
"language_name": "English",
"hotel_identifier": "ChYIq6SB--i6p6cpGgovbS8wN2s5ODZfEAE",
"se_type": "hotel_info",
"device": "desktop",
"os": "windows"
},
"result": [
{
"hotel_identifier": "ChYIq6SB--i6p6cpGgovbS8wN2s5ODZfEAE",
"location_code": 1023191,
"language_code": "en",
"title": "President Hotel Athens",
"stars": 4,
"address": "Leof. Kifisias 43, Athina 115 23, Greece",
"phone": null,
"full_address": "President Hotel Athens, Leof. Kifisias 43, Athina 115 23, Greece",
"domain": "president.gr",
"url": "https://president.gr/",
"check_in_time": {
"hour": 15,
"minute": 0
},
"check_out_time": {
"hour": 11,
"minute": 0
},
"location": {
"neighborhood": "Central Athens Regional Unit",
"maps_url": "https://maps.google.com/",
"overall_score": 3.1,
"score_by_categories": {
"overall": 3.1,
"things_to_do": 3.2,
"restaurants": 3.3,
"transit": 4.1,
"airport_access": 3.9
},
"latitude": 37.9890814,
"longitude": 23.7638777,
"location_chain": []
},
"reviews": {
"value": 4.2,
"votes_count": 8552,
"mentions": [],
"rating_distribution": {
"1": 5,
"2": 3,
"3": 10,
"4": 26,
"5": 56
},
"other_sites_reviews": []
},
"amenities": [],
"popular_amenities": [],
"overview_images": [],
"prices": {
"price": 168,
"price_without_discount": null,
"currency": "USD",
"discount_text": null,
"check_in": "2026-04-25 00:00:00 +00:00",
"check_out": "2026-04-26 00:00:00 +00:00",
"visitors": 2,
"items": [],
"prices_by_dates": null
}
}
]
}
]
}状态码与错误处理
20000:请求成功。status_code:同时存在请求级和任务级状态码,应分别检查。status_message:提供对应的状态说明。- 当
tasks_error大于0,或任务中的status_code不为20000时,应记录错误并根据业务需要重试或跳过该任务。 - 建议在生产环境中实现时、限流、空结果和异常响应处理。
实用场景
- 采集:批量获取地址、星级、官网、时间和设施信息,构建目录或本地 SEO 数据库。
- 监测价格:按日期抓取当前价格及第三方预订报价,支持竞品价格监控和动态定价分析。
- 分析口碑:汇总评分、投票数、评分分布和评论维度,识别影响转化率的正负面因素。
- 比较区域位置价值:使用景点、餐、交通和机场可达性评分,对不同位置进行选址与运营分析。
- 生成 SEO:结合描述、设施、图片和评论数据,生成更完整的落地页、对比页和目的地专题。