Booking主页或对象详情 API

POST

接口健康状态

24h 健康值
正常
24h 平均耗时
—
  • 健康 / 正常
  • 可用
  • 少量可用
  • 基本不可用
正常

主页或对象详情:返回单个对象;主要字段 id、name、type、url、text、stars。

单价 $1.39 / 千次(每次 $0.001389),失败与空结果不扣费。 同步返回;慢任务可在请求体加 "mode": "async",先拿 job_id 再轮询。

AI 提示词

复制下面这段给你常用的 AI 助手:里面写好了这个接口的参数、返回字段和示例请求,它会先问清你的需求,再帮你写采集脚本。

请帮我用 EveryInfra 的「Booking 主页或对象详情」接口(booking/profile)写一个数据采集脚本。

接口约定:
- 请求:POST https://api.everyinfra.com/api/v1/social,请求头 Authorization: Bearer <API Key>;Key 从环境变量 EVERYINFRA_API_KEY 读取,不要写进代码。
- 请求体里 platform 填 booking,action 填 profile,参数放在 params 里。
- 必填参数:
  - url:Booking 单个住宿的完整页面链接,建议使用 /hotel/ 路径。profile 查住宿资料,reviews 查该住宿点评,prices 查房型价格;不要将目的地搜索页当作单个酒店链接。
- 可选参数:
  - check_in:入住日期,YYYY-MM-DD。search / profile 仅在同时提供 check_in 和 check_out 时传入日期;prices 中作为 start_date 未提供时的起始日期,不创建订单。
  - check_out:退房日期,YYYY-MM-DD,应与 check_in 一起提供且晚于入住日期。只填这一项不会让 search / profile 带上完整入住区间。
  - currency:住宿价格展示币种,默认 USD。search / profile 接受本接口列出的币种代码;prices 建议使用大写三字母代码。它不改变 EveryInfra 的 API 计费币种。(可选值:aed / ars / aud / azn / bgn / bhd / brl / cad)
  - lang:住宿页面信息语言,默认英式英语;engb / enus 为英式 / 美式英语,zhcn / zhtw 为简体 / 繁体中文。不要直接套用 en 或 zh;此参数不负责翻译 reviews 的点评正文。(可选值:ar / bg / ca / cs / da / de / el / engb)
- 返回一个对象,主要字段:id、name、type、url、text、stars(酒店星级(1–5))、rating、rating_scale、rating_label(评分的文字档位(如 Wonderf…)、review_count、price、currency;一共 25 个字段,完整列表见 https://api.everyinfra.com/api/v1/social/catalog?platform=booking。
- 示例请求体:
{
  "platform": "booking",
  "action": "profile",
  "params": {
    "url": "https://www.booking.com/hotel/jp/park-hyatt-tokyo.html"
  }
}
- 计费:$1.39 / 千次;失败和空结果不扣费。
- 一次要采几十上百个时,在请求体加 "mode": "async":先拿到 job_id,再轮询 GET https://api.everyinfra.com/api/v1/jobs/{job_id} 取结果。
- 返回 422 时,按错误信息里的候选参数和允许值修正;返回 429 或 503 时,按 Retry-After 等待后重试。

写代码前,先问清楚我要采哪些对象、一共多少个、需要哪些字段、结果存成什么格式,再把方案和大概花费讲给我确认。

请求参数

参数名位置类型必填默认值说明
Authorizationheaderstring是-Bearer 加你的 API Key。在控制台创建;不要放进网址或代码仓库。
platformbodystring是booking平台标识,固定值。
actionbodystring是profile能力标识,固定值。
urlbody.params未声明是-Booking 单个住宿的完整页面链接,建议使用 /hotel/ 路径。profile 查住宿资料,reviews 查该住宿点评,prices 查房型价格;不要将目的地搜索页当作单个酒店链接。
check_inbody.params未声明否-入住日期,YYYY-MM-DD。search / profile 仅在同时提供 check_in 和 check_out 时传入日期;prices 中作为 start_date 未提供时的起始日期,不创建订单。
check_outbody.params未声明否-退房日期,YYYY-MM-DD,应与 check_in 一起提供且晚于入住日期。只填这一项不会让 search / profile 带上完整入住区间。
currencybody.paramsenum否-住宿价格展示币种,默认 USD。search / profile 接受本接口列出的币种代码;prices 建议使用大写三字母代码。它不改变 EveryInfra 的 API 计费币种。允许值aedarsaudaznbgnbhdbrlcadchfclpcnycopczkdkkegpeurfjdgbpgelhkdhufidrilsinrjodjpykrwkwdkztmdlmxnmyrnadnoknzdomrplnqarronrubsarseksgdthbtrytwduahusdxofzar
langbody.paramsenum否-住宿页面信息语言,默认英式英语;engb / enus 为英式 / 美式英语,zhcn / zhtw 为简体 / 繁体中文。不要直接套用 en 或 zh;此参数不负责翻译 reviews 的点评正文。允许值arbgcacsdadeelengbenusesesaretfifrhehrhuidisitjakoltlvmsnlnoplptbrptptroruskslsrsvthtltrukvizhcnzhtw

代码示例

bash
curl -X POST 'https://api.everyinfra.com/api/v1/social' \
  -H "Authorization: Bearer $EVERYINFRA_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "platform": "booking",
  "action": "profile",
  "params": {
    "url": "https://www.booking.com/hotel/jp/park-hyatt-tokyo.html"
  }
}'

