Skip to content

创建 Tripadvisor 评论采集任务

POST /v3/business_data/tripadvisor/reviews/task_post

接口说明

该接口用于创建 Tripadvisor 平台“Reviews(评论)”数据采集任务,返回指定商家页面或在指定地区下的评论结果。

建议优使用 url_path 参数创建任务,以获得更高的识别准确率。url_path 是 Tripadvisor 商家页 URL 中的路径部分,例如:

https://www.tripadvisor.com/Hotel_Review-g60763-d23462501-Reviews-Margaritaville_Times_Square-New_York_City_New_York.html

对应的 url_path 为:

Hotel_Review-g60763-d23462501-Reviews-Margaritaville_Times_Square-New_York_City_New_York.html

注意:

  • items 数组中每返回 10 条评论计费一次;例如设置 "depth": 11,将按 20 条评论计费。
  • 使用 language_namelanguage_code 会额外产生一次请求费用。
  • 高优级任务 priority=2 会产生额外费用。
  • 实扣费以响应头 X-SeerMarTech-Charge-CNY 为准。

请求信息

POST https://api.seermartech.cn/v3/business_data/tripadvisor/reviews/task_post

计费说明

创建任务会产生基础任务费用,同时会根据返回的评论数量额外计费。

参考价约:

  • 创建任务:¥0.0120 / 次
  • 附加费用与评论条数、语言参数、高优级等
  • 实扣费以响应头 X-SeerMarTech-Charge-CNY 为准

请求格式

所有 POST 数据使用 UTF-8 编码的 JSON 格式,请求体为 JSON 数组:

json
[
 {
 "url_path": "Hotel_Review-g60763-d23462501-Reviews-Margaritaville_Times_Square-New_York_City_New_York.html",
 "location_code": 1003854
 }
]

频率与数量限制

  • 每分钟最多可发起 110 次 API 调用
  • 每次 POST 最多 100 个任务 -过 100 个任务的部分会返回错误 40006

结果获取方式

任务创建成功后,你可以通过返回的唯一任务标识 id 获取结果。

也可以在创建任务时传以下回调参数,由本平台在任务完成后主动通知:

  • postback_url:任务完成后,将以 POST 方式推送结果,数据为 gzip 压缩
  • pingback_url:任务完成后,将以 GET 方式发送完成通知

如果你的服务器在 10 秒未响应,请求会因时被中止,任务将转移到 /v3/business_data/tripadvisor/reviews/tasks_ready 列表中。错误码和错误信息取决于你的服务端。

请求参数

字段名类型说明
url_pathstring商家实体页面的 URL 路径。如果未指定 keyword,则该字段填。可传完整路径或完整 URL。示例:Hotel_Review-g60763-d23462501-Reviews-Margaritaville_Times_Square-New_York_City_New_York.html
keywordstring。如果未指定 url_path,则该字段填。应填写 Tripadvisor 中存在的商家名称或知名地点名称。最长 700 个字符。所有 %## 会被解码,字符 + 会被解码为空格;如需传 %,请使用 %25
location_namestring搜索地区完整名称。如果未指定 location_codeurl_path,则该字段填。可通过 /v3/business_data/tripadvisor/locations 查询。示例:London,England,United Kingdom
location_codeinteger搜索地区编码。如果未指定 location_nameurl_path,则该字段填。可通过 /v3/business_data/tripadvisor/locations 查询。示例:1003854
priorityinteger任务优级,可选。1 表示普通优级(默认),2 表示高优级。高优级会额外收费。
language_namestring搜索语言名称,可选。使用该参数会额外计费一次。可通过 /v3/business_data/tripadvisor/languages 查询。示例:English
language_codestring搜索语言编码,可选。使用该参数会额外计费一次。可通过 /v3/business_data/tripadvisor/languages 查询。示例:en
depthinteger采集深度,可选。表示需要抓取的评论数量。默认值:10;最大值:4490。强烈建议按 10 的倍数设置,因为系统按每 10 条评论一组处理与计费。
ratingsarray按评论评分过滤,可选。可选值:excellentvery_goodaveragepoorterrible。支持同时传多个值。
visit_typearray按评论出行类型过滤,可选。可选值:familiescouplessolobusinessfriends。支持同时传多个值。
monthsarray按访问月份过滤,可选。可选值:januaryfebruarymarchaprilmayjunejulyaugustseptemberoctobernovemberdecember。支持同时传多个值。
search_reviews_keywordstring按评论过滤,可选。示例:dessert
sort_bystring排序方式,可选。可选值:most_recentdetailed_reviews
translate_reviewsboolean是否根据 url_path 对评论进行翻译,可选。设为 true 时,评论会翻译为与 url_path 匹的语言。默认值:true。例如 url_path 对应意大利站点时,评论会翻译成意大利语。
tagstring自定义任务标识,可选。最大长度 255。可用于请求与结果匹,返回结果中的 data 对象会带回该值。
postback_urlstring结果回传地址,可选。任务完成后,本平台会向该地址发送完整结果的 POST 请求(gzip 压缩)。支持在 URL 中使用 $id$tag 变量。示例:http://your-server.com/postbackscript?id=$id&tag=$tag。特殊字符会进行 URL 编码。
pingback_urlstring完成通知地址,可选。任务完成后,本平台会向该地址发送 GET 请求。支持在 URL 中使用 $id$tag 变量。示例:http://your-server.com/pingscript?id=$id&tag=$tag。特殊字符会进行 URL 编码。

响应说明

接口返回 JSON 数据,已创建任务的信息。

顶层字段

字段名类型说明
versionstring当前 API 版本
status_codeinteger通用状态码,完整错误码见参考文档 /v3/appendix/errors
status_messagestring通用状态信息
timestring执行耗时,单位秒
costfloat本次请求总费用,单位 USD
tasks_countintegertasks 数组中的任务数量
tasks_errorinteger返回错误的任务数量
tasksarray任务数组

