主题
本平台 Labs 任务 ID 列表
接口说明
该接口用于获取指定时间范围创建的所有 Labs 任务 ID 及数据已成功完成和未完成的任务。
注意事项:
- 可查询的时间范围最长为最近 6 个月
- 只有在
include_metadata=true时,且任务创建时间位于最近 1 个月,才可返回数据 - 单次请求最多返回 1000 个任务 ID
- 调用频率限制为 10 次/分钟
- 本接口不收费,扣费以响应头
X-SeerMarTech-Charge-CNY为准
请求地址
POST https://api.seermartech.cn/v3/dataforseo_labs/id_list
请求格式
所有 POST 数据使用 JSON(UTF-8 编码),请求体格式为 JSON 数组:
json
[
{
"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
}
]请求参数
| 字段名 | 类型 | 说明 |
|---|---|---|
datetime_from | string | 结果过滤起始时间,填。当 include_metadata=true 时,最早只能指定到当前时间往前 1 个月;当 include_metadata=false 时,最早可指定到当前时间往前 6 个月。使用 UTC 时间格式:yyyy-mm-dd hh-mm-ss +00:00。示例:2023-01-15 12:57:46 +00:00 |
datetime_to | string | 结果过滤结束时间,填。最大值为当前时间。使用 UTC 时间格式:yyyy-mm-dd hh-mm-ss +00:00。示例:2023-01-31 13:57:46 +00:00 |
limit | integer | 返回任务 ID 的最大数量。可选,默认 1000,最大 1000 |
offset | integer | 返回结果中的偏移量。可选,默认 0。例如设置为 10 时,将跳过前 10 条任务记录 |
sort | string | 按任务执行时间排序。可选,取值:"asc"、"desc",默认 "asc" |
include_metadata | boolean | 是否在响应中任务数据。可选,默认 false |
响应结构
接口返回 JSON 数据,顶层 tasks 数组,每个任务项中对应请求的执行结果。
顶层字段
| 字段名 | 类型 | 说明 |
|---|---|---|
version | string | 当前 API 版本 |
status_code | integer | 整体状态码,可参考 /v3/appendix/errors |
status_message | string | 整体状态信息,可参考 /v3/appendix/errors |
time | string | 总执行时间,单位秒 |
cost | float | 本次请求总成本,单位 USD |
tasks_count | integer | tasks 数组中的任务数量 |
tasks_error | integer | tasks 数组中返回错误的任务数量 |
tasks | array | 任务数组 |
tasks[] 字段
| 字段名 | 类型 | 说明 |
|---|---|---|
id | string | 任务唯一标识,UUID 格式 |
status_code | integer | 任务状态码,范围通常为 10000-60000,可参考 /v3/appendix-errors/ |
status_message | string | 任务状态信息,可参考 /v3/appendix-errors/ |
time | string | 任务执行时间,单位秒 |
cost | float | 该任务成本,单位 USD |
result_count | integer | result 数组中的数量 |
path | array | 请求路径 |
data | object | 与请求体中提交的参数一致 |
result | array | 结果数组 |
result[] 字段
| 字段名 | 类型 | 说明 |
|---|---|---|
id | string | 任务 ID |
url | string | 任务请求地址 |
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 |
metadata | object | 任务数据,即创建任务时传的参数;在满足条件时返回 |
认证方式
请在请求头中使用 Bearer Token:
http
Authorization: Bearer smt_live_YOUR_KEY
Content-Type: application/json请求示例
cURL
bash
curl --location --request POST "https://api.seermartech.cn/v3/dataforseo_labs/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
}
]'Python
python
import requests
url = "https://api.seermartech.cn/v3/dataforseo_labs/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)
print(response.json)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({
method: "post",
url: "https://api.seermartech.cn/v3/dataforseo_labs/id_list",
headers: {
Authorization: "Bearer smt_live_YOUR_KEY",
"Content-Type": "application/json"
},
data: payload
})
.then((response) => {
console.log(response.data);
})
.catch((error) => {
console.error(error);
});响应示例
json
{
"version": "0.1.20221214",
"status_code": 20000,
"status_message": "Ok.",
"time": "0.2807 sec.",
"cost": 0,
"tasks_count": 1,
"tasks_error": 0,
"tasks": [
{
"data": {
"api": "dataforseo_labs",
"function": "id_list",
"datetime_from": "2023-01-11 00:00:00 +02:00",
"datetime_to": "2023-02-10 17:47:00 +02:00",
"limit": 100,
"sort": "desc",
"include_metadata": true
},
"result": [
{
"id": "02101735-4426-0398-0000-6533c5212c2a",
"url": "v3/dataforseo_labs/google/keywords_for_site/live",
"datetime_posted": "2023-02-10 15:35:51 +00:00",
"datetime_done": "2023-02-10 15:35:51 +00:00",
"status": "20000",
"cost": 0.0103,
"metadata": {
"api": "dataforseo_labs",
"function": "keywords_for_site",
"se_type": "google",
"target": "apple.com",
"language_code": "en",
"location_code": 2840,
"include_serp_info": true,
"include_subdomains": true,
"filters": [],
"order_by": [],
"limit": 3
}
}
]
}
]
}状态码说明
- 顶层
status_code表示整个请求的处理状态 tasks[].status_code表示单个任务的处理状态- 常见成功状态码为
20000 - 完整错误码与状态说明请参考
/v3/appendix/errors或/v3/appendix-errors/
使用建议
- 若需批量获取任务 ID,建议将
include_metadata设为false,以支持更长的可查询时间范围 - 若需要追踪任务的创建参数,可将
include_metadata设为true,但适用于最近 1 个月的任务 - 当任务量较大时,可结合
limit与offset分页获取结果 - 建议按
datetime_posted或执行时间顺序定期轮询,便于构建任务审计与同步流程
实用场景
- 追踪任务投放记录:按时间范围拉取历史任务 ID,快速核对某段时间提交过哪些 Labs 分析任务
- 审计异常任务:结合
status、datetime_done和数据,排查未完成、失败或执行异常的任务来源 - 回溯分析参数:开启
include_metadata后查看任务创建时的参数,便于复现历史 SEO 分析过程 - 构建任务同步服务:使用
limit与offset分页拉取任务列表,同步到数据库做归档和监控 - 统计调用成本与规模:基于任务列表中的
cost、时间和任务类型字段,分析不同 SEO 研究任务的资源消耗与使用频率