動画シリーズ、講座、コンテンツキャンペーンを計画する前に、そのトピックが見られているのか、勝っている動画がどれくらいの長さなのか、すでにどのチャンネルが握っているのかを知りたいはずです。YouTube 自身の検索は 1 度に 10 件ずつ表示するだけで、数字を並べて比べることはできません。Lovely Router が検索を代わりに実行します。キーワードを送ると動画 1 本につき 1 つの JSON オブジェクトが返り、プリペイド残高から動画 1 本ごとに課金されます。スクリプトや AI エージェントから、1 つの API キーで実行できます。
AI エージェントに任せる
このプロンプトを Claude Code、Cursor、Codex などのコーディングエージェントに貼り付けてください。ドキュメントの場所と API キーの使い方をエージェントに伝えます。
動画を作る前に、YouTube でそのトピックにどれだけ需要があるかを調べる. 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 inputs (links, keywords or accounts) and how many results you need>仕組み
トピックをリストにする
検討しているキーワードを 1 件ずつ書き出します。トピックそのもの、人々が尋ねる質問、製品名に「review」を加えたものなどです。
上限を付けてツールを実行する
POST /v1/tools/youtube-search/runに送ります。maxItemsに動画数を、max_resultsに実行の上限を指定します。実行は最大費用を残高から仮押さえし、動画を JSON で返します。トピックを比べる
キーワードごとに、再生数の中央値、小さなチャンネルの動画が占める割合、一般的な長さを見ます。小さなチャンネルで再生数が高いトピックは空いていて、少数の大きなチャンネルが占めるトピックは空いていません。
1 回のリクエストでトピックを検索する
YouTube 動画を検索は、keywords に検索語を受け取り、1 件につき 1 回検索します。キーワードの代わりに、startUrls に YouTube のリンク(検索結果、チャンネル、再生リスト、動画の URL)を渡すこともできます。sort、uploadDate、duration のフィルターはキーワード検索に適用されます。
curl https://lovelyrouter.com/v1/tools/youtube-search/run \
-H "Authorization: Bearer $LOVELY_API_KEY" \
-H "content-type: application/json" \
-d '{
"input": {
"keywords": ["espresso tutorial"],
"maxItems": 5
},
"max_results": 5
}'60 秒を過ぎても実行中の場合は 202 が返ります。ポーリングの方法はツールを実行するをご覧ください。1 回の実行で最大 200 本の動画を取得できます。
動画ごとの内容
| 項目グループ | 取得できる内容 |
|---|---|
| 識別 | 動画のタイトル |
| リーチ | 再生数 |
| エンゲージメント | 高評価とコメント数 |
| 形式 | 長さ |
| 発信元 | 公開したチャンネル |
| 時期 | 公開日 |
レシピ
あるキーワードの 5 つの言い換えをそれぞれ 50 本ずつ検索し、言い換えごとの再生数の中央値を比べて、需要がいちばん大きいものを選びます。
知らないチャンネルの動画で再生数が高いものを残します。小さなチャンネルでも勝てる兆しです。
上位の動画を長さでグループ分けします。勝っている動画が 8〜12 分なら、30 分ではなくそれに合わせて計画します。
uploadDate フィルターで最近の投稿だけを対象にし、どのキーワードでまだ再生数の多い動画が出ているかを確認します。
複数のキーワードをまたいでどのチャンネルが最も多く登場するかを数え、youtube-channel で追跡します。
普段の言葉で頼みたい場合は、MCP サーバーを接続して Claude Code や Cursor に次のように伝えます。「YouTube で 'espresso tutorial'、'home espresso setup'、'best espresso grinder' を 30 本ずつ検索し、動画あたりの再生数がいちばん多いキーワードと、最も多く登場するチャンネルを教えてください。max_results は 90 に設定してください。」
他のデータと組み合わせる
検索では、存在するものがわかります。次のツールは、それをどう活かすかを示します。
キーワード検索、または YouTube のリンク(検索結果・チャンネル・再生リスト・動画の URL)から YouTube 動画を取得:タイトル、再生数、高評価、コメント数、長さ、チャンネル、日付。
YouTube チャンネルの動画(@MrBeast のようなハンドルまたはチャンネル URL):タイトル、再生数、高評価、コメント数、長さ、日付。
YouTube 動画またはショートのコメント:本文、高評価、返信数、投稿者、日付。人気順または新しい順。
YouTube 動画の字幕全文(タイムスタンプ付き):動画リンクごとに 1 件、動画にあれば指定した言語で。
キーワードの Google トレンド関心度(時系列・地域別)。
youtube-channelは、検索で見つけたチャンネルの最近の動画をすべて一覧します。youtube-commentsは、上位の動画に視聴者が寄せた質問を示します。それが次のタイトルです。youtube-transcriptは、勝っている動画の発話内容を返すので、構成を研究できます。google-trendsは、YouTube の外でそのトピックへの関心が高まっているかを示します。
全体の進め方についてはソーシャルリスニングをご覧ください。
料金
料金は動画 1 本ごとにかかります。実行を開始すると最大費用(呼び出し料金 + 動画単価 × max_results)が仮押さえされ、実際に返った分で精算されて、仮押さえの残りは残高に戻ります。失敗またはタイムアウトした実行は返した動画の分だけを支払い、開始時に拒否された実行は無料です。
10 個のキーワードを 30 本ずつ調べると、動画 300 本分として課金されます。サブスクリプションや月額の最低利用料はなく、$5 からチャージでき、1 つの残高でツールとモデルの両方を支払えます。現在の価格は上のカードに表示されており、料金ではすべてのツールを一覧できます。
よくある質問
1 回の実行で複数のキーワードを検索できますか?+
はい。keywords はリストで、各項目がそれぞれ別の検索として実行されます。
投稿日や動画の長さで絞り込めますか?+
はい。uploadDate と duration でキーワード検索を絞り込み、sort で順序を変えられます。startUrls を渡した場合は適用されません。
キーワードではなく、再生リストやチャンネルから始められますか?+
はい。リンクを startUrls に入れてください。検索結果、チャンネル、再生リスト、動画の URL を受け付けます。
1 回の実行で何本の動画を取得できますか?+
最大 200 本です。それより少なくしたい場合は maxItems を使います。
検索ボリュームはわかりますか?+
いいえ。返すのは動画と、その再生数、高評価、コメント数、長さ、チャンネル、日付です。需要は、これらの数字から判断します。
サブスクリプションは必要ですか?+
いいえ。プリペイド残高にクレジットを追加し、実行ごとに残高から差し引かれます。失敗した実行は返した結果の分だけを支払い、自動で更新されるものは何もありません。
市場に合わせてコンテンツを企画するなら、ソーシャルリスニング、インフルエンサーリサーチ、そしてツールカタログもご覧ください。