tasks 数组字段

字段名类型说明
idstring本平台中的唯一任务 ID,UUID 格式
status_codeinteger任务状态码,范围通常为 10000-60000
status_messagestring任务状态信息
timestring任务执行耗时
costfloat任务费用,单位 USD
result_countintegerresult 数组中的数量
patharrayURL 路径信息
dataobject与创建任务时相同的参数集合
resultarray / null结果数组;在任务创建接口中通常为 null

请求示例

cURL

bash
curl --location --request POST "https://api.seermartech.cn/v3/business_data/tripadvisor/reviews/task_post" \
--header "Authorization: Bearer smt_live_YOUR_KEY" \
--header "Content-Type: application/json" \
--data-raw '[
 {
 "url_path": "Hotel_Review-g60763-d23462501-Reviews-Margaritaville_Times_Square-New_York_City_New_York.html",
 "location_code": 1003854,
 "pingback_url": "https://your-server.com/pingback.php?id=$id&tag=$tag",
 "tag": "some_string_123"
 }
]'

Python

python
import requests

url = "https://api.seermartech.cn/v3/business_data/tripadvisor/reviews/task_post"
headers = {
 "Authorization": "Bearer smt_live_YOUR_KEY",
 "Content-Type": "application/json"
}

data = [
 {
 "url_path": "Hotel_Review-g60763-d23462501-Reviews-Margaritaville_Times_Square-New_York_City_New_York.html",
 "location_code": 1003854,
 "pingback_url": "https://your-server.com/pingback.php?id=$id&tag=$tag",
 "tag": "some_string_123"
 },
 {
 "url_path": "Hotel_Review-g60763-d23462501-Reviews-Margaritaville_Times_Square-New_York_City_New_York.html",
 "location_code": 1003854,
 "pingback_url": "https://your-server.com/pingback.php?id=$id&tag=$tag",
 "priority": 2,
 "tag": "some_string_123"
 },
 {
 "url_path": "Hotel_Review-g60763-d23462501-Reviews-Margaritaville_Times_Square-New_York_City_New_York.html",
 "location_code": 1003854,
 "postback_url": "https://your-server.com/postbackscript",
 "tag": "some_string_123"
 }
]

resp = requests.post(url, headers=headers, json=data)
print(resp.json)

TypeScript

typescript
import axios from "axios";

const postArray = [
 {
 url_path: "Hotel_Review-g60763-d23462501-Reviews-Margaritaville_Times_Square-New_York_City_New_York.html",
 location_code: 1003854,
 pingback_url: "https://your-server.com/pingback.php?id=$id&tag=$tag",
 tag: "some_string_123",
 }
];

axios({
 method: "post",
 url: "https://api.seermartech.cn/v3/business_data/tripadvisor/reviews/task_post",
 headers: {
 Authorization: "Bearer smt_live_YOUR_KEY",
 "Content-Type": "application/json",
 },
 data: postArray,
})
 .then((response) => {
 // 输出任务创建结果
 console.log(response.data);
 })
 .catch((error) => {
 console.error(error);
 });

响应示例

json
{
 "version": "0.1.20210917",
 "status_code": 20000,
 "status_message": "Ok.",
 "time": "0.1883 sec.",
 "cost": 0.00075,
 "tasks_count": 1,
 "tasks_error": 0,
 "tasks": [
 {
 "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
 "status_code": 20000,
 "status_message": "Ok.",
 "time": "0.0000 sec.",
 "cost": 0.00075,
 "result_count": 1,
 "path": [
 "v3",
 "business_data",
 "tripadvisor",
 "reviews",
 "task_post"
 ],
 "data": {
 "api": "business_data",
 "function": "reviews",
 "se": "tripadvisor",
 "url_path": "Hotel_Review-g60763-d23462501-Reviews-Margaritaville_Times_Square-New_York_City_New_York.html",
 "pingback_url": "https://your-server.com/pingback.php?id=$id&tag=$tag",
 "tag": "some_string_123",
 "language_name": "English",
 "language_code": "en",
 "location_name": "United States",
 "device": "desktop",
 "os": "windows"
 },
 "result": null
 }
 ]
}

状态码与错误处理

  • 20000:请求成功
  • 40006:单次 POST 中的任务数 100
  • 通用错误码请参考 /v3/appendix/errors

建议在接时做好以下处理:

  • 校验顶层 status_code 与任务级 status_code
  • tasks_error 大于 0 的进行重试或记录
  • 对回调时、回调失败设置底拉取机制
  • 根据 cost 字段做扣费核对

使用建议

  1. 优传 url_path:比方式更稳定、准确。
  2. depth 建议按 10 的倍数设置:有助于更符合接口处理与计费逻辑。
  3. 回调与主动拉取结合使用:生产环境建议同时保存任务 id,回调失败导致结果丢失。
  4. 在时使用语言参数:因为会额外收费。

实用场景

  • 监控口碑变化:定期采集指定评论,跟踪评分分布、评论和时间趋势,及时发现服务问题。
  • 筛选差评进行预警:结合 ratings 过滤 poorterrible 评论,快速定位高风险门店并推动运营介。
  • 分析不同客群反馈:通过 visit_type 区分家庭、、商务等用户评价,识别不同客群的点和满意度差异。
  • 定位特定话题评论:使用 search_reviews_keyword 检索如“dessert”“cleanliness”“service”等,产品、服务和优化。
  • 按月份回溯体验:结合 months 筛选不同出行月份的评论,分析旺季与淡季的体验差异,为营销和资源提供依据。

统一入口:官网 · LLM API · 控制台