主题
ai_optimization/gemini/llm_scraper/task_post
POST /v3/ai_optimization/gemini/llm_scraper/task_post
设置 Gemini LLM Scraper 任务
本接口使用 POST 方法,路径为:
/v3/ai_optimization/gemini/llm_scraper/task_post
Gemini LLM Scraper API 可返回 Gemini 的结构化结果。结果将根据指定的地点、语言和生成。地点和语言使用本接口支持的值,可分别通过以下接口获取:
- 地点列表:
/v3/ai_optimization/gemini/llm_scraper/locations - 语言列表:
/v3/ai_optimization/gemini/llm_scraper/languages
任务支持两种执行优级:
1:普通优级,默认值2:高优级,执行速度更快,但会产生额外费用
计费说明
账户在成功提交任务时扣费。高优级任务会产生额外费用。
扣费以响应头 X-SeerMarTech-Charge-CNY 为准。
请求限制
- 请求体使用 UTF-8 编码的 JSON 格式。 平台限流以认证说明中的 30/60/120 次/分钟规则为准。
- 每次请求最多 100 个任务。 -过 100 个任务的部分将返回错误码
40006。 - 任务提交成功后,可使用返回的任务 ID 查询结果。
- 如果请求中设置了
postback_url或pingback_url,任务完成后也可以通过回调方式接收通知。 - 如果回调服务器在 10 秒未响应,连接将因时中断,任务会转移到“任务就绪”列表。
请求参数
请求体是 JSON 数组,每个数组代表一个任务。
| 参数 | 类型 | 填 | 说明 |
|---|---|---|---|
keyword | string | 是 | 要提交给 Gemini 的或问题,最长 2000 个字符。所有 %## 编码会被解码,字符 + 会被解码为空格。若中需要使用 %,应写为 %25;需要使用 +,应写为 %2B。 |
priority | integer | 否 | 任务优级:1 表示普通优级,默认值;2 表示高优级。高优级任务会额外计费。 |
location_name | string | 条件填 | 搜索地点的完整名称。当未指定 location_code 或 location_coordinate 时填。使用此参数时,不应同时指定另外两个地点参数。示例:United States。 |
location_code | integer | 条件填 | 搜索地点代码。当未指定 location_name 或 location_coordinate 时填。使用此参数时,不应同时指定另外两个地点参数。示例:2840。 |
location_coordinate | string | 条件填 | 地点 GPS 坐标,格式为 latitude,longitude,radius。当未指定 location_name 或 location_code 时填。纬度和经度最多支持 7 位小数;radius 最小值为 199,最大值为 199999。示例:53.476225,-2.243572,200。 |
language_name | string | 条件填 | 搜索语言的完整名称。当未指定 language_code 时填。使用此参数时,不应同时指定 language_code。示例:English。 |
language_code | string | 条件填 | 搜索语言代码。当未指定 language_name 时填。使用此参数时,不应同时指定 language_name。示例:en。 |
expand_citations | boolean | 否 | 是否在 HTML 结果中返回展开后的引用栏数据。默认值为 false。 |
tag | string | 否 | 自定义任务标识,最长 255 个字符。可用于标记任务并与结果进行匹。提交的值会原样出现在响应任务的 data 对象中。 |
postback_url | string | 否 | 任务完成后接收结果的 URL。本平台会向该地址发送 POST 请求,结果使用 gzip 格式压缩。URL 中可使用 $id 和 $tag 占位符,平台发送请求前会替换为任务 ID 和经过 URL 编码的标签值。特殊字符会进行 URL 编码,例如 # 会编码为 %23。 |
postback_data | string | 条件填 | postback_url 返回数据类型。指定 postback_url 时填。可选值:advanced、html。 |
pingback_url | string | 否 | 任务完成通知 URL。本平台会向该地址发送 GET 请求。URL 中可使用 $id 和 $tag 占位符,平台发送请求前会替换为值。特殊字符会进行 URL 编码。 |
地点参数互斥
以下三个参数三选一:
location_namelocation_codelocation_coordinate
语言参数互斥
以下两个参数二选一:
language_namelanguage_code
请求示例
cURL
bash
curl --location --request POST \
"https://api.seermartech.cn/v3/ai_optimization/gemini/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": "albert einstein"
},
{
"language_name": "English",
"location_name": "United States",
"keyword": "albert einstein",
"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/gemini/llm_scraper/task_post"
headers = {
"Authorization": "Bearer smt_live_YOUR_KEY",
"Content-Type": "application/json",
}
# 请求体是 JSON 数组,每个代表一个任务
payload = [
{
"language_code": "en",
"location_code": 2840,
"keyword": "albert einstein",
},
{
"language_name": "English",
"location_name": "United States",
"keyword": "albert einstein",
"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, timeout=30)
response.raise_for_status()
result = response.json()
print(result)TypeScript
typescript
import axios from "axios";
const payload = [
{
language_code: "en",
location_code: 2840,
keyword: "albert einstein",
},
{
language_name: "English",
location_name: "United States",
keyword: "albert einstein",
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/gemini/llm_scraper/task_post",
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 数据已提交任务的信息。
顶层响应字段
| 字段 | 类型 | 说明 |
|---|---|---|
version | string | 当前 API 版本。 |
status_code | integer | 请求的总体状态码。完整错误码请参考错误码文档。 |
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 数组中的数量。任务提交接口通常为 0。 |
path | array | 当前请求的 URL 路径信息。 |
data | object | 本次提交时使用的任务参数。 |
result | array | null | 任务结果数组。任务提交接口返回 null,需要通过任务 ID 获取后续结果。 |
响应示例
json
{
"version": "0.1.20260218",
"status_code": 20000,
"status_message": "Ok.",
"time": "0.1040 sec.",
"cost": 0.0012,
"tasks_count": 1,
"tasks_error": 0,
"tasks": [
{
"id": " ಕೆಲ-task-uuid",
"status_code": 20000,
"status_message": "Ok.",
"time": "0.0120 sec.",
"cost": 0.0012,
"result_count": 0,
"path": [
"v3",
"ai_optimization",
"gemini",
"llm_scraper",
"task_post"
],
"data": {
"api": "ai_optimization",
"function": "llm_scraper",
"se": "gemini",
"language_code": "en",
"location_code": 2840,
"keyword": "albert einstein",
"device": "desktop",
"os": "windows"
},
"result": null
}
]
}> id 应替换为接口返回的 UUID。提交任务后,请使用该 ID 调用对应的任务结果接口。
状态码与异常处理
20000:请求成功。40006:单次请求提交的任务数量 100 个。- 状态码:表示请求参数、认证、任务处理或服务状态异常。
建议客户端根据 status_code 和 status_message 实现统一的异常处理、重试和日志记录机制。
实用场景
- 批量提交问题:为多个目标创建 Gemini 查询任务,批量获取模型回答,提升 SEO研究效率。
- 按国家或城市分析模型结果:通过地点名称、地点代码或 GPS 坐标提交任务,比较不同市场的 Gemini 回答差异,支持 SEO 和本地 SEO 决策。
- 按语言监测搜索表现:使用不同语言参数批量抓取模型回答,评估多语言在目标市场中的可见性。
- 启用高优级任务进行实时监测:为品牌词、核心产品词或舆设置高优级,缩短结果获取时间,支持快速响应。
- 回调自动接收结果:使用
postback_url或pingback_url接收任务完成通知,减少轮询开销并加快 SEO 监控数据库。