主题
ID 列表
本接口使用 POST 方法,路径为:
POST https://api.seermartech.cn/v3/$path/id_list
$path须替换为 API 路径,例如:
POST https://api.seermartech.cn/v3/serp/id_list
本接口用于查询指定时间范围已创建任务的 ID 及数据,结果同时已完成任务和未完成任务。
使用限制与计费
- 日期范围最多可回溯至调用时间前 6 个月。
- 当
include_metadata为true时支持查询调用时间前 1 个月创建的任务。 - 当
include_metadata为false时,最多可查询调用时间前 6 个月的任务。 - 每分钟最多调用 10 次。
- 每次最多返回 1000 个任务 ID。
- 调用本接口本身不收费。
- 任务结果中的
cost字段用于表示对应任务成本;扣费以响应头X-SeerMarTech-Charge-CNY为准。
支持的 API 路径
$path 表示目标 API 路径,可使用以下值:
| 值 | 说明 |
|---|---|
serp | SERP 数据接口 |
ai_optimization | AI 优化接口 |
keywords_data | 数据接口 |
domain_analytics | 域名分析接口 |
dataforseo_labs | SEO 实验室接口 |
backlinks | 外链接口 |
on_page | 页面分析接口 |
content_analysis | 分析接口 |
merchant | 商业数据接口 |
app_data | 应用数据接口 |
business_data | 商户及企业数据接口 |
请求参数
请求体使用 UTF-8 编码的 JSON 数组格式:
json
[
{
"datetime_from": "2023-01-15 12:57:46 +00:00",
"datetime_to": "2023-01-31 13:57:46 +00:00"
}
]数组中的每个对象代表一组查询条件。
| 参数 | 类型 | 填 | 说明 |
|---|---|---|---|
datetime_from | string | 是 | 任务创建时间的起始值。使用 UTC 格式:yyyy-mm-dd hh-mm-ss +00:00。当 include_metadata 为 true 时,最早可查询调用时间前 1 个月;当 include_metadata 为 false 时,最早可查询调用时间前 6 个月。不得晚于当前时间。示例:2023-01-15 12:57:46 +00:00 |
datetime_to | string | 是 | 任务创建时间的结束值。格式要求与 datetime_from 相同,不得晚于当前时间,且大于 datetime_from。示例:2023-01-31 13:57:46 +00:00 |
limit | integer | 否 | 返回的最大任务数量。默认值为 1000,取值范围为 1–1000。 |
offset | integer | 否 | 结果偏移量。设置为 10 时,跳过结果数组中的前 10 个任务。默认值和最小值为 0,最大值为 100000000。 |
sort | string | 否 | 按任务执行时间排序。可选值:asc、desc。默认值为 asc。 |
include_metadata | boolean | 否 | 是否在响应中返回任务数据。设置为 true 时,响应中的 metadata 对象会创建任务时提交的参数。默认值为 false。 |
请求示例
cURL
bash
curl --location --request POST \
"https://api.seermartech.cn/v3/serp/id_list" \
--header "Authorization: Bearer smt_live_YOUR_KEY" \
--header "Content-Type: application/json" \
--data-raw '[
{
"datetime_from": "2023-01-31 00:00:00 +00:00",
"datetime_to": "2023-02-01 00:00:00 +00:00",
"limit": 100,
"offset": 0,
"sort": "desc",
"include_metadata": true
}
]'> 可将 URL 中的 serp 替换为支持的 $path,例如 /v3/backlinks/id_list 或 /v3/dataforseo_labs/id_list。
Python
python
import requests
url = "https://api.seermartech.cn/v3/serp/id_list"
headers = {
"Authorization": "Bearer smt_live_YOUR_KEY",
"Content-Type": "application/json",
}
payload = [
{
"datetime_from": "2023-01-31 00:00:00 +00:00",
"datetime_to": "2023-02-01 00:00:00 +00:00",
"limit": 100,
"offset": 0,
"sort": "desc",
"include_metadata": True,
}
]
response = requests.post(url, headers=headers, json=payload)
result = response.json()
if result.get("status_code") == 20000:
print(result)
else:
print(
"请求失败,状态码:{},消息:{}".format(
result.get("status_code"),
result.get("status_message"),
)
)TypeScript
typescript
import axios from "axios";
const payload = [
{
datetime_from: "2023-01-31 00:00:00 +00:00",
datetime_to: "2023-02-01 00:00:00 +00:00",
limit: 100,
offset: 0,
sort: "desc",
include_metadata: true,
},
];
axios
.post(
"https://api.seermartech.cn/v3/serp/id_list",
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 | 任务对应的 API 路径信息。 |
data | object | 创建任务时提交的参数。 |
result | array | 查询到的任务 ID 及任务信息列表。 |
tasks[].result 字段
| 字段 | 类型 | 说明 |
|---|---|---|
id | string | 任务 ID。 |
url | string | 创建任务时使用的 API URL 路径。 |
datetime_posted | string | 任务创建时间,使用 UTC 格式:yyyy-mm-dd hh-mm-ss +00:00。 |
datetime_done | string | 任务完成时间,使用 UTC 格式:yyyy-mm-dd hh-mm-ss +00:00。任务未完成时可能为空或不存在。 |
status | string | 任务状态说明或状态码。 |
cost | float | 平台原始 USD 成本兼容字段;人民币实扣以 X-SeerMarTech-Charge-CNY 为准。 |
metadata | object | 任务数据。当请求参数 include_metadata 为 true 时返回,为创建任务时提交的参数。 |
响应示例
json
{
"version": "0.1.20221214",
"status_code": 20000,
"status_message": "Ok.",
"time": "1.6078 sec.",
"cost": 0,
"tasks_count": 1,
"tasks_error": 0,
"tasks": [
{
"id": "01130021-4426-0139-0000-60d2806c6081",
"status_code": 20000,
"status_message": "Ok.",
"time": "0.1200 sec.",
"cost": 0,
"result_count": 2,
"path": [
"serp",
"google",
"dataset_search",
"live",
"advanced"
],
"data": {
"api": "serp",
"function": "id_list",
"datetime_from": "2023-01-07 00:00:00 +00:00",
"datetime_to": "2023-02-01 00:00:00 +00:00",
"limit": 100,
"sort": "desc",
"include_metadata": true
},
"result": [
{
"id": "01130021-4426-0139-0000-60d2806c6081",
"url": "v3/serp/google/dataset_search/live/advanced",
"datetime_posted": "2023-01-12 22:21:18 +00:00",
"datetime_done": "2023-01-12 22:21:18 +00:00",
"status": "20000",
"cost": 0.144,
"metadata": {
"api": "serp",
"function": "live",
"se": "google",
"se_type": "dataset_search",
"keyword": "water quality",
"depth": 700,
"postback_data": "advanced",
"device": "desktop",
"os": "windows"
}
},
{
"id": "01130020-4426-0139-0000-bcded021ab37",
"url": "v3/serp/google/dataset_search/live/advanced",
"datetime_posted": "2023-01-12 22:20:17 +00:00",
"datetime_done": "2023-01-12 22:20:16 +00:00",
"status": "20000",
"cost": 0.0144,
"metadata": {
"api": "serp",
"function": "live",
"se": "google",
"se_type": "dataset_search",
"keyword": "water quality",
"postback_data": "advanced",
"device": "desktop",
"os": "windows"
}
}
]
}
]
}> 示例中的成本数值按人民币参考值展示;返回值及扣费结果以接口响应和响应头 X-SeerMarTech-Charge-CNY 为准。
状态码
- 顶层
status_code表示本次 API 请求的总体状态。 tasks[].status_code表示对应任务的处理状态。tasks_error表示返回错误的任务数量。- 当
status_code不为20000时,应结合status_message定位请求问题。
实用场景
- 查询历史任务 ID:按时间范围获取已创建任务的 ID,便于批量追踪任务状态和建立任务审计记录。
- 恢复未完成任务:筛选指定时间段尚未完成的任务,帮助系统在服务重启或网络异常后继续轮询。
- 同步任务数据:开启
include_metadata获取任务提交参数,用于将、搜索引擎、设备等信息同步到数据仓库。 - 构建任务成本报表:读取任务级
cost字段,按接口类型、项目或时间周期统计 SEO 数据采集成本。 - 执行分页归档:结合
limit、offset和sort分页拉取历史任务,支持大规模任务记录归档与运营分析。