主题
设置 ChatGPT LLM Scraper 任务
本接口通过 ChatGPT LLM Scraper 获取 ChatGPT 搜索结果。结果会根据指定的地区和语言返回。
请求方法与路径:
http
POST https://api.seermartech.cn/v3/ai_optimization/chat_gpt/llm_scraper/task_post本接口支持两种任务优级:
1:普通优级,默认值2:高优级,执行速度更快,需额外计费
计费说明
本接口在成功提交任务时计费。
示例响应中的任务费用为 0.0012 美,按参考汇率折算,参考价约为 ¥0.0086 / 任务。高优级任务会产生额外费用。
扣费以响应头 X-SeerMarTech-Charge-CNY 为准。
请求说明
- 请求方法:
POST - 请求体格式:JSON 数组,编码为 UTF-8
- 单次请求最多 100 个任务 平台限流以认证说明中的 30/60/120 次/分钟规则为准
- 单次请求 100 个任务时,出部分将返回错误码
40006 - 任务提交成功后,可通过返回的任务
id查询结果 - 也可以通过
postback_url或pingback_url接收任务完成通知
如果回调服务器在 10 秒未返回响应,连接将因时中断,任务会转移到“处理任务”列表。错误码和错误信息取决于回调服务器的。
请求头
http
Authorization: Bearer smt_live_YOUR_KEY
Content-Type: application/json请求参数
请求体为任务对象数组:
| 参数 | 类型 | 填 | 说明 |
|---|---|---|---|
keyword | string | 是 | 要提交给 ChatGPT 的查询,最长 2000 个字符。参数中的 %## 会被解码,字符 + 会被解码为空格。如需传递 %,请编码为 %25;如需传递 +,请编码为 %2B。 |
priority | integer | 否 | 任务优级:1 为普通优级,默认值;2 为高优级,需额外计费。 |
location_name | string | 条件填 | 搜索地区的完整名称。未提供 location_code 时填写。填写此参数后无需再填写 location_code。 |
location_code | integer | 条件填 | 搜索地区代码。未提供 location_name 时填写。填写此参数后无需再填写 location_name。 |
language_name | string | 条件填 | 搜索语言的完整名称。未提供 language_code 时填写。填写此参数后无需再填写 language_code。 |
language_code | string | 条件填 | 搜索语言代码。未提供 language_name 时填写。填写此参数后无需再填写 language_name。 |
force_web_search | boolean | 否 | 是否强制 AI 代理执行联网搜索并引用当前网页信息。默认值为 false。即使设置为 true,也不保证响应一定网页来源引用。 |
expand_citations | boolean | 否 | 是否在 HTML 结果中返回展开后的引用栏。启用此参数前,同时将 force_web_search 设置为 true。默认值为 false。 |
tag | string | 否 | 自定义任务标识,最长 255 个字符。可用于任务与结果,提交的值会出现在响应的 data 对象中。 |
postback_url | string | 否 | 任务完成后接收结果的 URL。本平台会向该地址发送 gzip 压缩结果的 POST 请求。 |
postback_data | string | 条件填 | 指定 postback_url 时填。可选值:advanced、html。 |
pingback_url | string | 否 | 任务完成后的通知 URL。本平台会向该地址发送 GET 请求。 |
地区参数
可通过以下接口获取可用地区及代码:
http
GET https://api.seermartech.cn/v3/ai_optimization/chat_gpt/llm_scraper/locations示例:
json
{
"location_name": "United States",
"location_code": 2840
}语言参数
可通过以下接口获取可用语言及代码:
http
GET https://api.seermartech.cn/v3/ai_optimization/chat_gpt/llm_scraper/languages回调 URL 占位符
postback_url 和 pingback_url 支持以下占位符:
$id:任务 ID$tag:经过 URL 编码的任务标签
示例:
text
https://your-server.com/postbackscript?id=$id&tag=$tag
https://your-server.com/pingscript?id=$id&tag=$tag发送请求前,系统会将占位符替换为值。URL 中的特殊字符会进行 URL 编码,例如 # 会编码为 %23。
请求示例
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",
}
post_data = [
{
"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",
},
]
response = requests.post(url, headers=headers, json=post_data, timeout=30)
result = response.json()
if result.get("status_code") == 20000:
print(result)
else:
print(
f"请求失败,错误码:{result.get('status_code')},"
f"错误信息:{result.get('status_message')}"
)TypeScript
typescript
import axios from "axios";
const postData = [
{
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",
},
];
axios
.post(
"https://api.seermartech.cn/v3/ai_optimization/chat_gpt/llm_scraper/task_post",
postData,
{
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 数据提交任务的信息。
| 字段 | 类型 | 说明 |
|---|---|---|
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 | 系统生成的唯一任务 ID,UUID 格式。 |
tasks[].status_code | integer | 当前任务状态码,通常在 10000 至 60000 范围。 |
tasks[].status_message | string | 当前任务状态信息。 |
tasks[].time | string | 当前任务执行耗时,单位为秒。 |
tasks[].cost | float | 平台原始 USD 成本兼容字段;人民币实扣以 X-SeerMarTech-Charge-CNY 为准。 |
tasks[].result_count | integer | result 数组中的数量。提交任务接口通常为 0。 |
tasks[].path | array | API 请求路径。 |
tasks[].data | object | 提交任务时使用的参数。 |
tasks[].result | array/null | 任务结果。任务提交接口返回 null,需要通过任务查询接口获取最终结果。 |
响应示例
json
{
"version": "0.1.20250526",
"status_code": 20000,
"status_message": "Ok.",
"time": "0.0764 sec.",
"cost": 0.0086,
"tasks_count": 1,
"tasks_error": 0,
"tasks": [
{
"id": " Marbella",
"status_code": 20100,
"status_message": "Task Created.",
"time": "0.0200 sec.",
"cost": 0.0086,
"result_count": 0,
"path": [
"v3",
"ai_optimization",
"chat_gpt",
"llm_scraper",
"task_post"
],
"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
}
]
}> 示例中的 tasks[0].id 应为系统返回的 UUID 字符串。请保存该 ID,并使用对应的任务查询接口获取最终结果。
状态码与错误处理
20000:请求成功40006:单次请求提交的任务数量 100 个tasks_error大于0:部分任务提交失败tasks[].status_code:表示单个任务的处理状态
建议在客户端同时检查以下字段:
- HTTP 状态码
- 顶层
status_code - 顶层
tasks_error - 每个任务的
status_code和status_message
实用场景
- 批量提交用户问题:按指定国家、地区和语言采集 ChatGPT 对目标问题的回答,为 AI 搜索可见性分析提供标准化样本。
- 比较不同地区的 AI 答案:使用不同的
location_code提交相同,识别地域化回答差异, SEO 和本地化策略。 - 监测品牌或产品提及:通过
tag标记品牌、产品或主题任务,持续追踪在 ChatGPT 回答中的出现。 - 强制采集联网回答:启用
force_web_search获取基于当前网页信息的回答,用于分析 AI 搜索结果中的引用和来源覆盖。 - 构建异步数据流水线:
postback_url或pingback_url接收任务完成通知,降低轮询成本并及时触发后续解析、库和报告流程。