主题
设置 Google Dataset Info 任务
POST /v3/serp/google/dataset_info/task_post
本接口使用 POST 方法,路径为:
POST https://api.seermartech.cn/v3/serp/google/dataset_info/task_post
Google Dataset Info 接口用于获取指定数据集的详细信息。返回来自搜索结果页中独立展示的数据集页面,通常数据集、、许可协议和描述等信息。
任务支持两种执行优级:
1:普通优级,默认值2:高优级,执行速度更快,费用更高
请求说明
- 请求方法:
POST - 请求头:
Content-Type: application/json - 请求体为 UTF-8 编码的 JSON 数组,格式为
[{ ... }] - 单次请求最多提交 100 个任务 平台限流以认证说明中的 30/60/120 次/分钟规则为准 -过单次 100 个任务限制的部分将返回错误码
40006 - 任务提交成功后,可通过返回结果中的任务
id获取任务状态和结果 - 也可以通过
pingback_url或postback_url接收任务完成通知
如果回调服务器在 10 秒未返回响应,连接将因时中断,任务会转移至任务就绪列表。
计费说明
本接口在提交任务时计费。高优级任务会产生更高费用。
扣费以响应头 X-SeerMarTech-Charge-CNY 为准。
请求参数
主要参数
| 参数 | 类型 | 填 | 说明 |
|---|---|---|---|
dataset_id | string | 是 | 数据集 ID。可从数据集 URL 或 Google Dataset Search 返回结果中的 dataset 项获取。示例:L2cvMTFqbl85ZHN6MQ== |
language_code | string | 否 | 搜索引擎语言代码。使用此参数后无需再指定 language_name。可选值:en |
priority | integer | 否 | 任务执行优级。1 表示普通优级,默认值;2 表示高优级。高优级任务费用更高 |
device | string | 否 | 设备类型。用于指定返回结果对应的设备。可选值:desktop |
pingback_url | string | 否 | 任务完成通知地址。任务完成后,本平台会向该地址发送 GET 请求。URL 中可使用 $id 和 $tag 占位符,系统会替换为任务 ID 和 URL 编码后的标签值。示例:https://your-server.com/pingscript?id=$id&tag=$tag |
postback_url | string | 否 | 任务结果回传地址。任务完成后,本平台会以 POST 方式将 gzip 压缩后的结果发送到该地址。URL 中可使用 $id 和 $tag 占位符。示例:https://your-server.com/postbackscript?id=$id&tag=$tag |
postback_data | string | 条件填 | postback_url 的回传数据类型。指定 postback_url 时传。可选值:advanced |
> pingback_url 和 postback_url 中的特殊字符会进行 URL 编码,例如 # 会编码为 %23。
附加参数
| 参数 | 类型 | 填 | 说明 |
|---|---|---|---|
language_name | string | 否 | 搜索引擎语言名称。使用此参数后无需再指定 language_code。可选值:English |
os | string | 否 | 设备操作系统。可选值:windows、macos。默认值:windows |
tag | string | 否 | 用户自定义任务标识,最长 255 个字符。可用于识别任务并将任务与结果匹。提交的值会出现在响应的 data 对象中 |
language_code 与 language_name 二选一即可,不建议同时传。
请求示例
curl
bash
curl --location --request POST \
'https://api.seermartech.cn/v3/serp/google/dataset_info/task_post' \
--header 'Authorization: Bearer smt_live_YOUR_KEY' \
--header 'Content-Type: application/json' \
--data-raw '[
{
"dataset_id": "L2cvMTFqbl85ZHN6MQ=="
},
{
"dataset_id": "L2cvMTFqbl85ZHN6MQ==",
"priority": 2,
"tag": "some_string_123",
"pingback_url": "https://your-server.com/pingscript?id=$id&tag=$tag"
}
]'Python
python
import requests
url = "https://api.seermartech.cn/v3/serp/google/dataset_info/task_post"
headers = {
"Authorization": "Bearer smt_live_YOUR_KEY",
"Content-Type": "application/json",
}
# 请求体是 JSON 数组
payload = [
{
"dataset_id": "L2cvMTFqbl85ZHN6MQ=="
},
{
"dataset_id": "L2cvMTFqbl85ZHN6MQ==",
"priority": 2,
"tag": "some_string_123",
"pingback_url": "https://your-server.com/pingscript?id=$id&tag=$tag"
}
]
response = requests.post(url, headers=headers, json=payload, timeout=30)
result = response.json()
if result.get("status_code") == 20000:
print(result)
else:
print(
"请求失败,错误码:%s,错误信息:%s"
% (result.get("status_code"), result.get("status_message"))
)TypeScript
typescript
import axios from "axios";
const payload = [
{
dataset_id: "L2cvMTFqbl85ZHN6MQ==",
},
{
dataset_id: "L2cvMTFqbl85ZHN6MQ==",
priority: 2,
tag: "some_string_123",
pingback_url: "https://your-server.com/pingscript?id=$id&tag=$tag",
},
];
axios
.post(
"https://api.seermartech.cn/v3/serp/google/dataset_info/task_post",
payload,
{
headers: {
Authorization: "Bearer smt_live_YOUR_KEY",
"Content-Type": "application/json",
},
}
)
.then((response) => {
console.log(response.data);
})
.catch((error) => {
console.error(error.response?.data || error.message);
});响应说明
接口返回 JSON 对象 tasks 数组。每个数组对应一个提交的任务。
顶层响应字段
| 字段 | 类型 | 说明 |
|---|---|---|
version | string | 当前 API 版本 |
status_code | integer | 局状态码。20000 表示请求成功 |
status_message | string | 局状态信息 |
time | string | 请求执行耗时,单位为秒 |
cost | float | 平台原始 USD 成本兼容字段;人民币实扣以 X-SeerMarTech-Charge-CNY 为准。 |
tasks_count | integer | tasks 数组中的任务数量 |
tasks_error | integer | tasks 数组中返回错误的任务数量 |
tasks | array | 提交任务的详细信息 |
tasks 数组字段
| 字段 | 类型 | 说明 |
|---|---|---|
id | string | 任务唯一标识,UUID 格式 |
status_code | integer | 任务状态码,通常在 10000 至 60000 范围 |
status_message | string | 任务状态信息 |
time | string | 任务处理耗时,单位为秒 |
cost | float | 平台原始 USD 成本兼容字段;人民币实扣以 X-SeerMarTech-Charge-CNY 为准。 |
result_count | integer | result 数组中的数量 |
path | array | 请求路径 |
data | object | 本次请求中提交的任务参数 |
result | array或 null | 任务结果。任务提交接口返回时通常为 null,需通过任务查询接口获取最终结果 |
响应示例
json
{
"version": "0.1.20221214",
"status_code": 20000,
"status_message": "Ok.",
"time": "0.0825 sec.",
"cost": 0.0006,
"tasks_count": 1,
"tasks_error": 0,
"tasks": [
{
"id": "072 abab5c-7f5d-4f54-9e3d-123456789abc",
"status_code": 20100,
"status_message": "Task Created.",
"time": "0.0123 sec.",
"cost": 0.0006,
"result_count": 0,
"path": [
"v3",
"serp",
"google",
"dataset_info",
"task_post"
],
"data": {
"api": "serp",
"function": "task_post",
"se": "google",
"se_type": "dataset_info",
"dataset_id": "L2cvMTFqbl85ZHN6MQ==",
"device": "desktop",
"os": "windows"
},
"result": null
}
]
}> 示例中的 id 为演示值。任务 ID 由本平台返回。
错误处理
请根据顶层 status_code、任务级 status_code 及对应的 status_message 判断请求和任务是否成功。
建议客户端至少处理以下:
- 请求整体失败
- 单个或部分任务提交失败
- 单次提交任务数 100 个,返回错误码
40006 - 回调地址无法访问或未在 10 秒响应
- 参数缺失或参数值不符合范围
实用场景
- 提取搜索结果中的数据集,补数据集、、许可协议和描述信息,支持数据资源目录建设。
- 批量采集目标数据集数据,统一整理多个数据集的来源与属性,提升竞品研究和行业数据分析效率。
- 使用高优级任务快速获取重点数据集信息,缩短专题研究或实时监测的时间。
- 通过
tag标记业务任务,将 API 返回结果与项目、客户或集合,便于后续归档和追踪。 - **
postback_url或pingback_url接收完成通知**,减少轮询请求,及时触发数据库、报告生成或 SEO 监控流程。