免费搜索量数据:用Python调Bing站长API
Google关键词规划师把真实搜索量藏在广告账户后面。本文教你用Bing站长API免费获取真实搜索需求数据,附真实命令行、真实输出,并坦白说明它的局限。
搜索量是每个关键词研究工具都卖给你的那个数字。Ahrefs、SEMrush、Moz——它们都把这个作为核心指标展示。但没有一家真正生成了那个数字。它们要么是估算、要么是建模、要么是从第三方数据提供商那里买来的。
真正能给你来自真实搜索引擎的真实搜索量数据的 API 只有两个。一个是 Google 的 Keyword Planner,它需要你有活跃的 Google Ads 账号,而且如果你不花钱,它就把真实数字藏在宽泛的区间后面。另一个是 Bing Webmaster API——免费、不需要广告投入、给你最近约 25 周的真实周展示数据。
没人聊 Bing 这个。今天我来把这个补上。
为什么用 Bing Webmaster API
大多数 SEO 工具做搜索量是这样的:拿 Google 的区间数据(或者买来的数据),套一个基于点击率的乘数,最后给出一个每月数字。这是对估算的估算。当你在 Ahrefs 里看到”volume: 1,200/month”时,那个数字已经过了两层建模。
Bing Webmaster API 走的是另一条路。它返回的是 Bing 搜索结果中真实的周展示数据。不是估算——是真实搜索结果产生的真实展示。每个关键词你能拿到约 25 周的历史数据,可以算平均值、看趋势、识别季节性规律。
要付出的代价:这是 Bing 的数据,不是 Google 的。Bing 大概只有 2-3% 的搜索市场份额。绝对数字会比 Google 低很多。但相对模式——哪些关键词需求更大、哪些在上升或下降——和 Google 的趋势是高度相关的,因为搜索行为就是搜索行为,不管在哪个搜索引擎上。
获取免费 API Key
- 去 Bing Webmaster Tools 用任意 Microsoft 账号登录
- 添加并验证一个站点(只要是你能控制的站点就行——哪怕是占位用的)
- 验证通过后,进入 Settings → API access
- 复制你的 API key
就这些。不需要信用卡、没有试用期、没有对关键词研究有影响的使用限制。Key 拿到就能用。
存到环境变量里:
export BING_API_KEY="your_key_here"
API 接口
Bing 搞得很简单。一个接口,GET 请求,JSON 返回:
https://ssl.bing.com/webmaster/api.svc/json/GetKeywordStats?q={keyword}&country={country}&language={language}&apikey={key}
参数:
q— URL 编码后的关键词country— 两位国家代码(us、cn、gb 等)language— 语言代码(en-US、zh-CN 等)apikey— 你的 key
响应是一个周数据点的数组,每项包含Impressions字段和日期。这是”website builder”在美国市场的原始响应长这样:
{
"d": [
{"Impressions": 1320, "Date": "/Date(1722470400000)/"},
{"Impressions": 1180, "Date": "/Date(1723075200000)/"},
{"Impressions": 1410, "Date": "/Date(1723680000000)/"}
]
}
在终端里跑起来
我写了个 CLI 工具 来封装这个 API。它处理了批量请求、趋势检测和需求等级分类。这是对四个竞争关键词的一次真实运行:
python3 -m zens_ink.keyword_volume "website builder,landing page,portfolio website,seo optimization" --country us --lang en-US
输出:
====================================================================================================
Keyword Volume | 4 keywords | us/en-US
====================================================================================================
website builder avg/wk= 1298 qtr= 14147 up 5% [MEDIUM ]
landing page avg/wk= 256 qtr= 3241 up 18% [LOW ]
portfolio website avg/wk= 79 qtr= 907 flat 3% [MINIMAL ]
seo optimization avg/wk= 30 qtr= 370 up 33% [MINIMAL ]
4 with data | 0 no data
TOP 5:
website builder avg/wk= 1298 up 5%
landing page avg/wk= 256 up 18%
portfolio website avg/wk= 79 flat 3%
seo optimization avg/wk= 30 up 33%
每个关键词都有平均周展示、季度总量、趋势方向(最近 4 周和之前 4 周对比)和需求等级(HIGH/MEDIUM/LOW/MINIMAL/NONE)。
趋势这个功能是真有用。“Landing page”上升 18% 告诉你的东西,一个静态的月搜索量数字给不了——需求在加速。
导出到 CSV
关键词列表超过几个的时候,直接把结果导进表格:
python3 -m zens_ink.keyword_volume --file seed_keywords.txt --csv volume_results.csv --country us --lang en-US
CSV 里包含每个关键词的全部数据点:
keyword,avg_weekly,latest_weekly,quarterly,trend,weeks,country,language
astro theme,6,6,84,down 38%,26,us,en-US
astro blog,3,2,43,flat 0%,22,us,en-US
需求等级是怎么回事
我是按 Bing 的市场份额来校准这些等级的。Bing 大约占搜索量的 2-3%,所以乘以 30-50 倍来估算 Google 搜索量:
| Bing 平均周展示 | 等级 | 估算 Google 月搜索量 |
|---|---|---|
| 5,000+ | HIGH | 600K+ |
| 1,000-4,999 | MEDIUM | 120K-600K |
| 100-999 | LOW | 12K-120K |
| 1-99 | MINIMAL | 12K 以下 |
| 0 | NONE | 无数据 / 无需求 |
这些倍数是大概的。Bing 的市场份额因人群而异(年长用户、企业环境、Edge 默认设置)。但要横向比较关键词——“关键词 A 比关键词 B 需求大吗?“——相对排序是靠谱的。
坦白讲一些局限
这个工具不完美。根据几百次真实查询的经验,这是它不够用的地方。
**长尾关键词经常返回零。**面向开发者的关键词尤其稀疏:
python3 -m zens_ink.keyword_volume "astro seo,python seo,seo cli,llms.txt" --country us --lang en-US
astro seo avg/wk= 0 qtr= 0 no_data [NONE ]
python seo avg/wk= 0 qtr= 0 no_data [NONE ]
seo cli avg/wk= 0 qtr= 0 no_data [NONE ]
llms.txt avg/wk= 27 qtr= 332 down 16% [MINIMAL ]
四个里三个啥都没有。这些确实是 Google 上有搜索的真实关键词,但 Bing 的数据量不够,报不出来。这就是用 Bing 更小数据集的代价——热门关键词跑得很好,小众关键词直接消失。
**中文关键词几乎没用。**Bing 在中国市场份额微乎其微:
python3 -m zens_ink.keyword_volume "SEO审计,关键词研究,网站优化" --country cn --lang zh-CN
SEO审计 avg/wk= 0 qtr= 0 no_data [NONE ]
关键词研究 avg/wk= 0 qtr= 0 no_data [NONE ]
网站优化 avg/wk= 24 qtr= 98 insufficient [MINIMAL ]
三个里只有一个返回了稀疏数据。如果你在做中文关键词研究,Bing 的搜索量数据帮不了你。用你已验证过的站点里的 Google Search Console 展示数据替代——真实 Google 数据、零成本、只是局限于你已经排上名的关键词。
**API 有速率限制但给得很大方。**我跑过 50+ 关键词的批量也没出问题。CLI 在请求之间加了 0.3 秒延迟以示礼貌。官方没有写明确的速率限制文档,我也没撞到过。
Bing 搜索量真正好用的场景
虽然有局限,Bing Webmaster API 确实填补了其他免费工具覆盖不到的一个空白:
**验证头部词和中部词。**当你在”website builder”和”landing page”之间纠结,不知道该拿哪个做话题簇锚点时,Bing 给了你可对比的真实需求数据。“Website builder”周均 1,298 对比 “landing page”的 256——哪个需求更大,一目了然。
**发现趋势话题。**25 周的历史数据让你看到势头。“SEO optimization”在过去 8 周上升了 33%,比一个静态的”12,000/month”估算值更有行动价值。
**构建关键词优先级矩阵。**把 Bing 搜索量和难度分析工具结合起来,你可以按需求/难度比来排序——这才是决定先写什么的关键指标:
# Step 1: Get volume
python3 -m zens_ink.keyword_volume "astro blog" "astro theme" --country us --lang en-US
# Step 2: Get difficulty
python3 -m zens_ink kd "astro blog"
python3 -m zens_ink kd "astro theme"
**交叉验证 Google Keyword Planner 的区间。**Google 的免费工具只给”1K-10K”这种区间——那哪个词更靠近 1K、哪个更靠近 10K?Bing 的具体数字帮你做三角定位。
用 Brave Search API 补充
对于那些 Bing 返回零的关键词,Brave Search API 可以通过结果多样性分析来估算相对需求——统计总结果数、专门文章数和广告存在度。它不是真实搜索量,但总比什么都没有强:
python3 -m zens_ink.brave_volume "astro template"
Brave Volume Estimation | 1 keywords | US/en
[1/1] astro template demand= 55 est_vol= 4000
需求得分(0-100)和估算搜索量是基于 SERP 特征建模的,不是真实展示数据。把它们当作方向性信号——“这个关键词到底有没有有意义的搜索活动?“——而不是精确指标。
Brave API 每月免费 2,000 次查询。对于 Bing 测不了的长尾关键词,用 Brave 兜底就形成了一个合理的两层体系:Bing 看绝对搜索量,Brave 估相对需求。
搭一条关键词量流水线
这是我在实践中把这些工具串起来的方式:
- 种子关键词 → 用
keyword_research挖 Google 自动补全(几百条建议,免费) - 搜索量检查 → 用 Bing API 对完整列表跑
keyword_volume(真实需求数据) - 兜底 → 对 Bing 返回零的关键词跑
brave_volume(相对需求估算) - 难度 → 对有实际搜索量的关键词做 kd 分析(SERP 结构评分)
- 优先级 → 按搜索量/难度比排序——先写高量低难度的关键词
这五步全部在终端里搞定。零月费。你只需要这些免费的 API key:Bing Webmaster(搜索量)、Serper.dev(SERP 数据,2,500 次免费查询)和 Brave(兜底搜索量,2,000 次免费查询)。
总结
Bing Webmaster API 是 SEO 里最被低估的免费数据源。它不会取代 Ahrefs 做全面的关键词研究——长尾覆盖太薄了。但用于验证关键词优先级、发现趋势和搭一条零成本的研究流水线,它完全够用。
关键是要知道什么时候用它(头部词、趋势检测、英文关键词),什么时候跳过(长尾词、中文、月搜索量低于 100)。把它和 基于 SERP 的难度评分 结合起来,你就有了一个 不依赖 Ahrefs 的关键词研究工作流,每月花费 $0,决策基于真实数据而非私有估算。
想了解这个工具集的完整开源版本,看 开源 SEO 工具:哪些真的有用。