Skip to content

On-Page 任务就绪列表

接口说明

/v3/on_page/tasks_ready 用于获取已经执行完成、但结果尚未被拉取的 On-Page 任务列表。

调用方式:

GET https://api.seermartech.cn/v3/on_page/tasks_ready

该接口适合用于轮询已完成任务,再根据返回的任务 id 继续请求对应结果接口(例如 /v3/on_page/summary/{id})。

计费与调用限制

  • 获取该列表不额外收费
  • 实扣费以响应头 X-SeerMarTech-Charge-CNY 为准
  • 已完成的任务会保留在列表中,直到结果被成功拉取
  • 单次调用最多返回过去 3 天完成的 1000 个任务
  • 已经拉取过结果的任务不会再出现在列表中
  • 完成后** 3 天仍未拉取**的任务,也不会继续保留在列表中
  • 调用频率上限:每分钟 20 次

说明:本接口通常返回 cost: 0,即不产生额外费用。

请求信息

请求方法

GET

请求地址

bash
https://api.seermartech.cn/v3/on_page/tasks_ready

请求头

请求头类型是否填说明
Authorizationstring认证信息,格式:Bearer smt_live_YOUR_KEY
Content-Typestring固定为 application/json

响应结构

接口返回 JSON 对象,顶层 tasks 数组每个表示一个任务执行结果容器。

顶层字段

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

tasks[] 字段

字段名类型说明
idstring当前任务对象的唯一标识,UUID 格式
status_codeinteger任务状态码,范围通常为 10000-60000;完整列表参考 /v3/appendix/errors
status_messagestring任务状态说明
timestring该任务处理耗时,单位秒
costfloat该任务费用,单位 USD
result_countintegerresult 数组中的数量
patharray当前请求的 URL 路径信息
dataarray / object请求 URL 中携带的参数
resultarray已完成任务列表

tasks[].result[] 字段

字段名类型说明
idstring已完成任务的任务 ID,UUID 格式
targetstring创建任务时指定的目标网站
date_postedstring任务提交时间,UTC 格式
tagstring自定义任务标识

使用流程建议

  1. 调用 /v3/on_page/tasks_ready 获取已完成但未拉取的任务;
  2. tasks[].result[] 中读取每个任务的 id
  3. 再调用对应结果接口获取明细,例如:
  • /v3/on_page/summary/{id}
  1. 成功拉取后,该任务通常不会再出现在就绪列表中。

请求示例

cURL

bash
curl --location --request GET "https://api.seermartech.cn/v3/on_page/tasks_ready" \
--header "Authorization: Bearer smt_live_YOUR_KEY" \
--header "Content-Type: application/json"

Python

python
import requests

url = "https://api.seermartech.cn/v3/on_page/tasks_ready"
headers = {
 "Authorization": "Bearer smt_live_YOUR_KEY",
 "Content-Type": "application/json"
}

# 获取已完成但尚未获取结果的任务列表
response = requests.get(url, headers=headers)
data = response.json

if data.get("status_code") == 20000:
 print(data)
 # 可继续遍历 result 中的任务 id,再请求接口
else:
 print(f'error. Code: {data.get("status_code")} Message: {data.get("status_message")}')

TypeScript

typescript
import axios from "axios";

axios({
 method: "get",
 url: "https://api.seermartech.cn/v3/on_page/tasks_ready",
 headers: {
 Authorization: "Bearer smt_live_YOUR_KEY",
 "Content-Type": "application/json",
 },
})
 .then(function (response) {
 // 返回结果数据
 console.log(response.data);
 })
 .catch(function (error) {
 console.error(error);
 });

拉取完成任务后继续获取结果示例

下面示例演示:获取已完成任务列表,再根据任务 id 请求 /v3/on_page/summary/{id}

Python

python
import requests

headers = {
 "Authorization": "Bearer smt_live_YOUR_KEY",
 "Content-Type": "application/json"
}

# 第一步:获取已完成任务列表
ready_url = "https://api.seermartech.cn/v3/on_page/tasks_ready"
ready_resp = requests.get(ready_url, headers=headers).json

results = []

if ready_resp.get("status_code") == 20000:
 for task in ready_resp.get("tasks", []):
 for item in task.get("result", []):
 task_id = item.get("id")
 if task_id:
 # 第二步:根据任务 id 获取对应结果
 summary_url = f"https://api.seermartech.cn/v3/on_page/summary/{task_id}"
 summary_resp = requests.get(summary_url, headers=headers).json
 results.append(summary_resp)

print(results)

响应示例

json
{
 "version": "0.1.20200805",
 "status_code": 20000,
 "status_message": "Ok.",
 "time": "0.2772 sec.",
 "cost": 0,
 "tasks_count": 1,
 "tasks_error": 0,
 "tasks": [
 {
 "id": "a6f0d9d2-7d7c-4d31-9d8d-1234567890ab",
 "status_code": 20000,
 "status_message": "Ok.",
 "time": "0 sec.",
 "cost": 0,
 "result_count": 1,
 "path": [
 "v3",
 "on_page",
 "tasks_ready"
 ],
 "data": {
 "api": "on_page",
 "function": "tasks_ready"
 },
 "result": [
 {
 "id": "3f3a6b0d-2b6f-4f78-8e4b-abcdef123456",
 "target": "example.com",
 "date_posted": "2024-01-15 10:20:30 +00:00",
 "tag": "weekly-crawl-project-a"
 }
 ]
 }
 ]
}

常见状态码

状态码含义
20000请求成功
10000-60000任务级状态码范围,表示处理状态或错误信息
错误码参考 /v3/appendix/errors

注意事项

  • 该接口只返回已完成但尚未拉取的任务
  • 不会返回已经获取过结果的任务
  • 不会返回完成时间 3 天但未拉取的任务
  • 建议结合定时轮询机制使用,遗漏结果
  • 若任务量较大,建议按固定频率轮询,并及时消费返回的任务 ID

实用场景

  • 轮询已完成抓取任务:自动发现哪些站点页面分析任务已执行完毕,减少无效查询与时间。
  • 批量拉取页面审计结果:获取就绪任务,再按 id 批量请求摘要或,提升技术 SEO 数据回收效率。
  • 监控多项目爬取队列:结合 tag 区分不同客户或项目,快速判断各项目最近完成了哪些页面分析任务。
  • 构建异步任务消费系统:将本接口作为任务完成通知,驱动数据处理、告警或报表生成流程。
  • 排查结果遗漏问题:通过检查最近 3 天未拉取的已完成任务,及时补采分析结果, SEO 审计数据缺失。

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