Google 并没有实时排名 API。本文讲清楚 Search Console API 到底返回什么、Custom Search 为何会误导人,以及每条路线可用的 Python 代码。

简而言之:Google 并未提供返回实时关键词排名的 API。Search Console API 返回的是您已验证站点已有排名的查询词的平均位置:免费、第一方数据,但仅限于您自己的站点,而且是一段时间内的平均值。Custom Search JSON API 返回的是自定义搜索引擎的结果,而不是 google.com 的结果,因此它的位置与用户看到的并不一致。如果您需要真实的实时 SERP 位置(包括竞争对手的),就需要第三方 SERP API。本指南给出每条路线可用的代码,以及它们各自失效的地方。
想用 Google API 查询关键词排名,这类任务看上去已经有现成答案,直到您真的动手去做。根本不存在 rankings.get() 这样的接口,而人们最先想到的那两个 Google API,回答的其实是与问题微妙不同的另一个问题。Search Console Search Analytics 文档是合适的起点,前提是您明白其中的「位置」到底指什么。
没有。Google 从未发布过一个可以传入关键词、返回您在 google.com 上实时位置的 API。这是有意为之:自动查询搜索结果页违反 Google 的条款,而且这家公司也没有任何商业动机去提供排名追踪的基础设施。
现实中存在的是三条不完整的路线,每一条都有明确的边界:
| 路线 | 返回内容 | 能看竞争对手吗? | 费用 |
|---|---|---|---|
| Search Console API | 平均位置,仅限您自己的站点 | 不能 | 免费 |
| Custom Search JSON API | 自定义搜索引擎的结果 | 能,但不是真实 SERP | 每天 100 次查询免费 |
| 第三方 SERP API | 实时、精确的 SERP 位置 | 能 | 付费,按查询次数计费 |
带上 query 维度调用 searchAnalytics 接口,读取 position 字段即可。这是直接来自 Google 的第一方数据,免费,且没有关键词数量限制:您能拿到站点获得过展现的每一个查询词。
可用的请求,Python 版本:
from google.oauth2 import service_account
from googleapiclient.discovery import build
creds = service_account.Credentials.from_service_account_file(
"service-account.json",
scopes=["https://www.googleapis.com/auth/webmasters.readonly"],
)
service = build("searchconsole", "v1", credentials=creds)
response = service.searchanalytics().query(
siteUrl="https://example.com/",
body={
"startDate": "2026-07-01",
"endDate": "2026-07-31",
"dimensions": ["query", "page"],
"rowLimit": 25000,
},
).execute()
for row in response.get("rows", []):
query, page = row["keys"]
print(f"{row['position']:.1f} {query} -> {page}")
第三点正是悄无声息地毁掉报告的那一条。一个您尚未打进前几页的关键词,在 Search Console 里干脆就不存在,这使得单靠这个 API 无法衡量从第 60 位到第 20 位的进展。
技术上可以,但没有意义。Custom Search JSON API 要求您先创建一个可编程搜索引擎。即使配置为搜索整个网络,它依然使用自己的排序逻辑和自己的限制,因此它返回的顺序并不是 google.com 返回的顺序。
它的免费层还限定每天 100 次查询,付费使用按每千次查询计费,并设有每日上限。偶尔查几个关键词,它还能用。但当作排名追踪工具,它产出的数字看上去很权威,实际却静静地错了,这比没有数据更糟糕。
不要这么做。未经允许自动查询 Google 搜索违反了 Google 的服务条款,而且只要量一大,就会招来 IP 封禁和验证码拦截。抛开合规问题不谈,工程上的现实也很棘手:搜索结果是个性化、本地化的,而且越来越多地叠加了 AI 功能,因此即使您的网站毫无变化,抓取到的「位置」也会因数据中心、地点和会话而不同。
如果您需要竞争对手的位置,商业 SERP API 才是既符合服务商协议、运行上又稳定的路线。它是一笔付费支出,而这笔成本就是 Google 不白送的数据应有的价格。需要搭建并监控这套数据管道、又不想自建团队的企业,通常会引入专业服务商;我们对法国十佳数据分析代理机构的对比中,就列出了能搭建这类报告体系的服务商。

对大多数团队而言,务实的架构是混合方案,具体如下:
不想自己设计这套架构的团队,通常会交给专业服务商;我们对法国十佳 SEO 代理机构的对比介绍了能为客户管理这套报告体系的服务商。
最后这一点并不是未来才要操心的事。当 AI 回答直接在界面里解决了查询,第十位和第三位的结果就归于一致:都没有点击。在跟踪位置的同时跟踪引用,正是我们的 Search Console MCP 服务器和 AI 可见度平台的设计目的,使用文档完整讲解了配置流程。
Google 没有提供官方的实时关键词排名 API:自己的平均数据用 Search Console API,精确位置和竞争对手位置用第三方 SERP API,排名工作则完全不要用 Custom Search JSON API。选错底层是这里最常见的错误,它会造出一个自信满满却并不准确的仪表盘。
如果您不想自己搭建和维护这套数据管道,Sorank 可以接入您的 Search Console,并在同一处追踪 AI 引用。
没有。Google 从未推出过一个可以传入关键词、返回您在 google.com 上实时排名的 API。Search Console API 只能返回您自己已验证站点的平均排名,而 Custom Search JSON API 查询的是一个自定义搜索引擎,其排序与 google.com 并不一致。
不是。Search Console 报告的是所有展现的平均位置,混合了不同设备、地区和日期。报告值 7.4 并不意味着第 7 位;在该时段内,展现可能分布在第 3 位到第 15 位之间。
未经允许自动查询 Google 搜索违反了 Google 的服务条款,且只要量一大,就会触发 IP 封禁和验证码。商业 SERP API 才是既符合服务商协议、运行上又稳定的路线。
他们通过 SORANK 取得成功