[OpenAPI 定义 (JSON)]示例从环境变量 EVERYINFRA_API_KEY 读取 Key,复制出去的代码不含你的 Key。

响应示例

真实返回样例

2026年9月26日 16:56(北京时间)用上方代码示例的参数真实调用所得。results 与 count 是那次的真实返回,已隐去名字、账号、头像、主页链接、联系方式等个人信息;id、billing、quota 每次调用都不同,只给结构。

json
{
  "id": "req_…",
  "platform": "booking",
  "action": "profile",
  "results": {
    "id": 179810,
    "name": "Park Hyatt Tokyo",
    "type": "hotel",
    "url": "https://www.booking.com/hotel/jp/park-hyatt-tokyo.en-gb.html",
    "text": "Get the celebrity treatment with world-class service at Park Hyatt TokyoPark Hyatt Tokyo welcomes you home, thoughtfully crafting each moment with intuitive care to ensure every stay feels personally tailored. Located in Shinjuku, west Tokyo, Park Hyatt Tokyo occupies the 39th to…",
    "stars": 5,
    "rating": 9.2,
    "review_count": 128,
    "breakfast": "Buffet",
    "address": "Tokyo-to, Tokyo, Shinjuku-ku, Nishishinjuku 3-7-1-2, Japan",
    "city": "Tokyo",
    "country": "jp",
    "latitude": "35.684871080031755",
    "longitude": "139.69104677438736",
    "image_url": "https://cf.bstatic.com/xdata/images/hotel/max1024x768/909678791.jpg?k=bd70c52af1180cbfa82618a22e8b6db4b822c98835618ea713199b0d4636b55f&o=",
    "platform": "booking",
    "category_ratings": [
      {
        "name": "Location",
        "score": 9.1
      },
      {
        "name": "Cleanliness",
        "score": 9.7
      },
      {
        "name": "Value for money",
        "score": 8.5
      }
    ],
    "image_urls": [
      "https://cf.bstatic.com/xdata/images/hotel/max1024x768/909678791.jpg?k=bd70c52af1180cbfa82618a22e8b6db4b822c98835618ea713199b0d4636b55f&o=&hp=1",
      "https://cf.bstatic.com/xdata/images/hotel/max1024x768/909677947.jpg?k=0132e551e1b3f34b69767d6416d778dee86bfd324025f3d0a6d39a2b21e005ca&o=&hp=1",
      "https://cf.bstatic.com/xdata/images/hotel/max1024x768/110318598.jpg?k=180b52ab1b8a3cdda7a6a014c2068e381bcfa4dc8573036a19ce57241e6b1018&o=&hp=1"
    ],
    "facilities": [
      "4 restaurants",
      "Parking",
      "Private bathroom"
    ],
    "rating_scale": 10
  },
  "billing": {
    "charged": …,
    "charged_usd": …,
    "balance_after_usd": …,
    …
  },
  "quota": { … }
}

