はじめに
YouTubeチャンネルを運営していると、「企画」の重要性を嫌というほど思い知らされます。撮影や編集、サムネイルにどれだけ力を入れても、そもそもの企画に根拠がなければ再生数は伸びません。時間もお金も溶けていくだけです。
では、根拠のある企画はどうやって見つけるのか。答えはシンプルで、「今YouTube上で何が伸びていて、何が伸びていないのかを数字で把握すること」です。ただ、このリサーチ作業が本当に地獄なんですよね。YouTubeで検索して、動画を1本ずつクリックして、再生数と投稿日を確認して、スプレッドシートにコピペして…。これだけで平気で1日が飛びます。
そこで登場するのが、ノーコード自動化ツール n8n(エヌエイトエヌ) です。X(旧Twitter)上でYouTubeの中の人として知られるP氏が紹介し、大きな反響を呼んだこの方法を、本記事では「そもそもn8nって何?」というところから、具体的な設定画面の操作まで、初心者の方でも迷わず実践できるレベルで徹底的に解説していきます。
そもそもn8nとは何か

n8nは、400種類以上のアプリやサービスを「パズルのように繋ぐだけ」で、自分だけの自動化ワークフロー(一連の作業を決まった順番で自動実行する仕組み)を構築できるツールです。たとえば、ニュースサイトから記事を拾って、ChatGPTやGeminiで要約を作り、それをXに自動投稿する――こうした一連の流れを、プログラミングの知識なしで組み立てることができます [1]。
さらに驚くのは、n8nにはワークフローそのものを「こういうことを自動化したい」とプロンプト(指示文)で自動生成してくれるAI機能まで搭載されている点です。エンジニアでなくても、初心者でも普通に使いこなせます。
n8nの料金プラン
料金についてもよく聞かれるところなので、整理しておきます。
Communityプラン
- 月額料金:無料(セルフホスト=自分でサーバーを用意して動かす方式)
- ワークフロー実行数:無制限
- 向いている人:サーバーの構築・管理ができる技術者
Starterプラン
- 月額料金:約€20(約3,500円 / 年払い)
- ワークフロー実行数:月2,500回
- 向いている人:個人クリエイター、まず試してみたい人
Proプラン
- 月額料金:約€50(約9,000円 / 年払い)
- ワークフロー実行数:月10,000回
- 向いている人:小規模チーム、本格的に運用したい人
YouTube企画リサーチの用途であれば、Starterプランで十分です。14日間の無料トライアルも用意されているので、まずは触ってみて判断すればOKです [2]。ちなみに、専用のリサーチツールを契約すると月1万円から、高いものだと月5万円程度かかることを考えると、必要なときだけ自分で回せるn8nのコスパはかなり強いと言えます。
準備編 ── n8nアカウントとAPIキーを用意する

ワークフローを構築する前に、2つの準備が必要です。n8nのアカウント作成と、YouTubeのデータを取得するための「APIキー」の取得です。
ステップ1 n8nクラウド版のアカウントを作成する
- n8n公式サイトの料金ページにアクセスします。
- 「Starter」プランの「Start free trial」ボタンをクリックします。
- 氏名、メールアドレス、パスワードを入力し、画面の指示に従ってアカウント登録を完了させます。
登録が完了すると、n8nのダッシュボード(管理画面)が表示されます。ここがワークフローを作成・管理するホーム画面になります。
ステップ2 YouTube Data API v3の「APIキー」を取得する
APIキーとは、n8nがYouTubeのデータベースにアクセスするための「合鍵」のようなものです。この鍵がないと、YouTubeからデータを引っ張ってくることができません。取得はGoogleが提供する Google Cloud Platform(GCP、Googleのクラウドサービス管理画面) で行います。手順は以下の通りです。
手順1 GCPにログインする
Google Cloud Console にアクセスし、お持ちのGoogleアカウントでログインします。初めてアクセスする場合は利用規約への同意を求められるので、チェックを入れて進みます。
手順2 新しいプロジェクトを作成する
画面上部にあるプロジェクト選択メニュー(「My First Project」などと表示されている部分)をクリックし、ダイアログ右上の「新しいプロジェクト」を選択します。プロジェクト名には、自分がわかりやすい名前を入力してください(例:youtube-research)。入力したら「作成」ボタンを押します。
手順3 YouTube Data API v3を有効化する
作成したプロジェクトが選択されていることを確認したら、左側のナビゲーションメニュー(三本線のアイコン)から「APIとサービス」>「ライブラリ」を選択します。検索窓に「YouTube Data API v3」と入力して検索し、表示されたAPIをクリックします。詳細画面が開いたら「有効にする」ボタンを押してください [3]。
手順4 APIキーを発行する
APIが有効化されたら、再び左メニューから「APIとサービス」>「認証情報」を選択します。画面上部の「+ 認証情報を作成」をクリックし、表示されたメニューから「APIキー」を選びます。数秒でAPIキーが生成されるので、表示されたキーをコピーし、メモ帳などに保管しておいてください。このキーは後ほどn8nの設定で使います。
注意: APIキーは他人に知られると悪用される可能性があります。SNSやブログなどに公開しないよう注意してください。
YouTube Data API v3のクォータ(利用上限)について
YouTube Data API v3は無料で利用できますが、1日あたり 10,000クォータ(ポイント制の利用上限) という制限が設けられています。APIの種類によって消費するポイントが異なり、動画検索(search.list)は1回あたり100ポイント、動画の詳細情報取得(videos.list)は1回あたり1ポイントを消費します [4]。つまり、1日に約100回の検索が可能で、個人のリサーチ用途には十分すぎる量です。
実践編 ── ワークフローを一から構築する

