如何使用 SERP API 擷取 Bing 搜尋結果

了解如何使用 SERP API 和 Python 擷取 Bing 搜尋結果,提取 title、URL、snippet、ranking position、domain 和 metadata,支援 SEO、AI Agent、RAG 和競爭對手監測。

talor ai
Last updated on
4 min read

要使用 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 來說,常用欄位包括:

欄位

含義

position

Bing search results 中的排名位置

title

搜尋結果標題

link / url

目標頁面 URL

domain

網站 domain

snippet

搜尋結果摘要

displayed_link

顯示 URL 或 breadcrumb

date

日期訊號,如果有

search_parameters

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 工作流程會用到這些參數:

參數

為什麼重要

query

搜尋 keyword 或 phrase

engine

指定 Bing 為目標搜尋引擎

location

控制國家、地區或城市上下文

language

控制本地化搜尋體驗

device

區分 desktop 和 mobile 結果

page / start

控制分頁

num

控制返回結果數,如果支援

output

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 用途

position

追蹤排名變化

title

檢查結果展示方式

link

確認排名 URL

domain

監測競爭對手

snippet

分析搜尋結果摘要

location

比較不同市場

device

區分裝置上下文

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。

Scale Your Data
Operations Today.

Join the world's most robust proxy network.

Start Free Trial