主题
提交 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=$idhttp://your-server.com/postbackscript?id=$id&tag=$taghttp://your-server.com/pingscript?id=$idhttp://your-server.com/pingscript?id=$id&tag=$tag
注意:
postback_url和pingback_url中的特殊字符会被 URL 编码- 例如
#会被编码为%23 - 如果你的服务器在 10 秒未响应,连接会因时中断,任务会转
/v3/business_data/trustpilot/search/tasks_ready列表,后续可从该列表拉取已完成任务
请求参数
| 字段 | 类型 | 说明 |
|---|---|---|
keyword | string | 填。搜索,应表示企业名称或业务类别。最长 700 个字符。所有 %## 会被解码,+ 会被解码为空格。如需传字面量 %,请写为 %25。 |
priority | integer | 可选。任务优级。1 = 普通优级(默认),2 = 高优级。高优级通常会更快执行,但会额外收费。扣费以响应头 X-SeerMarTech-Charge-CNY 为准。 |
depth | integer | 可选。返回的搜索结果数量。默认 10,最大 140。建议设置为 20 的倍数,因为系统按连续 20 条结果批量处理。按每 10 条结果计费。 |
tag | string | 可选。自定义任务标识,最长 255 字符。可用于结果对账、任务追踪;返回结果中的 data 对象会原样带回该值。 |
postback_url | string | 可选。任务完成后接收完整结果的回调地址,平台将以 POST 推送 gzip 压缩结果。支持 $id 与 $tag 变量。 |
pingback_url | string | 可选。任务完成通知地址,平台将以 GET 请求通知。支持 $id 与 $tag 变量。 |
响应结构
接口返回 JSON 数据,顶层 tasks 数组,用于描述本次提交的任务状态。
顶层字段
| 字段 | 类型 | 说明 |
|---|---|---|
version | string | 当前 API 版本 |
status_code | integer | 通用状态码。完整错误码请参考 /v3/appendix/errors |
status_message | string | 通用状态信息 |
time | string | 执行耗时,单位秒 |
cost | float | 本次请求总费用 |
tasks_count | integer | tasks 数组中的任务数量 |
tasks_error | integer | tasks 数组中返回错误的任务数量 |
tasks | array | 任务数组 |
tasks[] 字段
| 字段 | 类型 | 说明 |
|---|---|---|
id | string | 平台唯一任务 ID,UUID 格式 |
status_code | integer | 任务状态码,通常在 10000-60000 范围 |
status_message | string | 任务状态说明 |
time | string | 该任务执行耗时,单位秒 |
cost | float | 该任务费用 |
result_count | integer | result 数组中的数量 |
path | array | API 路径 |
data | object | 回显你提交的任务参数 |
result | array | 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设置为20、40、60等 20 的倍数 - 若对实时性要求较高,可使用
priority=2 - 若任务量较大,推荐结合
tag、postback_url或pingback_url做异步追踪
实用场景
- 检索品牌口碑:按企业名批量搜索 Trustpilot 企业资料页,快速定位品牌评价,便于舆监测与声誉管理。
- 挖掘行业评价对象:业务类别,批量发现同赛道企业页面,用于竞品研究和行业口碑对比。
- 构建评论抓取前置队列:通过搜索任务拿到目标企业资料,再衔接后续评论明细接口,提升评论采集准确率。
- 监控多品牌覆盖:为多个品牌异步任务与回调,自动追踪是否存在平台资料页,海外品牌资产巡检。
- 支持本地化市场研究:按细分行业词搜索不同企业资料,评估某一类服务在评价平台上的活跃度与竞争密度。