抓取Google Autocomplete以获取关键词研究数据

Google Autocomplete是一个免费的实时关键词研究源——如果你使用正确的端点。这里是非官方的complete/search API,其地理和cursor参数,以及如何对输出进行聚类。

Google Autocomplete是最真实的关键词研究来源:建议是真实的查询,按人们实际输入的内容排名,实时更新并具有地理特定性。而且你可以从非官方端点免费获取它们——如果你知道是哪一个。大多数关于“google autocomplete api”的搜索结果会引导你到付费的Google Places地址自动填充产品,这完全是另一回事。本指南涵盖了真实的查询自动完成端点,其地理和cursor参数,如何将一个种子聚类成数百个查询,以及如何在不被封锁的情况下大规模运行。

首先,澄清混淆

有三种不同的事物使用“自动完成”这个名称,混淆它们会浪费几天时间:

如果你想要关键词创意,你需要第一个(用于控制)或第三个(用于规模)。Places API永远不会给你“best running shoes for flat feet”——它只知道街道地址。

非官方端点,附代码

查询自动完成端点是https://www.google.com/complete/search。设置client=chrome,它返回一个JSON数组,其中第二个元素是你的建议列表。两个参数使其成为研究工具而非玩具:gl(一个两字母的国家代码)和hl(一个两字母的语言代码),它们本地化建议:

import requests

proxy = "http://USER:PASS@gate.quantumproxies.io:8000"
proxies = {"http": proxy, "https": proxy}

def autocomplete(seed, gl="us", hl="en"):
    r = requests.get("https://www.google.com/complete/search",
                     params={"q": seed, "client": "chrome", "gl": gl, "hl": hl},
                     proxies=proxies, timeout=15)
    return r.json()[1]  # chrome client: index 1 holds the suggestions

print(autocomplete("running shoes", gl="gb"))
print(autocomplete("running shoes", gl="us"))  # compare markets

运行这两行代码,你会立即看到地理效果——英国和美国的建议集不同,因为Autocomplete反映了每个市场的搜索内容。还有一个cp参数(“cursor pointer”)设置光标在查询中的位置,精炼补全——对于挖掘中间短语建议很有用。在chromefirefoxgws-wiz之间切换client会改变响应形状,有时也会改变结果,所以选择一个并保持一致。

关键词研究的查询自动完成、付费的地址自动完成和一个管理的SERP API自动完成垂直的比较,仅显示两个对关键词数据有用
三个API共享“自动完成”名称。只有查询端点——和一个包装它的SERP API——给你关键词数据。

将一个种子转化为数百个关键词

一次调用可能返回十个建议。倍增它们的技术是字母汤:将每个字母a-z附加到种子上并收集每个补全。加入前缀(howwhatbestvs)和后缀(near mefor2026),一个种子就变成了一个广泛、意图丰富的地图:

import string, time

def expand(seed, gl="us"):
    found = set(autocomplete(seed, gl))
    for c in string.ascii_lowercase:          # a-z soup
        found.update(autocomplete(f"{seed} {c}", gl))
        time.sleep(0.4)                         # pace the requests
    for p in ("how", "what", "best", "vs"):    # intent prefixes
        found.update(autocomplete(f"{p} {seed}", gl))
        time.sleep(0.4)
    return sorted(found)

keywords = expand("running shoes", gl="us")
print(len(keywords), "suggestions")

按意图聚类输出——信息性(howwhat)、商业性(bestvsnear me)和导航性(品牌术语)——并去重。这是一个基于实时搜索行为的真实关键词地图,而不是工具的估算。将这些种子反馈到完整的SERP中是你构建排名跟踪器的方法;我们关于构建你自己的排名跟踪器的指南涵盖了下一步。

从一个种子关键词通过autocomplete端点流动,使用gl和hl参数、字母汤和前缀扩展,进入按意图聚类的去重关键词地图
字母汤和前缀扩展将一个种子转化为数百个真实查询,然后按意图聚类它们。

阅读相关性评分

chrome客户端返回的不仅仅是字符串——每个建议都有一个相关性评分,排序反映了真实需求。利用它。按相关性排序你的扩展集,列表的头部是搜索量集中的地方;其下的长尾是低竞争机会隐藏的地方。你可以免费获得一个粗略的需求排名,甚至在你从付费关键词工具中提取单个月度量之前,这使得自动完成即使在你拥有其他数据源时也是一个快速的初步过滤器。

在不被封锁的情况下扩展

字母汤扩展是每个种子数十个请求,数百个种子意味着对同一个Google端点数千次调用。这正是导致IP被限制的量。两种解决方法。动手路线:将请求分布在一个旋转代理池中,匹配地理,并控制速度——在大规模进行关键词研究时避免IP封锁的相同纪律。管理路线:使用一个SERP API,其自动完成垂直处理旋转、地理和解析,为你返回干净的JSON——无需监控限制。在幕后,我们的2026年SERP抓取解析解释了为什么自己运行这种基础设施并不简单。

使用SERP API大规模提取自动完成

如何处理数据

自动完成数据不仅仅是内容日历的来源。使用glhl在市场间运行相同的种子,以正确本地化网站,跟踪建议随时间的变化以早期捕捉上升趋势,并挖掘竞争对手尚未针对的长尾商业查询。因为建议直接来自搜索行为,它们是一个领先指标——通常在月度关键词量工具中显示需求之前就浮现出来。将扩展的种子输入到SERP API中,以捕获每个的实时结果——标题、人们也在问和AI概述——将一个平面的关键词列表在一次通过中转化为完整的内容简报。对于大量消费此数据的AI和SEO产品,我们关于为AI/SEO工具选择SERP API的说明涵盖了要寻找的垂直和JSON形状,而全球监控SERP变化涵盖了跟踪方面。

常见问题解答

有免费的Google Autocomplete API吗?

没有官方的免费API,但非官方的端点google.com/complete/search?client=chrome&q=...返回建议为JSON并且可以免费调用。它在大量使用时会限速,因此对于任何超轻量使用的情况,你需要代理或一个管理的SERP API。注意这与付费的地址自动完成不同。

如何获取特定国家的Google建议?

传递gl参数与一个两字母的国家代码(usgbde)和hl与一个语言代码(endefr)。建议是地理特定的,因此相同的种子在每个市场返回不同的结果——而你的代理出口应与查询的国家匹配以获得准确的数据。

为什么我的自动完成抓取器被封锁?

字母汤扩展对一个Google端点发出数十个请求每个种子,这会迅速限制单个IP。将调用分布在一个旋转代理池中,在请求之间添加延迟,并匹配出口地理到你的gl值——或者使用一个处理旋转和节奏的SERP API。

Google Autocomplete对关键词研究有用吗?

非常有用,因为建议是真实的查询,按实际搜索需求排名,实时更新并按国家本地化。字母汤和前缀扩展将一个种子转化为数百个意图丰富的术语——通常在月度关键词量工具中显示之前就浮现出长尾和趋势查询。

Google Autocomplete是一个免费的、实时的、地理感知的关键词源,只要你使用查询端点而不是地址端点。使用complete/search提取它,使用glhl本地化,使用字母汤倍增种子,并按意图聚类。要大规模运行它,将其放在一个旋转池或SERP API后面,让基础设施处理限速。

从SERP API获取干净的自动完成数据