“Google SERP API” 指什么?

通常指根据查询词获取 Google 搜索结果,并将页面整理成应用可处理的数据接口。它和 Google 自家的广告、分析或 Maps 服务不是一回事。Serqo 是第三方搜索结果 API,下面的示例会请求一份 Google 网页搜索快照。

发起 Google SERP 请求

查询词放在 q 字段中。API Key 应保存在服务器端环境变量里,并通过请求头发送。

curl https://api.serqo.io/v1/search \
  -H "x-api-key: $SERP_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"q":"项目管理软件","engine":"google","type":"web","gl":"cn","hl":"zh-CN"}'

主要结果位于 data.results,每项可能包含 position、title、url、displayedUrl 和 snippet。其他结果区块可能出现在 data.features。响应结构和参数详见 Google Search API 参考。

设置国家和语言

gl 用两位国家代码指定目标市场,例如 cn;hl 指定搜索界面语言,例如 zh-CN。两者影响的搜索条件不同。比较不同市场时,应将这两个值与每份响应一同保存;省略后返回的市场可能和预期不同。

把排名视为一次快照

position 表示结果在这次返回页面中的顺序,不是永久排名,也不保证所有搜索者看到相同结果。查询措辞、地区、语言、设备、时间和页面模块都会影响展示。要观察趋势,应在自己的系统中保存采集时间和一致条件下的请求,并比较结果链接与位置。

适合哪些任务?

当应用需要当前 Google 搜索结果,又不想自己解析结果页时,可以使用 Google SERP API。常见任务包括定时排名检查、关键词研究界面、搜索监测和数据补充。如果需要长期排名历史,API 提供的是单次快照;定时采集和历史数据由应用负责。

常见问题

Serqo 是 Google 官方搜索 API 吗?

不是。Serqo 是返回 Google 搜索结果的第三方 API,不代表 Google,也不提供 Google Maps Platform 服务。

Google SERP API 能保证固定排名吗?

不能。它只报告特定请求条件和时间下返回的位置。搜索结果可能变化;跟踪趋势时应保存请求设置和采集时间。

如何请求后续结果页?

先检查 data.pagination.hasNext,再将 data.pagination.nextStart 作为下一次请求的 start。其他请求条件保持不变。

继续阅读:Google Search API 参考、SERP 排名跟踪指南或套餐与额度规则。