Skip to content

创建 ChatGPT LLM Scraper 任务

接口说明

该接口用于提交 ChatGPT LLM Scraper 抓取任务,用于获取 ChatGPT 搜索结果。返回会受到所选地区语言参数影响。

接口支持两种执行优级:

  • 1:普通优级(默认)
  • 2:高优级

高优级通常能更快完成任务,但会产生更高费用。

请求地址

POST https://api.seermartech.cn/v3/ai_optimization/chat_gpt/llm_scraper/task_post

计费说明

本接口在创建任务时扣费。

参考价约 ¥0.0192 / 次。 如使用高优级任务,费用会更高。扣费以响应头 X-SeerMarTech-Charge-CNY 为准

请求规则

  • 请求体为 UTF-8 编码的 JSON
  • POST 请求体格式为 JSON 数组[{ ... }]
  • 每分钟最多可发起 2000 次 API 调用
  • 单次 POST 最多可 100 个任务
  • 若单次请求中任务数 100,出部分会返回错误码 40006

任务提交后,可通过返回的唯一任务标识 id 获取结果。 如果在创建任务时设置了 postback_urlpingback_url,本平台也可在任务完成后主动通知你。

注意:

  • 若你的服务器在 10 秒未响应回调请求,连接会因时中断
  • 此类任务会 /v3/ai_optimization/chat_gpt/llm_scraper/tasks_ready/ 列表,供后续拉取
  • 回调失败时的错误码与错误信息取决于你的服务端

请求参数

字段名类型说明
keywordstring。查询,最长支持 2000 个字符。所有 %## 会被解码,字符 + 会被解码为空格。如果中需要保留 %,请写为 %25;如果需要保留 +,请写为 %2B
priorityinteger可选。任务优级:1 = 普通优级(默认),2 = 高优级。高优级将额外计费。
location_namestring当未提供 location_code 时填。搜索地区名。使用该字段时无需再传 location_code。例如:United States。地区列表可通过 /v3/ai_optimization/chat_gpt/llm_scraper/locations 获取。
location_codeinteger当未提供 location_name 时填。搜索地区代码。使用该字段时无需再传 location_name。例如:2840。地区列表可通过 /v3/ai_optimization/chat_gpt/llm_scraper/locations 获取。
language_namestring当未提供 language_code 时填。搜索语言名。使用该字段时无需再传 language_code。语言列表可通过 /v3/ai_optimization/chat_gpt/llm_scraper/languages 获取。
language_codestring当未提供 language_name 时填。搜索语言代码。使用该字段时无需再传 language_name。语言列表可通过 /v3/ai_optimization/chat_gpt/llm_scraper/languages 获取。
force_web_searchboolean可选。是否强制 AI 代理使用 Web 搜索。启用后,模型会尽量访问并引用当前网页信息。默认值:false注意:即使设置为 true,也不能保证响应中一定会网页来源引用。
expand_citationsboolean可选。是否在 HTML 结果中返回展开后的引用栏数据。启用该参数前,同时启用 force_web_search。默认值:false
tagstring可选。用户自定义任务标识,最大长度 255 字符。可用于将任务结果与业务侧记录进行对应。返回结果中的 data 对象会该值。
postback_urlstring可选。任务完成后,本平台会向该地址发送结果的 POST 请求,数据采用 gzip 压缩。支持使用 $id 作为任务 ID 变量,$tag 作为 URL 编码后的 tag 变量。例如:http://your-server.com/postbackscript?id=$idhttp://your-server.com/postbackscript?id=$id&tag=$tag。注意:postback_url 中的特殊字符会被 URL 编码,例如 # 会被编码为 %23
postback_datastring当设置了 postback_url。表示回调数据类型,需与后续取数方式对应。可选值:advancedhtml
pingback_urlstring可选。任务完成后,本平台会向该地址发送 GET 通知。支持使用 $id 作为任务 ID 变量,$tag 作为 URL 编码后的 tag 变量。例如:http://your-server.com/pingscript?id=$idhttp://your-server.com/pingscript?id=$id&tag=$tag。注意:pingback_url 中的特殊字符会被 URL 编码,例如 # 会被编码为 %23

响应结构

接口返回 JSON,顶层 tasks 数组,用于描述本次提交的任务信息。

顶层字段

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

tasks[] 字段

