如何使用 SERP API 采集 Bing 搜索结果
了解如何使用 SERP API 和 Python 采集 Bing 搜索结果,提取 title、URL、snippet、ranking position、domain 和 metadata,支持 SEO、AI Agent、RAG 和竞争对手监测。
要使用 SERP API 采集 Bing search results,通常需要发送 query,并带上 keyword、location、language、device 和 page 等参数。API 会返回结构化 SERP JSON,你可以从中提取 title、URL、snippet、ranking position、domain 和 search metadata。
这类数据可用于 SEO monitoring、competitor tracking、AI Agent、RAG source discovery、brand visibility check 和 market research。
不用自己处理 scraper、browser automation、proxy rotation、CAPTCHA handling 和 parser logic,SERP API 可以让流程更简单:
Search query
→ SERP API request
→ Bing SERP JSON
→ Extract organic results
→ Store results in CSV, database, dashboard, or AI pipeline
Talordata 文档中列出了 Bing Search query-parameter workflow,包含 localization 和 geographic targeting;其产品页也说明 SERP API 提供跨 Google 和主要搜索引擎的 structured real-time search data,支持 JSON / HTML output 和 geo-targeted SERP data。
Bing SERP 可以采集哪些数据?
Bing SERP API response 通常会返回结构化搜索结果字段。
对 organic results 来说,常用字段包括:
|
字段 |
含义 |
|
|
Bing search results 中的排名位置 |
|
|
搜索结果标题 |
|
|
目标页面 URL |
|
|
网站 domain |
|
|
搜索结果摘要 |
|
|
显示 URL 或 breadcrumb |
|
|
日期信号,如果有 |
|
|
query、location、language、device 和 page context |
根据 provider 和 query type 不同,Bing SERP data 也可能包含 related searches、news results、images、videos、ads、local results 或其他可见 SERP modules。
对 SEO 和 AI workflow 来说,重点不只是 API 是否返回数据,而是数据是否干净、稳定、容易解析。
基础请求参数
大多数 Bing SERP API 工作流会用到这些参数:
|
参数 |
为什么重要 |
|
|
搜索 keyword 或 phrase |
|
|
指定 Bing 为目标搜索引擎 |
|
|
控制国家、地区或城市上下文 |
|
|
控制本地化搜索体验 |
|
|
区分 desktop 和 mobile 结果 |
|
|
控制分页 |
|
|
控制返回结果数,如果支持 |
|
|
JSON 或 HTML response format |
一个通用 request body 可能像这样:
{
"engine": "bing",
"query": "best project management software",
"location": "United States",
"language": "en",
"device": "desktop",
"page": 1,
"output": "json"
}
你可以用 SerpApi、SearchAPI、Bright Data 或 Talordata 测试这类 workflow。真正重要的是 response 是否能提供干净字段,让 SEO tool、AI Agent 或 data pipeline 直接使用。
Python 示例:发送 SERP API 请求
具体 endpoint 和 authentication method 取决于你的 provider。下面示例保持 provider-neutral。
import os
import requests
SERP_API_KEY = os.getenv("SERP_API_KEY")
SERP_API_ENDPOINT = os.getenv("SERP_API_ENDPOINT")
params = {
"engine": "bing",
"query": "best project management software",
"location": "United States",
"language": "en",
"device": "desktop",
"page": 1,
"output": "json"
}
headers = {
"Authorization": f"Bearer {SERP_API_KEY}"
}
response = requests.get(
SERP_API_ENDPOINT,
params=params,
headers=headers,
timeout=30
)
response.raise_for_status()
serp_json = response.json()
正式项目中,API key 应放在 environment variables 或 secret manager 中,不要写死在前端代码或公开仓库里。
提取 Title、Link 和 Snippet
拿到 Bing SERP JSON 后,可以解析 organic results。
from urllib.parse import urlparse
def get_domain(url: str | None) -> str:
if not url:
return ""
parsed = urlparse(url)
return parsed.netloc.replace("www.", "") if parsed.netloc else ""
def clean_text(value: str | None) -> str:
if not value:
return ""
return " ".join(value.split())
def extract_bing_organic_results(serp_json: dict) -> list[dict]:
organic_results = serp_json.get("organic_results", [])
extracted = []
for index, item in enumerate(organic_results, start=1):
link = item.get("link") or item.get("url")
result = {
"position": item.get("position") or index,
"title": clean_text(item.get("title")),
"link": link or "",
"domain": get_domain(link),
"snippet": clean_text(item.get("snippet") or item.get("description"))
}
if result["title"] and result["link"]:
extracted.append(result)
return extracted
这会得到一组干净的 Bing organic results,可用于存储、导出或传入下一个工作流。
加入 Search Metadata
没有上下文的 ranking position 很难使用。
对 SEO tracking 来说,应保存 query、engine、location、language、device、page 和 timestamp。
def add_search_metadata(results: list[dict], serp_json: dict) -> list[dict]:
params = serp_json.get("search_parameters", {})
for result in results:
result["query"] = params.get("query") or params.get("q") or ""
result["engine"] = params.get("engine") or "bing"
result["location"] = params.get("location") or ""
result["language"] = params.get("language") or ""
result["device"] = params.get("device") or ""
result["page"] = params.get("page") or ""
return results
这样之后才方便比较不同国家、语言、设备和页面的 ranking data。
导出 Bing SERP Results 为 CSV
CSV 适合 SEO review、reporting、spreadsheet analysis 和简单数据交付。
import csv
def save_results_to_csv(results: list[dict], filename: str = "bing_serp_results.csv") -> None:
fieldnames = [
"query",
"engine",
"location",
"language",
"device",
"page",
"position",
"title",
"link",
"domain",
"snippet"
]
with open(filename, mode="w", newline="", encoding="utf-8") as file:
writer = csv.DictWriter(file, fieldnames=fieldnames)
writer.writeheader()
writer.writerows(results)
results = extract_bing_organic_results(serp_json)
results = add_search_metadata(results, serp_json)
save_results_to_csv(results)
输出的 CSV 可以导入 Google Sheets、Excel、BI dashboard 或自己的 SEO database。
常见使用场景
SEO Rank Tracking
Bing 搜索量通常不如 Google,但对许多行业来说仍然有价值,尤其是当团队希望比较多搜索引擎可见度时。
|
字段 |
SEO 用途 |
|
|
追踪排名变化 |
|
|
检查结果展示方式 |
|
|
确认排名 URL |
|
|
监测竞争对手 |
|
|
分析搜索结果摘要 |
|
|
比较不同市场 |
|
|
区分设备上下文 |
Competitor Monitoring
Bing SERP API 可以帮助你检查哪些 competitors 出现在重要 keyword 中。
你可以追踪:
-
competing domains
-
ranking changes
-
snippet changes
-
new pages entering the SERP
-
brand visibility by market
AI Agent 和 RAG
AI Agent 可以把 Bing SERP JSON 当作 source discovery layer。
常见流程如下:
User question
→ Generate Bing query
→ Get SERP JSON
→ Extract titles, links, snippets, and domains
→ Filter sources
→ Fetch selected pages
→ Generate grounded answer
Agent 不应抓取所有 URL,而应先根据 title、snippet、domain 和 relevance 筛选结果。
FAQ
什么是 Bing SERP API?
Bing SERP API 是一种可以返回 Bing 搜索结果的 API,通常提供 JSON 或 HTML 格式。它可以帮助开发者采集 title、URL、snippet、ranking position、domain 和 search metadata,而不需要自己建立 scraper。
可以用 Python 采集 Bing 搜索结果吗?
可以。你可以用 Python 调用 SERP API,接收 Bing SERP JSON,解析 organic_results,并导出 title、link、snippet、position 和 domain 等字段。
Bing SERP JSON 应该保存哪些字段?
对 SEO 和数据工作流来说,建议保存 query、engine、location、language、device、page、timestamp、position、title、link、domain 和 snippet。
Bing SERP data 对 AI Agent 有用吗?
有用。Bing SERP data 可以帮助 AI Agent 发现来源、比较 domain、筛选 snippet,并在生成 grounded answer 前选择要抓取的页面。
结语
使用 SERP API 采集 Bing search results,本质上是把搜索页面转换成干净的结构化数据。
先从基本参数开始:query、location、language、device 和 page。开始免费测试
再提取 workflow 真正需要的字段:position、title、link、domain 和 snippet。
对 SEO 来说,它能帮助追踪排名和竞争对手。对 AI Agent 和 RAG 来说,它可以在抓取完整页面前帮助发现来源。对 market research 来说,它可以比较不同 topic、brand 和 region 的搜索可见度。
最稳定的 workflow 很简单:发送 targeted Bing query,获取 structured SERP JSON,normalize 字段,保存 metadata,并在需要比较时测试不同 location 或 engine。