競合が何を広告しているかを把握し、競合広告を調査できます。Meta 広告ライブラリに出ている広告のコピー、クリエイティブ、配信開始日、Google 広告の形式、地域、掲載期間、そして LinkedIn のキャンペーンです。各広告ライブラリはデータツールになっていて、ブラウザで開くのと同じライブラリの URL を送ると、すべての広告が JSON で返り、料金は広告 1 件ごとにかかります。スクリプトで毎週実行することも、AI エージェントに任せることもできます。
AI エージェントに任せる
このプロンプトを Claude Code、Cursor、Codex などのコーディングエージェントに貼り付けてください。ドキュメントの場所と API キーの使い方をエージェントに伝えます。
Track my competitors' ads (copy, creative, format and dates) from the Meta Ad Library, Google Ads Transparency Center and LinkedIn Ad Library. Use the Lovely Router data tools: each returns JSON and is billed per result.
- Docs (read first): https://lovelyrouter.com/docs/tools/find.md and https://lovelyrouter.com/docs/tools/run.md
- Plan first: POST https://lovelyrouter.com/v1/tools/suggest with `{"task": "<my task in plain words>"}` (free). It returns the tools to run in order, each with an example `input`, the `input_required` fields, an estimated cost and a ready-made `run` request. Replace the example values with my task's; if a field is unclear, read the tool with GET https://lovelyrouter.com/v1/tools/<id>. To browse instead, POST https://lovelyrouter.com/v1/tools/discover searches the catalog.
- Show me the plan and its estimated cost (`total_est_cost_usd`) before running anything large.
- Run: POST https://lovelyrouter.com/v1/tools/<id>/run with `{"input": {...}, "max_results": N}`. A 200 has the finished run with `items`; a 202 means it is still running, so poll the `poll` path until `status` is `succeeded`, `failed`, `timed_out` or `stopped`.
- Only delivered results are billed. Keep max_results small on the first run, check the output, then scale up.
- If you support MCP, connect https://lovelyrouter.com/mcp instead (Streamable HTTP, same key; https://lovelyrouter.com/docs/tools/mcp.md) and use suggest_tools, get_tool and run_tool.
- Auth: read my API key from the LOVELY_API_KEY environment variable and send it as `Authorization: Bearer $LOVELY_API_KEY`. Never print or commit the key. If it is not set, ask me to create one at https://lovelyrouter.com/app/keys.
- Billing is prepaid: every call is charged to my balance, so test with a small request before running anything large.
- Every docs page is plain Markdown; the full index is https://lovelyrouter.com/llms.txt.
My task: <the competitors, the countries and what to report about their ads>仕組み
ライブラリの URL を作る
Meta 広告ライブラリをいつもどおり国、配信中のステータス、キーワードで検索するか、広告主の Facebook ページを開いて、その URL をコピーします。Google の場合は、広告の透明性センターで広告主またはドメインを開きます。LinkedIn の場合は、広告ライブラリの検索 URL を使います。
ツールを実行する
URL を facebook-ads には
urlsで、google-ads-transparency と linkedin-ads にはstartUrlsで、上限max_resultsと一緒に送ります。時系列で比較する
広告を広告主や日付と一緒に保存し、翌週もう一度実行して差分を取ります。同じキーで使えるモデルに、コピーをオファー、訴求軸、CTA(行動喚起)ごとに分類させることもできます。
1 回のリクエストで Facebook 広告ライブラリを検索する
次の実行は、「meal kit」に一致する米国で配信中の広告を最大 100 件収集します。
curl https://lovelyrouter.com/v1/tools/facebook-ads/run \
-H "Authorization: Bearer $LOVELY_API_KEY" \
-H "content-type: application/json" \
-d '{
"input": {
"urls": [{"url": "https://www.facebook.com/ads/library/?active_status=active&ad_type=all&country=US&q=meal%20kit"}],
"count": 100
},
"max_results": 100
}'items の各アイテムは 1 件の広告で、クリエイティブ、コピー、配信開始日、広告主を含みます。キーワードではなく特定の競合を追うには、その Facebook ページの URL を urls に入れます。1 回の実行に複数の URL を指定することもでき、limitPerSource で各 URL から取得する広告数に上限を設けられます。60 秒を過ぎても実行中の場合は、ツールを実行するで説明しているとおり、202 と poll パスが返ります。
Google のツールには、広告主またはドメインの透明性センター URL を渡します。
curl https://lovelyrouter.com/v1/tools/google-ads-transparency/run \
-H "Authorization: Bearer $LOVELY_API_KEY" \
-H "content-type: application/json" \
-d '{"input": {"startUrls": [{"url": "https://adstransparency.google.com/?region=US&domain=nike.com"}]}, "max_results": 50}'各広告の形式、テキスト、表示された期間、地域が返ります。
ツール
検索 URL で Meta 広告ライブラリの広告を取得:クリエイティブ、コピー、開始日、広告主。
Google 広告透明性センターに掲載された広告主の広告:形式、テキスト、表示期間、地域。
広告主またはキーワード検索 URL で LinkedIn 広告ライブラリの広告を取得:コピー、形式、日付。
Similarweb による Web サイトのトラフィック推定:月間訪問数、ランク、流入元、上位国、エンゲージメント。
| ライブラリ | ツール | 入力 | 返ってくる内容 |
|---|---|---|---|
| Meta 広告ライブラリ | facebook-ads | urls:広告ライブラリの検索 URL または Facebook ページの URL、limitPerSource | クリエイティブ、コピー、配信開始日、広告主 |
| Google 広告の透明性センター | google-ads-transparency | 広告主またはドメインを指定した adstransparency.google.com の startUrls、skipDetails | 形式、テキスト、表示期間、地域 |
| LinkedIn 広告ライブラリ | linkedin-ads | startUrls:広告ライブラリの検索 URL または企業ページの URL | コピー、形式、日付 |
| Web サイトのトラフィック | website-traffic | domains | 推定月間訪問数、ランキング、流入元、上位の国、エンゲージメント |
Tip
LinkedIn では、企業ページの URL よりも広告ライブラリの検索 URL のほうが有利です。日付と国のフィルターが含まれ、実行も速くなります。Google では、"skipDetails": true を指定すると各広告を開かずにすべての広告を一覧できます。速くなる代わりに、一部のフィールドが不完全になります。
レシピ
競合ごとに、Facebook ページの URL で facebook-ads を、?region=US&domain=theirdomain.com で google-ads-transparency を、広告ライブラリの検索 URL で linkedin-ads を実行します。配信開始日が前週の実行より新しい広告だけを残し、新しい広告をチームに共有します。
販売している国ごとに、カテゴリのキーワードで Meta 広告ライブラリを検索し、モデルにコピーをオファー(無料トライアル、割引、保証)とオーディエンスごとに分類させます。
google-ads-transparency で得た地域と日付を、同じドメインについて website-traffic が返す流入元や上位の国と比べます。
最も近い競合 3 社に毎月 linkedin-ads を実行し、web-fetch で料金ページを読み込んで、各キャンペーンとその誘導先のオファーを突き合わせます。
エージェントに頼む
MCP サーバーを Claude Code、Cursor などの MCP クライアントに接続し、次のように頼みます。「この 3 ブランドが米国で配信中の広告を Meta 広告ライブラリと Google 広告の透明性センターから取得し、直近 30 日に配信が始まったものを一覧にして、オファーごとに分類してください。すべての実行に max_results を設定してください。」 エージェントは suggest_tools でツールを見つけ、get_tool でスキーマを読み、残高からツールを実行します。
よくある質問
Facebook 広告ライブラリの API はありますか?+
facebook-ads ツールが Meta 広告ライブラリを代わりにスクレイピングします。広告ライブラリの検索 URL か Facebook ページの URL を送ると、各広告のクリエイティブ、コピー、配信開始日、広告主が JSON で返り、広告 1 件ごとに課金されます。
国で広告を絞り込めますか?+
はい、送る URL で絞り込みます。Meta 広告ライブラリの URL には country= を、Google 広告の透明性センターの URL には region= を設定し、LinkedIn では国と日付のフィルターを含む広告ライブラリの検索 URL を使います。
競合の新しい広告だけを追跡するには?+
競合広告のモニタリングでは、同じ URL を定期的に実行し、各広告を配信開始日と一緒に保存して、前回の実行以降に配信が始まった広告だけを残します。実行ごとの max_results の上限により、各実行の費用は事前に確定します。
競合の Google 広告や LinkedIn 広告も見られますか?+
はい。google-ads-transparency ツールは広告主の Google 広告を形式、テキスト、日付、地域とともに返し、linkedin-ads ツールは LinkedIn 広告をコピー、形式、日付とともに返します。
Meta や Google の開発者アカウントは必要ですか?+
いいえ。ツールはモデルと同じ API キーとプリペイド残高で動き、別のアカウントは不要です。公開されている広告ライブラリの URL を送れば、ツールが代わりに読み取ります。
その競合について顧客が何を語っているかはソーシャルリスニングとレビューモニタリングを、競合の商品や価格については EC インテリジェンスをご覧ください。