返回字段

业务数据在 results 里;下表是每条记录可能包含的字段,平台没有提供的值不会被补造。

字段含义
id该记录在原平台上的唯一标识。仅在同一平台内唯一,跨平台可能重复。
name名称。用于账号/商品/商家类能力,指该对象本身的名字。
type记录类型,取值随能力而定(如 video / image / text)。
url该记录在原平台上的可访问链接。
text正文内容,已去除 HTML 标签,全文返回、不截断(个别平台的列表结果本身只有摘要,以该平台的字段说明为准)。
stars酒店星级(1–5),是官方评定的硬件等级,与住客评分 rating 不是一回事。
rating评分。分制随平台而异,同一行的 rating_scale 给出该平台满分 (多数是 5,Booking/豆瓣/爱奇艺/NAVER 是 10)。跨平台比较前必须先按 rating_scale 换算 —— 直接比数字会得出反的结论。
rating_scale上一列 rating 的满分。5 表示五星制、10 表示十分制。只在该行有 rating 时出现。
rating_label评分的文字档位(如 Wonderful / Very good),由 score 分段而来。
review_count评价条数,用于商品/商家类能力。null 表示不公开,不等于 0。
price价格数值,不含货币符号;币种见 currency。
currency价格币种代码(如 CNY、USD)。price 存在但 currency 为 null 时不要假定币种。
breakfast早餐说明(含/不含/需加购)。
hotel_chain所属连锁品牌,独立酒店为 null。
check_in_date本次查询的入住日期。
check_out_date本次查询的退房日期。
address详细地址,原文透传。
city城市名,用原平台的语言书写,未做中英归一。
country国家或地区。可能是全称也可能是 ISO 代码,取决于平台,未归一。
latitude纬度。
longitude经度。
image_url图片链接。多图能力可能返回 image_urls 数组。
platform数据来源平台标识,与请求里的 platform 一致(如 xiaohongshu、tiktok)。
category_ratings分项评分列表,每项含名称(name,如清洁度、位置)和分数(score);没有时不出现这个字段。
image_urls图片链接数组,按平台展示顺序;没有图片时不出现这个字段。
facilities设施与服务名称列表,按页面分组顺序展开;没有时不出现这个字段。

错误与计费

401
缺少 Key 或 Key 无效。先鉴权再校验参数,未鉴权的请求拿不到参数结构。
422
参数名或取值不对。错误信息会列出这项能力支持的参数、允许值和最接近的候选,按它改即可;发生在扣费之前。
402
余额不足,请先充值。
429
超过账户的每分钟请求上限(名下所有 Key 合计;Key 自设了更低上限时先按它算),按 Retry-After 等待后再试。需要更高上限可在控制台买提速包。
503
暂时无法完成。已预扣的费用按原账本退回;响应里的 billing 与 refund 写明实际结果,结果未知时会明确标出,不要直接重发。
200 空结果
请求完成但没有数据,不扣费(billing.reason = empty_result_refunded)。

官方资料参照

只用于核对对象与术语,不表示平台对 EveryInfra 的授权或背书。

  • Booking:住宿资料中的星级与点评分数 ↗

    Booking 将住宿星级、住客点评分数和质量评级分开介绍。profile 通过住宿页 URL 读取资料;该来源用于解释返回口径,不把星级变成 profile 的请求筛选项。

    核对于 2026-09-04