字段名类型说明
idstring任务唯一标识,UUID 格式
status_codeinteger任务状态码,范围通常为 10000-60000
status_messagestring任务状态信息
timestring该任务处理耗时,单位秒
costfloat该任务费用,单位 USD
result_countintegerresult 数组数量
patharray请求路径
dataobject与创建任务时传参数一致的数据对象
resultarray结果数组;在创建任务接口中,该值通常为 null

请求示例

cURL

bash
curl --location --request POST "https://api.seermartech.cn/v3/ai_optimization/chat_gpt/llm_scraper/task_post" \
--header "Authorization: Bearer smt_live_YOUR_KEY" \
--header "Content-Type: application/json" \
--data-raw '[
 {
 "language_code": "en",
 "location_code": 2840,
 "keyword": "what is chatgpt"
 },
 {
 "language_name": "English",
 "location_name": "United States",
 "keyword": "what is chatgpt",
 "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/ai_optimization/chat_gpt/llm_scraper/task_post"
headers = {
 "Authorization": "Bearer smt_live_YOUR_KEY",
 "Content-Type": "application/json"
}

payload = [
 {
 # 示例 1:基础任务,指定语言、地区和
 "language_code": "en",
 "location_code": 2840,
 "keyword": "what is chatgpt"
 },
 {
 # 示例 2:附带高优级、业务标记和完成通知
 "language_name": "English",
 "location_name": "United States",
 "keyword": "what is chatgpt",
 "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)
print(response.json)

TypeScript

typescript
import axios from "axios";

const payload = [
 {
 // 示例 1:基础任务
 language_code: "en",
 location_code: 2840,
 keyword: "what is chatgpt",
 },
 {
 // 示例 2:带高优级与 pingback 回调
 language_name: "English",
 location_name: "United States",
 keyword: "what is chatgpt",
 priority: 2,
 tag: "some_string_123",
 pingback_url: "https://your-server.com/pingscript?id=$id&tag=$tag",
 },
];

axios({
 method: "post",
 url: "https://api.seermartech.cn/v3/ai_optimization/chat_gpt/llm_scraper/task_post",
 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.20250526",
 "status_code": 20000,
 "status_message": "Ok.",
 "time": "0.0764 sec.",
 "cost": 0.0012,
 "tasks_count": 1,
 "tasks_error": 0,
 "tasks": [
 {
 "data": {
 "api": "ai_optimization",
 "function": "task_post",
 "se": "chatgpt",
 "se_type": "llm_scraper",
 "language_code": "en",
 "location_code": 2840,
 "keyword": "what is chatgpt",
 "device": "desktop",
 "os": "windows"
 },
 "result": null
 }
 ]
}

状态码与错误处理

  • 20000:请求成功
  • 40006:单次 POST 中的任务数量 100,出限制的任务会报错

建议在接时做好以下处理:

  • 对顶层 status_code 和任务级 status_code 分别判断
  • 对时回调场景设计重试或补偿拉取流程
  • tasks_error 大于 0 的逐条检查失败任务
  • 以响应 cost 字段作为最终计费依据

使用建议

  1. 优使用代码型参数
  • 地区优传 location_code
  • 语言优传 language_code
  • 可减少名称匹歧义
  1. 合理使用高优级
  • 在时效性要求高的任务中启用 priority=2
  • 避不的额外成本
  1. 需要引用来源时启用 Web 搜索
  • 若希望模型尽量引用网页来源,可设置 force_web_search=true
  • 若还需要 HTML 端返回展开后的引用栏,可同时设置 expand_citations=true
  1. 批量提交时控制任务数
  • 每次提交不要 100 个任务
  • 大规模任务建议分批并发提交

实用场景

  • 监控品牌问答:定期提交品牌词、产品词到 ChatGPT 抓取任务,查看不同地区和语言下的回答呈现方式,评估品牌在 AI 搜索中的可见度。
  • 分析竞品在 AI 结果中的引用:围绕竞品名称、品类词和解决方案词抓取结果,识别竞品是否更容易被回答提及或引用,为优化提供依据。
  • 验证多地区策略:针对不同 location_codelanguage_code 提交同一问题,对比 AI 回答差异,判断本地化是否真正影响结果分发。
  • 追踪时效型话题引用来源:启用 force_web_search,观察 AI 是否引用最新网页,适合新闻、活动、价格变动等对实时信息敏感的场景。
  • 搭建异步采集流水线:结合 pingback_urlpostback_url 实现任务完成通知,自动回收结果并分析系统,提升大规模 AI 搜索监控效率。

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