Skip to content

获取 Google AI Mode SERP 高级结果(按任务 ID)

接口说明

通过任务 ID 获取 Google AI Mode SERP 的高级结果。

请求地址

GET https://api.seermartech.cn/v3/serp/google/ai_mode/task_get/advanced/$id

说明:

  • $id:任务唯一标识符,UUID 格式
  • 任务结果自提交后可在 30 天 多次获取

计费说明

本接口本身不会重复扣费,在创建任务时扣费。任务提交成功后,后续 30 天按任务 ID 获取结果。

从响应示例看,平台单次任务成本为 USD 0.004,折算后:

  • 参考价约 ¥0.0640 / 次

扣费以响应头 X-SeerMarTech-Charge-CNY 为准。

请求参数

路径参数

字段类型说明
idstring任务 ID,UUID 格式。本平台中的唯一任务标识符,可在任务创建后的 30 天随时用于获取结果。

返回结构

接口返回 JSON 数据,顶层 tasks 数组。

顶层字段

字段类型说明
versionstring当前 API 版本。
status_codeinteger通用状态码。建议根据状态码建立异常处理机制。
status_messagestring通用状态信息。
timestring接口执行时间,单位秒。
costfloat本次请求对应的总成本,单位 USD。
tasks_countintegertasks 数组中的任务数量。
tasks_errorinteger返回错误的任务数量。
tasksarray任务结果数组。

tasks[] 字段

字段类型说明
idstring任务 ID,UUID 格式。
status_codeinteger任务状态码,范围通常为 10000-60000
status_messagestring任务状态信息。
timestring任务执行时间,单位秒。
costfloat当前任务成本,单位 USD。
result_countintegerresult 数组中的结果数。
patharray请求路径。
dataobject与创建任务时 POST 请求中一致的参数集合。
resultarray获取结果数组。

result[] 字段

字段类型说明
keywordstring创建任务时的。返回时会解码 %##+ 会被解码为空格。
typestring创建任务时指定的搜索引擎类型。
se_domainstring创建任务时指定的搜索引擎域名。
location_codeinteger创建任务时的位置编码。
language_codestring创建任务时的语言编码。
check_urlstring搜索结果直达链接,可用于核验结果是否一致。
datetimestring结果采集时间,UTC 格式:yyyy-mm-dd hh-mm-ss +00:00
spellobject / null搜索引擎自动纠错信息;如果未发生纠错,可能为 null
refinement_chipsobject / null搜索细化建议模块;没有则为 null
item_typesarray当前 SERP 中出现的结果类型列表。当前可能:ai_overview
se_results_countintegerSERP 结果总数。
items_countintegeritems 数组中的结果数量。
itemsarraySERP 中解析出的结果项。

结果对象详解

spell

字段类型说明
keywordstring搜索引擎纠错后的。
typestring自动纠错类型。可能值:did_you_meanshowing_results_forno_results_found_forincluding_results_for

refinement_chips

字段类型说明
typestring固定为 refinement_chips
xpathstring素的 XPath。
itemsarray细化选项列表。

refinement_chips.items[]

字段类型说明
typestring固定为 refinement_chips_element
titlestring选项标题。
urlstring带细化参数的搜索链接。
domainstringSERP 中展示的域名。
optionsarray更进一步的细化选项。

refinement_chips.items[].options[]

字段类型说明
typestring固定为 refinement_chips_option
titlestring选项标题。
urlstring带细化参数的搜索链接。
domainstringSERP 中展示的域名。

items[] 支持的结果类型

当前该端点主要返回 ai_overview 类型结果。

ai_overview

字段类型说明
typestring固定为 ai_overview
rank_groupinteger相同 type 结果中的组排名。
rank_absoluteintegerSERP 中的绝对排名。
pageinteger所在 SERP 页码。
positionstring素在 SERP 中的位置,可能值:leftright
xpathstring素的 XPath。
asynchronous_ai_overviewboolean是否异步加载。true 表示异步加载;false 表示从缓存加载。
markdownstringai_overview 的 Markdown 格式。
itemsarrayAI Overview部子列表。
referencesarray与当前 AI Overview 的补参考来源。
rectangleobject / null结果块在页面中的坐标和尺寸;当创建任务时设置 calculate_rectangles=true 才会返回。

ai_overview.items[] 可能出现的子类型

1)ai_overview_element

通用文本块。

字段类型说明
typestring固定为 ai_overview_element
positionstring素位置:leftright
titlestring素标题。
textstring素文本或描述。
markdownstringMarkdown 格式。
linksarray / null素中展示的网站链接。
imagesarray / null素中的图片。
referencesarray / null用于生成该的参考页面。
字段类型说明
typestring固定为 link_element
titlestring链接锚文本。
descriptionstring链接描述。
urlstring链接地址。
domainstring链接域名。
images[]
字段类型说明
typestring固定为 images_element
altstring图片 alt 文本。
urlstring页面 URL。
image_urlstring图片 URL。若源站不可用,可能返回本平台存储地址。
references[]
字段类型说明
typestring固定为 ai_overview_reference
sourcestring参考来源名称或标题。
domainstring参考来源域名。
urlstring参考页面 URL。
titlestring参考页面标题。
textstring用于生成该的页面文本片段。

