核心用法
本 Skill 提供两种获取 TripAdvisor 数据的路径:
主路径 - Terra API 直连:通过 curl 直接调用 TripAdvisor 官方 Terra REST API(terra.tripadvisor.com),无需部署 tripadvisor-mcp 服务端。支持六大核心端点:位置搜索(/locations/search)、附近搜索(/locations/nearby)、批量详情(/locations)、单点详情(/locations/{id})、评价列表(/locations/{id}/reviews)、图片列表(/locations/{id}/photos)。所有调用仅需 X-API-Key 请求头,返回标准 JSON 格式,配合 jq 即可快速提取字段。
降级路径 - fpx 浏览器桥接:当无 API Key 或 Terra 访问受限时,通过 @fetchproxy/cli 工具将请求路由至已登录的浏览器标签页,抓取 TripAdvisor 公开页面的 application/ld+json 结构化数据。此方案可获取名称、评分、评价数、地址、电话、坐标等核心字段,但不支持获取单条评价文本。
关键约束:调用详情/评价/图片接口前,必须先通过搜索接口获取 location_id;Terra API 与旧版 Content API 的 Key 不互通,混用会导致 403 错误。
显著优点
- 零依赖部署:纯 shell 脚本实现,无需 Node.js 环境或 MCP 服务端,适合服务器脚本、CI/CD 流水线或临时环境
- 成本可控:Terra Discover 层级免费,每日 10,000 次调用、10 QPS 足量满足中小型项目
- 数据完整性:官方 API 返回多语言名称、结构化地址、坐标、开放时间、图片元数据等完整字段
- 降级韧性:fpx 方案在 API Key 失效或配额耗尽时提供兜底,确保业务连续性
- 安全只读:Terra 端点均为读取操作,无数据篡改风险
潜在缺点与局限性
- 配额硬上限:Discover 层级 10 QPS 和日限额对高并发场景不足,需升级付费层级
- ID 前置依赖:所有详情类接口需预解析
location_id,增加一次网络往返 - 多语言数组冗余:名称、描述、地址等字段以数组形式返回,需额外
jq过滤提取主语言条目 - fpx 方案局限:依赖浏览器扩展和已登录标签页,无法自动化部署;DataDome 风控可能阻断;无法获取评价原文
- 无写入能力:仅支持数据消费,无法提交评价或修改商家信息
适合的目标群体
- 数据分析师:需要批量获取 POI 数据进行旅游行业研究或竞品分析
- 后端开发者:为旅行类 App/网站构建数据层,需快速原型验证
- 运维工程师:在受限环境中(如无 Docker、无 Node)获取 TripAdvisor 数据
- 自动化脚本编写者:需要将 TripAdvisor 数据集成至数据处理流水线或报告生成系统
使用风险
- 速率限制触发:高频调用易触及 10 QPS 阈值,需实现指数退避重试逻辑
- API Key 泄露:Key 以明文形式存在于环境变量或脚本中,需严格管控
.env文件权限 - fpx 稳定性风险:浏览器扩展连接中断、标签页刷新或 DataDome 风控均会导致抓取失败
- 数据结构变更:TripAdvisor 可能调整 Terra API 响应结构,需关注官方变更日志
- 404 误触发:端点路径单复数敏感(
/locationsvs/location),拼写错误导致资源未找到