プログラマー向けモードで表示中ビジネスユーザー向けへ
Bright Data 学習ポータル
UC-SERP-003SERPLv3

Price Comparison(価格比較)

ショッピング系 SERP やマーチャントサイトから価格を横断収集して比較する。

SERP APIWeb Unlocker

KPI 例

  • 取得 SKU 数
  • 価格更新遅延
  • プライスマッチ率

価格比較では、各 EC サイトを個別に回る前に、ショッピング SERP で「どの店舗が、いくら前後で出しているか」をまとめて把握できると調査が速くなります。SERP API は Google Shopping の結果を構造化して返せるため、比較対象候補の抽出に向いています。

誰の課題か

  • EC 事業者が、競合や販売チャネルごとの価格帯を定点観測したい
  • 比較サイト運営者が、商品候補と店舗候補を短時間で集めたい
  • リサーチ担当が、価格だけでなくショップ名やレビュー件数も合わせて見たい

推奨製品セット

製品役割使いどころ
SERP APIショッピング結果の取得商品名、価格、ショップ名、順位を取る
API Access認証方式バッチや分析ジョブから呼ぶ
  • まずショッピング SERP で候補を集め、個別商品ページの詳細確認が必要なものだけ次工程へ送ります。
  • 価格比較の最初の目的は「市場の全体像を取ること」であり、在庫や送料の最終確認は別処理に分けるほうが安定します。

最小実装イメージ

curl

curl -X POST "https://api.brightdata.com/request" \
  -H "Authorization: Bearer $BRIGHTDATA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
        "zone": "serp_api1",
        "url": "https://www.google.com/search?q=wireless+headphones&tbm=shop",
        "format": "json",
        "method": "GET",
        "country": "us"
      }'

Python

import csv
import os
import requests
 
API_KEY = os.environ["BRIGHTDATA_API_KEY"]
 
response = requests.post(
    "https://api.brightdata.com/request",
    headers={
        "Authorization": f"Bearer {API_KEY}",
        "Content-Type": "application/json",
    },
    json={
        "zone": "serp_api1",
        "url": "https://www.google.com/search?q=wireless+headphones&tbm=shop",
        "format": "json",
        "method": "GET",
        "country": "us",
    },
    timeout=60,
)
response.raise_for_status()
data = response.json()
 
with open("shopping_comparison.csv", "w", newline="", encoding="utf-8") as f:
    writer = csv.writer(f)
    writer.writerow(["rank", "title", "price", "shop", "reviews_cnt"])
    for item in data.get("shopping", []):
        writer.writerow([
            item.get("rank"),
            item.get("title"),
            item.get("price"),
            item.get("shop"),
            item.get("reviews_cnt"),
        ])
  • Google Shopping の結果は shopping[] に入り、価格比較の初期スナップショットに使えます。
  • price は表示文字列なので、後段で通貨や記号を正規化して比較用カラムに分けます。

運用ポイント

  • 商品名の表記揺れが大きい場合は、型番やブランド名を含む検索語に寄せます。
  • 比較対象が多いときは、同じクエリを何度も打たず結果を保存して再利用します。
  • 表示価格と最終支払額は一致しないことがあるため、送料や税は別フィールドとして扱います。
  • SERP 側では市場把握、個別ページ側では精査という二段構えにすると保守しやすくなります。

関連リンク