UC-SERP-002SERPLv3
Brand Protection(ブランド保護監視)
検索結果上の不正出品・なりすましを定常監視し、侵害を早期検知する。
SERP API
KPI 例
- 侵害検知件数
- 誤検知率
- 対応までのリードタイム
ブランド保護では、検索結果を人手で巡回するより、まず「どの URL を確認すべきか」を機械的に絞るほうが効果的です。SERP API は、ブランド名や商標を含むクエリの結果を構造化で返せるため、正規ドメイン以外の上位露出を継続監視する入口として使えます。
誰の課題か
- ブランド管理担当が、自社名や商品名で上位表示される第三者ページを追いたい
- 法務や CS が、なりすましや不正販売の兆候を早く見つけたい
- マーケティングが、公式ドメイン以外の露出増加を定常監視したい
推奨製品セット
| 製品 | 役割 | 使いどころ |
|---|---|---|
| SERP API | 検索結果の取得 | ブランド関連クエリの上位結果を継続取得する |
| API Access | 認証方式 | バッチや監視ジョブから呼ぶ |
- まずは SERP 側で候補 URL を絞り、その後に個別ページ確認が必要なものだけを次工程に回す構成が実務向きです。
- Bright Data の FAQ でも Brand Protection は SERP API の代表ユースケースとして挙げられています。
最小実装イメージ
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=Bright+Data+official",
"format": "json",
"method": "GET",
"country": "jp"
}'Python
import os
import requests
API_KEY = os.environ["BRIGHTDATA_API_KEY"]
ZONE = "serp_api1"
ALLOWED_DOMAINS = {"brightdata.com", "docs.brightdata.com"}
response = requests.post(
"https://api.brightdata.com/request",
headers={
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json",
},
json={
"zone": ZONE,
"url": "https://www.google.com/search?q=Bright+Data+official",
"format": "json",
"method": "GET",
"country": "jp",
},
timeout=60,
)
response.raise_for_status()
data = response.json()
for item in data.get("organic", []):
link = item.get("link", "")
if link and not any(domain in link for domain in ALLOWED_DOMAINS):
print(item.get("rank"), item.get("title"), link)- この段階では「侵害の確定」ではなく、確認対象の一次リスト化に徹します。
- 実運用ではブランド名、商品名、商標表記揺れごとにクエリを分けます。
運用ポイント
- 自社の正規ドメイン一覧を先に持ち、検索結果の URL と照合して除外条件を固定します。
- 監視対象はブランド名だけでなく、偽造品で使われやすい語句との組み合わせも別クエリで持ちます。
- 取得結果はタイムスタンプ付きで保存し、法務確認時に「いつ観測したか」を残します。
- SERP API は成功リクエスト課金なので、監視頻度は日次か週次から始めるのが無難です。