2)ai_overview_video_element

视频结果块。

字段类型说明
typestring固定为 ai_overview_video_element
positionstring素位置:leftright
titlestring视频标题。
snippetstring视频补说明。
urlstring视频链接。
domainstring托管视频的网站域名。
image_urlstring视频缩略图地址。
sourcestring视频来源名称。
datestring视频发布时间或收录日期,例如 Apr 26, 2024
timestampstringUTC 时间戳,格式:yyyy-mm-dd hh-mm-ss +00:00

3)ai_overview_table_element

表格结果块。

字段类型说明
typestring固定为 ai_overview_table_element
positionstring素位置:leftright
markdownstring表格的 Markdown 表达。
tableobject表格对象,表头和表体。
referencesarray与该表格的参考来源。
table
字段类型说明
table_headerarray表头。
table_contentarray表格,每个数组代表一行。

4)ai_overview_expanded_element

展开式块。

字段类型说明
typestring固定为 ai_overview_expanded_element
positionstring素位置:leftright
titlestring素标题。
textstring素附加文本。
componentsarray展开块中的组件列表。
components[]
字段类型说明
typestring固定为 ai_overview_expanded_component
titlestring组件标题。
textstring组件文本。
markdownstringMarkdown 格式文本。
imagesarray / null组件中的图片。
linksarray / null组件中的站点链接。

5)ai_overview_shopping

购物结果块。

字段类型说明
typestring固定为 ai_overview_shopping
positionstring素位置:leftright
titlestring素标题。
markdownstring购物的 Markdown 文本。
itemsarray商品列表。
referencesarray与该购物结果的补参考来源。
ai_overview_shopping.items[]
字段类型说明
typestring固定为 ai_overview_shopping_element
product_idstringGoogle Shopping 中的唯一商品 ID。
data_docidstringSERP 数据唯一 ID。
gidstringGoogle Shopping局商品标识。
titlestring商品标题。
urlstring商品或筛选链接。
domainstringSERP 展示域名。
ratingobject / null商品评分。
priceobject / null商品价格信息。
sellerstring卖家名称。
snippetstring结果补说明。
marketplacestring商家账户提供方,例如某电商平台聚合。
marketplace_urlstring商家账户提供方 URL。
image_urlstring商品图片地址。
rating
字段类型说明
rating_typestring评分类型,可见值:Max5PercentsCustomMax
valuefloat评分值。
votes_countinteger评论/评分数量。
rating_maxinteger当前评分体系下的最大值。
price
字段类型说明
currentfloat当前价格。
regularfloat原价。
max_valuefloat最高价格。
currencystring价格币种,ISO 代码。
is_price_rangeboolean是否为价格区间。
displayed_pricestring搜索结果中展示的原始价格字符串。

ai_overview.references[]

字段类型说明
typestring固定为 ai_overview_reference
sourcestring参考来源名称或标题。
domainstring参考域名。
urlstring参考页面链接。
titlestring参考页面标题。
textstring参与生成的页面文本片段。

rectangle

字段类型说明
xinteger左上角 x 坐标。
yinteger左上角 y 坐标。
widthinteger素宽度,像素。
heightinteger素高度,像素。

Sandbox

你可以使用以下 Sandbox 地址查看该端点可能返回的完整字段结构,返回值为模拟数据,不扣费:

GET https://sandbox.seermartech.cn/v3/serp/google/ai_mode/task_get/advanced/00000000-0000-0000-0000-000000000000

该 Sandbox 响应会尽可能此端点支持的各类 SERP素及字段,便于联调与字段映射。

调用示例

cURL

bash
id="02261816-2027-0066-0000-c27d02864073"

curl --location --request GET "https://api.seermartech.cn/v3/serp/google/ai_mode/task_get/advanced/${id}" \
--header "Authorization: Bearer smt_live_YOUR_KEY" \
--header "Content-Type: application/json"

Python

python
import requests

task_id = "02231256-2604-0066-2000-57133b8fc54e"

url = f"https://api.seermartech.cn/v3/serp/google/ai_mode/task_get/advanced/{task_id}"
headers = {
 "Authorization": "Bearer smt_live_YOUR_KEY",
 "Content-Type": "application/json"
}

response = requests.get(url, headers=headers)
print(response.status_code)
print(response.json)

TypeScript

typescript
import axios from "axios";

const taskId = "02231256-2604-0066-2000-57133b8fc54e";

