Skip to content

提交 Trustpilot 企业搜索任务

POST /v3/business_data/trustpilot/search/task_post

该接口用于创建 Trustpilot 企业搜索任务。任务完成后,可返回与指定 keyword 的企业资料列表。

keyword 适合传企业名称业务类别,例如“pizza restaurant”。

接口地址

POST https://api.seermartech.cn/v3/business_data/trustpilot/search/task_post

计费说明

本接口的费用由两部分组成:

  • 创建任务本身的费用
  • 返回搜索结果数量对应的费用

注意:按每 10 条搜索结果计费。 例如设置 "depth": 11 时,将按 20 条结果计费。

depth 默认值为 10,当返回结果 10 条时,通常会产生额外扣费。

由于原始价格会随平台调整,本文不固定展示单价。扣费以响应头 X-SeerMarTech-Charge-CNY 为准

请求说明

  • 请求方法:POST
  • 请求体格式:JSON
  • 编码:UTF-8
  • 请求体为 JSON 数组[{ ... }]

限流与任务提交规则

  • 每分钟最多可提交 30 次 API 调用
  • 每次 POST 最多可 100 个任务
  • 若单次请求中任务数 100,出的任务会返回错误码 40006

异步处理说明

创建任务后,你可以通过返回的唯一任务 ID 获取结果。

也可以在创建任务时指定以下回调地址:

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

支持在回调 URL 中使用以下变量:

  • $id:任务 ID
  • $tag:你提交的 tag,会进行 URL 编码

示例:

  • http://your-server.com/postbackscript?id=$id
  • http://your-server.com/postbackscript?id=$id&tag=$tag
  • http://your-server.com/pingscript?id=$id
  • http://your-server.com/pingscript?id=$id&tag=$tag

注意:

  • postback_urlpingback_url 中的特殊字符会被 URL 编码
  • 例如 # 会被编码为 %23
  • 如果你的服务器在 10 秒未响应,连接会因时中断,任务会转 /v3/business_data/trustpilot/search/tasks_ready 列表,后续可从该列表拉取已完成任务

请求参数

字段类型说明
keywordstring。搜索,应表示企业名称或业务类别。最长 700 个字符。所有 %## 会被解码,+ 会被解码为空格。如需传字面量 %,请写为 %25
priorityinteger可选。任务优级。1 = 普通优级(默认),2 = 高优级。高优级通常会更快执行,但会额外收费。扣费以响应头 X-SeerMarTech-Charge-CNY 为准。
depthinteger可选。返回的搜索结果数量。默认 10,最大 140。建议设置为 20 的倍数,因为系统按连续 20 条结果批量处理。按每 10 条结果计费。
tagstring可选。自定义任务标识,最长 255 字符。可用于结果对账、任务追踪;返回结果中的 data 对象会原样带回该值。
postback_urlstring可选。任务完成后接收完整结果的回调地址,平台将以 POST 推送 gzip 压缩结果。支持 $id$tag 变量。
pingback_urlstring可选。任务完成通知地址,平台将以 GET 请求通知。支持 $id$tag 变量。

响应结构

接口返回 JSON 数据,顶层 tasks 数组,用于描述本次提交的任务状态。

顶层字段

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

tasks[] 字段

字段类型说明
idstring平台唯一任务 ID,UUID 格式
status_codeinteger任务状态码,通常在 10000-60000 范围
status_messagestring任务状态说明
timestring该任务执行耗时,单位秒
costfloat该任务费用
result_countintegerresult 数组中的数量
patharrayAPI 路径
dataobject回显你提交的任务参数
resultarray | null任务提交成功时,此处通常为 null,结果需后续查询或通过回调接收

请求示例

curl

bash
curl --location --request POST "https://api.seermartech.cn/v3/business_data/trustpilot/search/task_post" \
--header "Authorization: Bearer smt_live_YOUR_KEY" \
--header "Content-Type: application/json" \
--data-raw '[
 {
 "keyword": "pizza restaurant"
 },
 {
 "keyword": "pizza restaurant",
 "depth": 20,
 "priority": 2
 },
 {
 "keyword": "pizza restaurant",
 "postback_url": "https://your-server.com/postbackscript"
 }
]'

Python

python
import requests

url = "https://api.seermartech.cn/v3/business_data/trustpilot/search/task_post"
headers = {
 "Authorization": "Bearer smt_live_YOUR_KEY",
 "Content-Type": "application/json"
}
data = [
 {
 "keyword": "pizza restaurant"
 },
 {
 "keyword": "pizza restaurant",
 "depth": 20,
 "priority": 2,
 "tag": "some_string_123",
 "pingback_url": "https://your-server.com/pingscript?id=$id&tag=$tag"
 },
 {
 "keyword": "pizza restaurant",
 "postback_url": "https://your-server.com/postbackscript"
 }
]

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

TypeScript

typescript
import axios from "axios";

const postArray = [
 {
 keyword: "pizza restaurant"
 },
 {
 keyword: "pizza restaurant",
 depth: 20,
 priority: 2
 },
 {
 keyword: "pizza restaurant",
 postback_url: "https://your-server.com/postbackscript"
 }
];

axios({
 method: "post",
 url: "https://api.seermartech.cn/v3/business_data/trustpilot/search/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.20220208",
 "status_code": 20000,
 "status_message": "Ok.",
 "time": "0.0970 sec.",
 "cost": 0.00075,
 "tasks_count": 1,
 "tasks_error": 0,
 "tasks": [
 {
 "id": "00000000-0000-0000-0000-000000000000",
 "status_code": 20100,
 "status_message": "Task Created.",
 "time": "0.0301 sec.",
 "cost": 0.00075,
 "result_count": 0,
 "path": [
 "v3",
 "business_data",
 "trustpilot",
 "search",
 "task_post"
 ],
 "data": {
 "api": "business_data",
 "function": "search",
 "keyword": "pizza restaurant",
 "se_type": "organic",
 "se": "trustpilot",
 "device": "desktop",
 "os": "windows"
 },
 "result": null
 }
 ]
}

状态码与错误处理

建议对以下两层状态进行处理:

  • 顶层 status_code:表示整个请求是否成功
  • 任务级 tasks[].status_code:表示单个任务是否成功创建

常见注意事项:

  • 当请求中任务数 100 时,出部分会返回 40006
  • 请根据 /v3/appendix/errors 处理通用错误码与异常场景
  • 对回调时、服务器异常、重复通知等,建议在业务侧实现幂等与重试机制

使用建议

  • keyword 尽量使用明确的企业名或行业词,结果性更高
  • 若希望覆盖更多结果,建议将 depth 设置为 204060 等 20 的倍数
  • 若对实时性要求较高,可使用 priority=2
  • 若任务量较大,推荐结合 tagpostback_urlpingback_url 做异步追踪

实用场景

  • 检索品牌口碑:按企业名批量搜索 Trustpilot 企业资料页,快速定位品牌评价,便于舆监测与声誉管理。
  • 挖掘行业评价对象:业务类别,批量发现同赛道企业页面,用于竞品研究和行业口碑对比。
  • 构建评论抓取前置队列:通过搜索任务拿到目标企业资料,再衔接后续评论明细接口,提升评论采集准确率。
  • 监控多品牌覆盖:为多个品牌异步任务与回调,自动追踪是否存在平台资料页,海外品牌资产巡检。
  • 支持本地化市场研究:按细分行业词搜索不同企业资料,评估某一类服务在评价平台上的活跃度与竞争密度。

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