準備が整ったところで、いよいよn8nの画面を操作しながらワークフローを組み立てていきます。完成形のワークフローは、以下のようなノード(機能ブロック。ひとつの処理を担当するパーツのこと)の流れになります。
Form Trigger → HTTP Request(動画検索) → HTTP Request(動画詳細取得) → HTTP Request(チャンネル情報取得) → IF(条件フィルター) → Google Sheets(スプレッドシート出力)
ノード1 Form Trigger ── リサーチ条件の入力フォームを作る
最初に、リサーチの条件を入力するためのフォームを作成します。Form Trigger(フォームトリガー)は、入力フォームを自動で生成してくれるn8nの便利なノードです。外部のフォームサービスを使う必要はありません [5]。
- n8nのダッシュボードで「Add workflow」をクリックし、新しいワークフローを作成します。
- 「Add first step」をクリックし、検索窓に「Form Trigger」と入力して選択します。
- 左側の設定パネルで、以下のフォーム項目を追加していきます。「Form Elements」セクションの「Add Form Element」ボタンを繰り返しクリックして、1つずつ設定してください。
フォームに追加する項目は以下の5つです。
① 検索キーワード
- Element Name(内部で使う変数名):
keyword - Type(入力タイプ):Text
- 必須項目です。例:「副業 始め方」
② 取得件数
- Element Name:
maxResults - Type:Number
- 必須項目です。最大50まで指定できます
③ 投稿期間(日数)
- Element Name:
daysAgo - Type:Number
- 例:30(直近30日間の動画を検索)
④ 最低再生数
- Element Name:
minViewCount - Type:Number
- 例:1000(再生数1,000回以上の動画だけを対象にする)
⑤ 動画の長さ
- Element Name:
videoDuration - Type:Dropdown(選択式)
- 選択肢:any(すべて)/ short(4分未満)/ medium(4〜20分)/ long(20分超)
「Form Title」に「YouTube企画リサーチ」などのタイトルを入力しておくと、フォーム画面がわかりやすくなります。
ノード2 HTTP Request ── YouTube動画を検索する
フォームに入力されたキーワードを使って、YouTube Data APIに検索リクエストを送信するノードを追加します。HTTP Request(HTTPリクエスト)は、外部のWebサービスにデータを要求するためのノードです。
- Form Triggerノードの右側に表示される「+」ボタンをクリックし、「HTTP Request」ノードを検索して追加します。
- 以下のように設定します。
基本設定
- Method(通信方式):GET
- URL(リクエスト先):https://www.googleapis.com/youtube/v3/search
Query Parameters(URLに付けて送る検索条件)
「Add Parameter」ボタンを繰り返しクリックして、以下を1つずつ追加してください。
- part =
snippet── 動画のタイトルやチャンネル名などの基本情報を取得します - q =
{{ $json.keyword }}── フォームで入力したキーワードを自動で参照します。{{ }}で囲む書き方はn8nの「式」(Expression)と呼ばれ、前のノードのデータを動的に使うための記法です - maxResults =
{{ $json.maxResults }}── フォームで入力した取得件数を自動で参照します - type =
video── 動画のみを検索対象にします(チャンネルや再生リストは除外) - order =
viewCount── 再生数の多い順に並べます - videoDuration =
{{ $json.videoDuration }}── フォームで選択した動画の長さで絞り込みます - publishedAfter =(後述のCodeノードで生成) ── 投稿期間の開始日を指定します
- key = あなたのAPIキー ── GCPで取得したAPIキーを貼り付けてください
ここで、publishedAfterパラメータには日付を国際標準の日時フォーマット(例:2026-01-23T00:00:00Z)で渡す必要があります。フォームで入力した「日数」から自動計算するには、Form TriggerとHTTP Requestの間にCodeノード(JavaScriptコードを書いて実行できるノード)を挟み、以下のようなコードを記述します [6]。
const daysAgo = $json.daysAgo || 30;const date = new Date();date.setDate(date.getDate() - daysAgo);return {...$json,publishedAfter: date.toISOString()};ノード3 HTTP Request ── 動画の詳細情報(再生数・いいね数など)を取得する
前のノードの検索で取得できるのは動画のタイトルやチャンネル名といった基本情報だけで、再生数やいいね数は含まれていません。これらの統計情報を取得するには、videos.listという別のAPIエンドポイント(データを取得するためのURL。窓口のようなもの)を呼び出す必要があります [7]。
新しいHTTP Requestノードを追加し、以下のように設定します。
基本設定
- Method:GET
- URL:https://www.googleapis.com/youtube/v3/videos
Query Parameters
- part =
statistics,snippet── 統計情報(再生数・いいね数など)と基本情報を同時に取得します - id =
{{ $json.items.map(item => item.id.videoId).join(',') }}── 前のノードで取得した検索結果の動画IDを、カンマ区切りでまとめて指定します - key = あなたのAPIキー
このリクエストにより、各動画の再生数(viewCount)、いいね数(likeCount)、コメント数(commentCount)が取得できます。しかもvideos.listは1リクエストあたり1ポイントしか消費しないため、非常に効率的です。
ノード4 HTTP Request ── チャンネルの登録者数を取得する
元のポストで最も重要とされていた「登録者数より再生数が多い動画」を見つけるためには、各動画のチャンネル登録者数も必要です。channels.listというエンドポイントを使って取得します [8]。
新しいHTTP Requestノードを追加し、以下のように設定します。
基本設定
- Method:GET
- URL:https://www.googleapis.com/youtube/v3/channels
Query Parameters
- part =
statistics── チャンネルの統計情報(登録者数など)を取得します - id =
{{ $json.items.map(item => item.snippet.channelId).join(',') }}── 動画情報から抽出したチャンネルIDをまとめて指定します - key = あなたのAPIキー
ノード5 IF ── 「登録者数 < 再生数」の動画だけを絞り込む
ここが、このワークフローの肝となる部分です。n8nのIFノード(条件分岐のノード。「もし○○なら通す、そうでなければ止める」という仕分け役)を使って、「チャンネル登録者数よりも再生数が多い動画」だけを通過させるフィルターを設定します。
- 「IF」ノードを追加します。
- 条件を以下のように設定します。
- Value 1:
{{ $json.statistics.viewCount }}(動画の再生数) - Operation: Larger(より大きい)
- Value 2:
{{ $json.channelStatistics.subscriberCount }}(チャンネル登録者数)
登録者が少ないのに再生が回っている動画は、ほぼ確実に「企画テーマそのもので勝っている」と言えます。つまり、そのテーマには需要がある可能性が高いわけです。この条件フィルターを通すだけで、リサーチの精度が格段に上がります。
さらに、最低再生数のフィルターも追加しておくと便利です。
- Value 1:
{{ $json.statistics.viewCount }} - Operation: Larger or Equal(以上)
- Value 2:
{{ $('Form Trigger').item.json.minViewCount }}(フォームで入力した最低再生数)
ノード6 Google Sheets ── スプレッドシートに自動出力する
フィルターを通過した動画データを、Googleスプレッドシートに自動で書き込みます。
事前準備として、Googleスプレッドシートを新規作成し、1行目に以下のヘッダー(列の見出し)を入力しておいてください。
- A列:検索キーワード
- B列:タイトル
- C列:チャンネル名
- D列:公開日
- E列:再生数
- F列:いいね数
- G列:コメント数
- H列:登録者数
- I列:URL
- J列:サムネイル
Google Sheetsノードを追加し、以下のように設定します。
- Credential(認証情報)の設定:初回は「Create New」をクリックし、Googleアカウントとの連携を完了させます。
- Resource:Row
- Operation:Append(行を末尾に追加する)
- Spreadsheet:作成したスプレッドシートを選択
- Sheet:書き込み先のシート名を選択
「Columns」セクションで「Map Each Column Below」を選択し、各列に対応するデータを以下のように割り当てます。
- 検索キーワード =
{{ $('Form Trigger').item.json.keyword }} - タイトル =
{{ $json.snippet.title }} - チャンネル名 =
{{ $json.snippet.channelTitle }} - 公開日 =
{{ $json.snippet.publishedAt }} - 再生数 =
{{ $json.statistics.viewCount }} - いいね数 =
{{ $json.statistics.likeCount }} - コメント数 =
{{ $json.statistics.commentCount }} - 登録者数 =
{{ $json.channelStatistics.subscriberCount }} - URL = https://www.youtube.com/watch?v=
{{ $json.id }} - サムネイル =
{{ $json.snippet.thumbnails.high.url }}
ワークフローの実行
すべてのノードの設定が完了したら、画面右上の「Execute workflow」ボタンをクリックします。Form Triggerで設定したフォームが表示されるので、検索キーワードや条件を入力して送信してください。数秒から数十秒後、指定したGoogleスプレッドシートにYouTubeの動画データがずらっと並んでいれば成功です。
応用編 ── リサーチの質をさらに高めるテクニック
基本のワークフローが動くようになったら、さらに実践的なテクニックを取り入れて、リサーチの質を引き上げていきましょう。
定期実行で常に最新トレンドを追いかける
Form Triggerの代わりに Schedule Trigger(スケジュールトリガー)ノードを使えば、毎日・毎週など決まった時間にワークフローを自動実行させることができます。たとえば「毎週月曜の朝9時に、設定済みのキーワードで自動リサーチ」といった運用が可能です。常に最新のトレンドデータが手元に揃うので、企画会議の前にサッと確認するだけで済みます。
スプレッドシートに「ヒット要素」列を追加する
元のポストでも強調されていた、プロレベルのリサーチ術です。スプレッドシートに「ヒット要素」という列を追加し、一覧で伸びている動画を見つけたら実際に視聴して、以下のポイントを言語化してメモしていきます。
- どこで視聴者が満足したか
- どこで飽きたか(離脱ポイント)
- どの順番で話を展開しているか
- 資料・図解・画面の見せ方
- サムネイルとタイトルの役割分担
ここまでやる人は少ないのですが、これを続けると「次に出すべき動画」が自然と見えてくるようになります。
企画に落とし込む前の3つのフィルター
リサーチで「伸びている動画」の一覧が出たからといって、そのまま真似すれば伸びるわけではありません。企画として採用する前に、必ず以下の3つのフィルターを通してください。
フィルター1 その企画、あなたの視聴者が見るか?(属性の一致)
視聴者が求めていないテーマを扱うと、チャンネル全体のおすすめ精度が崩れます。自分のチャンネルの視聴者層と、その企画のターゲット層が一致しているかを確認しましょう。
フィルター2 それは今やるべきテーマか?(タイミング)
時期ネタやトレンドネタは鮮度が命です。12月に伸びた「来年の貯金術」を2月に出しても、もう遅い。データの公開日をしっかり確認し、今出して意味があるかを判断してください。
フィルター3 あなたが上書きできるか?(独自性)
これが最も重要です。同じテーマでも、あなた自身の体験や現場感が乗っていなければ、ただの二番煎じになります。量産型のコンテンツは、今のYouTubeでは伸びません。
注意事項とよくある質問
APIキーの取り扱いについて
APIキーは、あなたのGCPアカウントに紐づいた認証情報です。第三者に漏洩すると、あなたの利用枠を不正に消費されたり、悪意のある利用に使われたりする恐れがあります。SNSやブログ、GitHubなどに公開しないよう、厳重に管理してください。GCPの「認証情報」画面から、APIキーに利用制限(特定のIPアドレスやリファラー(参照元URL)のみ許可)をかけることも可能です。
クォータの上限に達した場合
YouTube Data API v3の無料クォータは1日10,000ポイントです。動画検索(search.list)は1回100ポイントを消費するため、1日に約100回の検索が可能です。上限に達した場合は、翌日(太平洋時間の午前0時)にリセットされます。通常のリサーチ用途で上限に達することはほとんどありませんが、大量のキーワードで一括検索する場合は注意が必要です [4]。
丸パクリは絶対にやめてください
n8nで効率化できるのは、あくまで「情報収集と整理」までです。そこから先、つまり企画を自分のものとして昇華させる作業は、あなた自身の仕事です。リサーチを速くすることは目的ではなく、根拠を持って再現性のある企画を作るための「手段」にすぎません。
まとめ
本記事では、n8nとYouTube Data APIを活用して、YouTubeの企画リサーチを自動化する具体的な方法を、ゼロから解説しました。
手作業では1日がかりだったリサーチが、このワークフローを使えば数十秒で完了します。しかも、「登録者数より再生数が多い動画」という条件でフィルタリングすることで、本当に需要のある企画テーマを、データに基づいて見つけ出すことができます。
リサーチで沼ると時間がどんどん溶けていきます。まずはこの記事の手順に沿って、n8nの無料トライアルで試してみてください。データに裏打ちされた企画づくりの第一歩を、今日から踏み出しましょう。
参考文献
[1] n8n Integrations - n8n公式サイト
[2] n8n Pricing - n8n公式サイト
[3] YouTube Data API の概要 - Google for Developers
[4] 割り当て計算ツール - Google for Developers
[5] n8nマスターへの道 n8n Formを徹底解説 - n8n自動化ラボ
[6] Search: list - Google for Developers
[7] Videos: list - Google for Developers
[8] Channels: list - Google for Developers







