如何使用 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。