先に結論
YouTube の API と言うとひとまとめにされがちですが、実務では主に次の4系統に分けて考えると整理しやすいです。
| API | 主な役割 |
|---|---|
| YouTube Data API | 動画、チャンネル、再生リスト、コメントなどの取得・更新 |
| YouTube Analytics API | 視聴数、視聴時間、流入元、国、デバイスなどの分析 |
| YouTube Reporting API | 大きな分析レポートをまとめてダウンロード |
| YouTube Live Streaming API | 配信予定の作成、配信状態の切り替え、ストリーム紐付け |
つまり、動画を探す・情報を取る・投稿する は Data API、分析を見る は Analytics API、分析データをまとめて回収する は Reporting API、ライブ配信を管理する は Live Streaming API です。
この記事では、2026年4月23日時点で Google for Developers の YouTube Data API / Analytics API / Reporting API / Live Streaming API の公式ドキュメントを確認しながら整理しています。
まず YouTube API でできること
いちばんよく使われるのは YouTube Data API です。公式リファレンスでは、video、channel、playlist などのリソースを JSON で扱える API として整理されています。
この API で代表的にできることは、次のようなものです。
- チャンネル情報を取得する
- 動画のタイトル、説明文、公開日、再生回数などを取得する
- 再生リストや再生リスト内動画を取得する
- キーワード検索で動画やチャンネルを探す
- コメントスレッドを取得する
- 認証済みユーザーの代わりに動画を投稿する
- サムネイルや再生リストなど一部の管理操作を行う
たとえば公式の channels.list はチャンネル情報を返すメソッド、commentThreads.list はコメントスレッド一覧を返すメソッドとして案内されています。
つまり、YouTubeの画面で見える基本情報を外部アプリから扱う のが Data API の中心です。
Data API で向いている用途
Data API は、YouTube を外から使うアプリや社内ツールと相性がよいです。
たとえば次のような用途があります。
- 自社サイトにチャンネルの新着動画を表示する
- 特定チャンネルの動画一覧を定期取得する
- 再生リストの内容を別画面に並べる
- コメント欄の状況を運用ツールで確認する
- 動画投稿フローを自社システムへ組み込む
ただし、ここで注意したいのは YouTube Studioの全部をそのまま外部化できるわけではない ことです。
詳細分析は別APIの担当ですし、認証が必要な操作も多いため、読み取り用と管理用を分けて設計した方が安全です。
Analytics API でできること
YouTube Analytics API は、動画の中身ではなく 成果の数字 を見る API です。公式の reports.query では、チャンネルまたはコンテンツオーナー、開始日、終了日、メトリクスを指定して分析レポートを取得できます。
公式ドキュメントでは、メトリクスを views のような指標、ディメンションを day、country、video、ageGroup などの集計軸として説明しています。
つまり、次のような見方ができます。
- 日別の再生数や視聴時間を見る
- 国別、デバイス別、流入元別の傾向を見る
- どの動画が伸びているか比較する
- 年齢層や性別などの切り口で傾向を見る
ここは Data API とかなり違います。
Data API が 動画そのものの情報 を扱うのに対し、Analytics API は その動画がどう見られたか を扱います。
Reporting API でできること
YouTube Reporting API は、分析データをまとめてダウンロードしたいときに使います。公式では、YouTube Analytics API や Creator Studio で見られる包括的な分析データを bulk report として取得できる API と説明されています。
Analytics API は必要な条件を指定して都度クエリする使い方ですが、Reporting API は レポート生成ジョブを作り、あとでまとまったデータを回収する 形です。
公式ドキュメントでも、まず reportTypes.list で取得可能なレポート種別を調べ、jobs.create でレポートジョブを作ってからレポート生成を待つ流れが案内されています。
そのため、Reporting API は次のような場面で向いています。
- 定期的に分析データをDWHへ入れたい
- BIツール側でまとめて可視化したい
- 大量の分析データを後で加工したい
逆に、画面でパッと1つの動画の傾向を見たいだけなら、Analytics API の方が分かりやすいです。
Live Streaming API でできること
ライブ配信まわりは YouTube Live Streaming API の担当です。公式では、ライブイベントの作成、更新、管理、配信予定のスケジュール設定、動画ストリームとの関連付け、配信状態の遷移などを行えると説明されています。
つまり、次のような操作が対象です。
- 配信予定を作る
- 配信とストリームを紐付ける
testingやliveへ状態を切り替える- 配信中に cuepoint を入れる
ここも 普通の動画投稿APIの延長 と考えると少しずれます。
ライブは broadcast と stream を分けて考える必要があり、配信の状態遷移も管理対象になります。
APIキーでできることと OAuth 2.0 が必要なこと
ここはかなり大事です。
公式リファレンスでは、YouTube Data API は API key または OAuth 2.0 token を使って認証できる一方、データ変更 や 非公開ユーザーデータへのアクセス には認可トークンが必要だと整理されています。
ざっくり分けると、次のイメージです。
| できること | 認証の考え方 |
|---|---|
| 公開チャンネルや公開動画の取得 | APIキーで足りることが多い |
| 自分のチャンネル情報や非公開情報の取得 | OAuth 2.0 が必要 |
| 動画投稿、再生リスト更新、管理操作 | OAuth 2.0 が必要 |
| Analytics API の利用 | OAuth 2.0 が前提 |
さらに重要なのは、YouTube Data API ではサービスアカウント方式がサポートされていない点です。公式の認可ガイドでも、サービスアカウントを YouTube アカウントへリンクできないため NoLinkedYouTubeAccount エラーになると説明されています。
そのため、サーバーから勝手にYouTubeを管理する という設計より、チャンネル所有者の許可をもらって操作する 設計が基本になります。
実務で最初に詰まりやすいポイント
1. Data API と Analytics API を混同する
動画のタイトルや説明文を取りたいのに Analytics API を見に行ったり、逆に視聴時間を取りたいのに Data API だけで済ませようとしたりすると詰まります。
情報取得 と 分析取得 は別APIです。
2. APIキーで全部できると思う
公開情報の取得は比較的やりやすいですが、投稿や管理操作、分析取得は OAuth 2.0 前提です。ログイン導線とトークン管理まで含めて見ないと、途中で手戻りします。
3. クォータ消費を軽く見る
YouTube Data API にはクォータがあります。公式のクォータ資料では、無効なリクエストも最低 1 ポイント消費し、search.list は 100 units、プロジェクトのデフォルト割り当ては 1 日 10,000 units と案内されています。
検索ベースで毎回拾う実装は思ったより重くなりやすいです。
また、commentThreads.list や channels.list のように 1 unit のメソッドもあるため、検索結果から毎回探すより 一度IDを確定してID指定で取得する 方が安定する場面が多いです。
どこまでできて、どこからは別物か
YouTube API でできることはかなり広いですが、全部が1本の API ではありません。
- YouTube Data API で動画やチャンネルを扱う
- Analytics API で成果を見る
- Reporting API で分析データをまとめて回収する
- Live Streaming API でライブ配信を管理する
この切り分けで見ると、YouTube APIで何ができるのか がかなり分かりやすくなります。
逆にここを曖昧にすると、認証方式、クォータ設計、取得できるデータの種類がごちゃつきやすいです。
まとめ
YouTube APIでできることは、動画取得、チャンネル取得、再生リスト管理、コメント取得、動画投稿、分析取得、ライブ配信管理までかなり広いです。
ただし、実際には YouTube Data API、Analytics API、Reporting API、Live Streaming API を役割ごとに分けて理解する必要があります。
最初は 何のデータを取りたいのか と 公開情報なのか、管理操作なのか を分けて考えるのが近道です。
そこが決まれば、APIキーで足りるのか、OAuth 2.0 が必要なのか、どの API を見るべきかがかなりはっきりします。
参考リンク
- Google for Developers: YouTube Data API Overview
- Google for Developers: Implementing OAuth 2.0 Authorization
- Google for Developers: Quota Calculator
- Google for Developers: Channels: list
- Google for Developers: CommentThreads: list
- Google for Developers: Search: list
- Google for Developers: Reports: Query
- Google for Developers: Dimensions
- Google for Developers: YouTube Reporting API - Get Bulk Data Reports
- Google for Developers: YouTube Live Streaming API Overview