axios({
 method: "get",
 url: `https://api.seermartech.cn/v3/serp/google/ai_mode/task_get/advanced/${taskId}`,
 headers: {
 Authorization: "Bearer smt_live_YOUR_KEY",
 "Content-Type": "application/json"
 }
})
 .then((response) => {
 // 返回结果数据
 console.log(response.data);
 })
 .catch((error) => {
 console.error(error);
 });

结合 tasks_ready 获取已完成任务

接中,通常通过 /v3/serp/google/ai_mode/tasks_ready 获取已完成任务,再按任务 ID 或返回的高级结果地址逐个获取结果。

Python 示例

python
import requests

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

# 1. 获取已完成任务列表
ready_url = "https://api.seermartech.cn/v3/serp/google/ai_mode/tasks_ready"
ready_resp = requests.get(ready_url, headers=headers).json

results = []

if ready_resp.get("status_code") == 20000:
 for task_group in ready_resp.get("tasks", []):
 for task in task_group.get("result", []) if isinstance(task_group, dict) else []:
 endpoint = task.get("endpoint_advanced")
 task_id = task.get("id")

 # 2. 直接用 endpoint_advanced 获取高级结果
 if endpoint:
 r = requests.get(f"https://api.seermartech.cn{endpoint}", headers=headers)
 results.append(r.json)

 # 3. 或自行按 id 拼接请求地址
 # if task_id:
 # r = requests.get(
 # f"https://api.seermartech.cn/v3/serp/google/ai_mode/task_get/advanced/{task_id}",
 # headers=headers
 # )
 # results.append(r.json)

print(results)

响应示例

json
{
 "version": "0.1.20260223",
 "status_code": 20000,
 "status_message": "Ok.",
 "time": "12.8697 sec.",
 "cost": 0.004,
 "tasks_count": 1,
 "tasks_error": 0,
 "tasks": [
 {
 "data": {
 "api": "serp",
 "function": "task_get",
 "se": "google",
 "se_type": "ai_mode",
 "language_name": "English",
 "location_name": "London,England,United Kingdom",
 "keyword": "iphone 16 price comparison",
 "device": "desktop",
 "os": "windows"
 },
 "result": [
 {
 "se_results_count": 0,
 "items_count": 1,
 "items": [
 {
 "type": "ai_overview",
 "markdown": "示例已省略,返回通常 AI Overview 的 markdown、子、参考来源、购物块、表格块等详细结构。",
 "items": [
 {
 "type": "ai_overview_element",
 "position": "left",
 "title": "UK Price Comparison by Model (SIM-Free)",
 "text": "Retail prices in the UK vary slightly between the official Apple Store and major electronics retailers.",
 "markdown": "Retail prices in the UK vary slightly between the official Apple Store and major electronics retailers.",
 "links": null,
 "images": null,
 "references": null
 },
 {
 "type": "ai_overview_shopping",
 "position": "left",
 "title": null,
 "markdown": "购物摘要",
 "items": []
 },
 {
 "type": "ai_overview_table_element",
 "position": "left",
 "markdown": "| Model | 128GB | 256GB | 512GB | 1TB |",
 "table": {
 "table_header": null,
 "table_content": []
 }
 }
 ],
 "references": [],
 "rectangle": null
 }
 ]
 }
 ]
 }
 ]
}

状态码与错误处理

  • 顶层 status_code 表示整个请求的执行状态
  • tasks[].status_code 表示单个任务的执行状态
  • 建议同时校验:
  • 顶层 status_code == 20000
  • 任务级 status_code 是否成功
  • result 是否存在且非空

常见处理建议:

  1. 若顶层状态码非成功,直接按请求失败处理
  2. 若顶层成功但任务级状态码异常,按单任务失败记录日志
  3. result 为空,说明任务可能尚未完成、已失效或无可用结果
  4. 建议保留原始 status_message 便于排查问题

使用建议

  • 创建任务,再通过 /v3/serp/google/ai_mode/tasks_ready 轮询已完成任务
  • ai_overview.markdownitems[] 同时解析:前适合快速展示,后适合结构化库
  • 若需要页面可视化定位,请在创建任务时启用 calculate_rectangles=true
  • referencesshoppingtablevideo 等不同子结构做类型分发处理

实用场景

  • 抓取 AI Overview 摘要:提取搜索结果中的 AI 回答主体,用于监控品牌词、产品词和行业问题词的答案呈现方式。
  • 解析引用来源:识别 AI Overview 采用了哪些参考页面和域名,评估品牌是否被搜索引擎引用,投放与外链策略。
  • 监控购物推荐位:提取 ai_overview_shopping 中的商品、价格、评分和卖家信息,分析商品在 AI 搜索中的与竞品分布。
  • 抽取表格与结构化对比信息:识别 ai_overview_table_element 中的参数对比表、价格表、规格表,便于做竞品报和差距分析。
  • 还原 SERP 版面布局:结合 rank_absolutepositionrectangle 字段,分析 AI 模块在页面中的位置与可见性,为 CTR 和 SEO 展示研究提供依据。

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