主题
Gemini LLM 抓取实时高级接口
POST /v3/ai_optimization/gemini/llm_scraper/live/advanced
接口说明
Live Gemini LLM Scraper Advanced 用于实时获取 Gemini 的结构化回答结果。返回会受到所选地区、语言和****影响。
- 请求方式:
POST - 接口地址:
https://api.seermartech.cn/v3/ai_optimization/gemini/llm_scraper/live/advanced
该接口为实时接口,单次请求支持 1 个任务。 接口频率上限为每分钟 2000 次 API 调用。 当前该实时接口的最长执行时间可达 120 秒。
参考价约 ¥0.0640 / 次 扣费以响应头 X-SeerMarTech-Charge-CNY 为准。
所有 POST 数据均需使用 JSON(UTF-8 编码)提交,且请求体格式为 JSON 数组:
json
[
{
"language_code": "en",
"location_code": 2840,
"keyword": "albert einstein"
}
]请求参数
| 字段名 | 类型 | 说明 |
|---|---|---|
keyword | string | 填。查询,最长支持 2000 个字符。 %## 会被解码,+ 会被解码为空格。如果本身需要 %,请写为 %25;如果需要 +,请写为 %2B。 |
location_name | string | 搜索地区完整名称。当未传 location_code 或 location_coordinate 时填。传该字段后,无需再传 location_code 或 location_coordinate。可通过 /v3/ai_optimization/gemini/llm_scraper/locations 获取可用地区列表。示例:United States |
location_code | integer | 搜索地区编码。当未传 location_name 或 location_coordinate 时填。传该字段后,无需再传 location_name 或 location_coordinate。可通过 /v3/ai_optimization/gemini/llm_scraper/locations 获取可用地区编码。示例:2840 |
location_coordinate | string | GPS 坐标位置。当未传 location_name 或 location_code 时填。传该字段后,无需再传 location_name 或 location_code。格式为 "latitude,longitude,radius"。latitude 和 longitude 最多支持 7 位小数;radius 最小值为 199(毫米),最大值为 199999(毫米)。示例:53.476225,-2.243572,200 |
language_name | string | 搜索语言完整名称。当未传 language_code 时填。传后无需再传 language_code。可通过 /v3/ai_optimization/gemini/llm_scraper/languages 获取可用语言列表。示例:English |
language_code | string | 搜索语言编码。当未传 language_name 时填。传后无需再传 language_name。可通过 /v3/ai_optimization/gemini/llm_scraper/languages 获取可用语言编码。示例:en |
tag | string | 可选,自定义任务标识,最长 255 字符。便于将请求与结果进行匹,响应中的 data 对象会返回该值。 |
响应结构
接口返回 JSON 对象,顶层 tasks 数组,每个任务对应一次请求结果。
顶层响应字段
| 字段名 | 类型 | 说明 |
|---|---|---|
version | string | API 当前版本 |
status_code | integer | 通用状态码,完整错误码可参考 /v3/appendix/errors |
status_message | string | 通用状态信息 |
time | string | 执行耗时,单位秒 |
cost | float | 本次请求总费用,单位 USD |
tasks_count | integer | tasks 数组中的任务数量 |
tasks_error | integer | 返回错误的任务数量 |
tasks | array | 任务结果数组 |
tasks[] 字段
| 字段名 | 类型 | 说明 |
|---|---|---|
id | string | 任务唯一标识,UUID 格式 |
status_code | integer | 任务状态码,范围通常为 10000-60000,完整列表参考 /v3/appendix/errors |
status_message | string | 任务状态信息 |
time | string | 任务执行耗时,单位秒 |
cost | float | 单任务费用,单位 USD |
result_count | integer | result 数组中的数量 |
path | array | URL 路径 |
data | object | 返回提交时传的任务参数 |
result | array | 结果数组 |
result[] 字段
| 字段名 | 类型 | 说明 |
|---|---|---|
keyword | string | 请求中的。返回时 %## 会被解码,+ 会被解码为空格 |
location_code | integer | 请求中的地区编码 |
language_code | string | 请求中的语言编码 |
model | string | 模型版本标识 |
datetime | string | 结果获取时间,UTC 格式:yyyy-mm-dd hh-mm-ss +00:00 |
markdown | string | 聚合结果的 Markdown |
sources | array | 模型最终回答中引用或依赖的来源列表 |
se_results_count | integer | 结果总数 |
item_types | array | 结果项类型列表,可能:gemini_text、gemini_table、gemini_images |
items_count | integer | items 数组中的结果项数量 |
items | array | 结构化结果项数组 |
sources[] 字段
| 字段名 | 类型 | 说明 |
|---|---|---|
type | string | 固定为 gemini_source |
title | string | 来源标题 |
snippet | string | 来源摘要 |
domain | string | 来源域名 |
url | string | 来源链接 |
thumbnail | string | 来源缩略图 |
source_name | string | 来源名称 |
publication_date | string | 发布时间,格式:yyyy-mm-dd hh:mm:ss +00:00 |
markdown | string | 该来源的 Markdown 表示 |
items[] 结果项类型
1)gemini_text
文本结果块。
| 字段名 | 类型 | 说明 |
|---|---|---|
type | string | 固定为 gemini_text |
rank_group | integer | 同类型结果中的组排名 |
rank_absolute | integer | 在整个 SERP 中的绝对排名 |
markdown | string | Markdown 格式文本 |
original_text | string | 未格式化的原始文本 |
sources | array | 文本块引用来源列表 |
2)gemini_table
表格结果块。
| 字段名 | 类型 | 说明 |
|---|---|---|
type | string | 固定为 gemini_table |
rank_group | integer | 同类型结果中的组排名 |
rank_absolute | integer | 在整个 SERP 中的绝对排名 |
markdown | string | Markdown 格式表格 |
original_text | string | 未格式化的原始文本 |
table | object | 表格结构对象 |
table 对象字段
| 字段名 | 类型 | 说明 |
|---|---|---|
table_header | array | 表头 |
table_content | array | 表格数组,每个子数组表示一行 |
3)gemini_images
图片结果块。
| 字段名 | 类型 | 说明 |
|---|---|---|
type | string | 固定为 gemini_images |
rank_group | integer | 同类型结果中的组排名 |
rank_absolute | integer | 在整个 SERP 中的绝对排名 |
markdown | string | Markdown 格式图片 |
items | array | 图片子项数组 |
gemini_images.items[] 字段
| 字段名 | 类型 | 说明 |
|---|---|---|
type | string | 固定为 gemini_images_element |
url | string | 页面 URL |
alt | string | 图片 alt 文本 |
image_url | string | 图片地址;可能指向原始资源,也可能指向平台缓存存储 |
markdown | string | Markdown 格式 |
请求示例
cURL
bash
curl --location --request POST "https://api.seermartech.cn/v3/ai_optimization/gemini/llm_scraper/live/advanced" \
--header "Authorization: Bearer smt_live_YOUR_KEY" \
--header "Content-Type: application/json" \
--data-raw '[
{
"language_code": "en",
"location_code": 2840,
"keyword": "albert einstein"
}
]'Python
python
import requests
url = "https://api.seermartech.cn/v3/ai_optimization/gemini/llm_scraper/live/advanced"
headers = {
"Authorization": "Bearer smt_live_YOUR_KEY",
"Content-Type": "application/json"
}
data = [
{
"language_code": "en",
"location_code": 2840,
"keyword": "albert einstein"
}
]
response = requests.post(url, headers=headers, json=data, timeout=180)
print(response.json)TypeScript
typescript
import axios from "axios";
async function fetchGeminiLlmScraperAdvanced {
const response = await axios.post(
"https://api.seermartech.cn/v3/ai_optimization/gemini/llm_scraper/live/advanced",
[
{
language_code: "en",
location_code: 2840,
keyword: "albert einstein",
},
],
{
headers: {
Authorization: "Bearer smt_live_YOUR_KEY",
"Content-Type": "application/json",
},
timeout: 180000,
}
);
console.log(response.data);
}
fetchGeminiLlmScraperAdvanced.catch(console.error);响应示例
json
{
"version": "0.1.20260218",
"status_code": 20000,
"status_message": "Ok.",
"time": "27.1013 sec.",
"cost": 0.004,
"tasks_count": 1,
"tasks_error": 0,
"tasks": [
{
"data": {
"api": "ai_optimization",
"function": "llm_scraper",
"se": "gemini",
"language_code": "en",
"location_code": 2840,
"keyword": "albert einstein",
"device": "desktop",
"os": "windows"
},
"result": [
{
"keyword": "albert einstein",
"location_code": 2840,
"language_code": "en",
"markdown": "示例已省略,返回为 Gemini 的 Markdown 结构化回答",
"sources": [],
"se_results_count": 0,
"item_types": [
"gemini_text",
"gemini_table",
"gemini_images"
],
"items_count": 5,
"items": [
{
"type": "gemini_text",
"rank_group": 1,
"rank_absolute": 1,
"markdown": "Albert Einstein is arguably the most famous physicist in history...",
"original_text": "Albert Einstein is arguably the most famous physicist in history...",
"sources": []
},
{
"type": "gemini_table",
"rank_group": 1,
"rank_absolute": 4,
"markdown": "| Aspect | Detail | ...",
"original_text": "Aspect Detail ...",
"table": {
"table_header": [],
"table_content": []
}
},
{
"type": "gemini_images",
"rank_group": 1,
"rank_absolute": 5,
"markdown": "",
"items": [
{
"type": "gemini_images_element",
"url": "https://example.com/page",
"alt": "example image",
"image_url": "https://example.com/image.jpg",
"markdown": ""
}
]
}
]
}
]
}
]
}状态码与错误处理
- 顶层
status_code表示整次请求的处理状态 tasks[].status_code表示单个任务状态- 建议同时校验:
- HTTP 状态码
- 顶层
status_code - 任务级
tasks[].status_code
完整错误码与说明请参考:/v3/appendix/errors
建议重点处理以下:
- 请求参数缺失或格式错误
- 地区与语言组合不可用 -时或执行时间过长 -额、频率限制或余额不足
- 部分任务返回成功、部分任务失败的(虽然该实时接口单次支持 1 个任务,仍建议保留统一处理逻辑)
使用要点
keyword为填,且最长 2000 字符。- 地区参数三选一:
location_name、location_code、location_coordinate。 - 语言参数二选一:
language_name、language_code。 - 单次实时请求支持 1 个任务,请求体仍需使用 JSON 数组格式
[{...}]。 - 返回结果除整体
markdown外,还会拆分为gemini_text、gemini_table、gemini_images等结构化块,适合下游做提取、引用分析和可视化处理。
实用场景
- 监控 AI 答案表现:按、地区、语言抓取 Gemini 回答,评估品牌或专题在 AI 回答中的呈现方式。
- 提取引用来源:分析
sources中被引用的网站、页面与来源名称,识别被 AI 采用的机会点。 - 拆解回答结构:基于
items中的文本、表格、图片模块,研究 AI 回答的组织形式,指导生产与页面优化。 - 比较多地区结果差异:针对不同
location_code采集同一结果,识别地域性偏差与本地化优化空间。 - 构建报库:沉淀
markdown、original_text、来源链接和图片信息,为 SEO、营销和竞品分析提供结构化数据资产。