YouTubeの情報を取得できるYouTubeDataAPI v3を触ってみます。

APIキーを取得

まずは https://console.developers.google.com にアクセスしてAPIキーを取得する必要があります。

ライブラリ-YouTubeDataAPIと進みます。

APIを有効にします。

有効にすると認証情報からAPIキーを確認できます。

リクエストを発行する

実際にAPIにリクエストを投げてみましょう。

まず、動画の情報を取得するなら

https://www.googleapis.com/youtube/v3/videos

のリクエストを投げます。具体的には

https://www.googleapis.com/youtube/v3/videos?id=[動画ID]&key=[API_KEY]&part=snippet

といった感じです。動画IDは動画ページのURLのv=以降の英数字になります。

結果はjson形式で返却されます。

{
  "kind": "youtube#videoListResponse",
  "etag": "Chm4R6_pTGgar3JJLMKWDzUFUvY",
  "items": [
    {
      "kind": "youtube#video",
      "etag": "YyBEGibnQXnibiAPAyZt82hc1Xo",
      "id": "cIlp9bAKV6E",
      "snippet": {
        "publishedAt": "2019-12-14T12:46:32Z",
        "channelId": "UCsv5qarsV1MFVk83QbSYUjQ",
        "title": "【1回100円】クレーンゲームでペットボトル麦チョコに挑戦!イワケンが壮大にやらかす!?",
        "description": "ゲームセンターでペットボトル麦チョコのクレーンゲームに挑戦しました。",
        "thumbnails": {
          "default": {
            "url": "https://i.ytimg.com/vi/cIlp9bAKV6E/default.jpg",
            "width": 120,
            "height": 90
          },
          "medium": {
            "url": "https://i.ytimg.com/vi/cIlp9bAKV6E/mqdefault.jpg",
            "width": 320,
            "height": 180
          },
          "high": {
            "url": "https://i.ytimg.com/vi/cIlp9bAKV6E/hqdefault.jpg",
            "width": 480,
            "height": 360
          },
          "standard": {
            "url": "https://i.ytimg.com/vi/cIlp9bAKV6E/sddefault.jpg",
            "width": 640,
            "height": 480
          }
        },
        "channelTitle": "イワケンchannel",
        "tags": [
          "ペットボトル麦チョコ",
          "イワケンチャンネル"
        ],
        "categoryId": "22",
        "liveBroadcastContent": "none",
        "localized": {
          "title": "【1回100円】クレーンゲームでペットボトル麦チョコに挑戦!イワケンが壮大にやらかす!?",
          "description": "ゲームセンターでペットボトル麦チョコのクレーンゲームに挑戦しました。"
        }
      }
    }
  ],
  "pageInfo": {
    "totalResults": 1,
    "resultsPerPage": 1
  }
}

任意のキーワードで検索した結果を表示したいなら

https://www.googleapis.com/youtube/v3/search

のリクエストを投げます。具体的には

https://www.googleapis.com/youtube/v3/search?type=video&part=snippet&q=[検索したいキーワード]&key=[API_KEY]

といった感じです。

例えば「カレー」で調べると以下の様に返ってきます。
(取得件数はmaxResultsパラメータで指定できます。)

{
  "kind": "youtube#searchListResponse",
  "etag": "_NHMagwAixEEUWnxX4wr2GV2Pl8",
  "nextPageToken": "CAEQAA",
  "regionCode": "JP",
  "pageInfo": {
    "totalResults": 1000000,
    "resultsPerPage": 1
  },
  "items": [
    {
      "kind": "youtube#searchResult",
      "etag": "mHVDaT2OBrwJpRAogrAM6OcVBpw",
      "id": {
        "kind": "youtube#video",
        "videoId": "XTP5tRTY-7w"
      },
      "snippet": {
        "publishedAt": "2020-05-17T09:00:18Z",
        "channelId": "UChrwWDsptJWqbV_oPKdHk1Q",
        "title": "フライパンだけでOK!情熱大陸のカレー料理人が教える簡単絶品カレーの作り方/ 齋藤絵理 #1",
        "description": "毎週日曜日よる11時00分~ MBS/TBS系列にて放送している「情熱大陸」のYouTubeチャンネル。 行列のできるカレー料理人・齋藤絵理の1回目は、『クミン』で簡単絶品 ...",
        "thumbnails": {
          "default": {
            "url": "https://i.ytimg.com/vi/XTP5tRTY-7w/default.jpg",
            "width": 120,
            "height": 90
          },
          "medium": {
            "url": "https://i.ytimg.com/vi/XTP5tRTY-7w/mqdefault.jpg",
            "width": 320,
            "height": 180
          },
          "high": {
            "url": "https://i.ytimg.com/vi/XTP5tRTY-7w/hqdefault.jpg",
            "width": 480,
            "height": 360
          }
        },
        "channelTitle": "情熱大陸 公式チャンネル",
        "liveBroadcastContent": "none",
        "publishTime": "2020-05-17T09:00:18Z"
      }
    }
  ]
}

特定のチャンネル内での検索

特定のチャンネル内での検索も可能です。

https://www.googleapis.com/youtube/v3/search?type=video&part=snippet&q=[検索したいキーワード]&key=[API_KEY]&channelId=[対象とするチャンネル]

とします。例えば交通系ユーチューバースーツ君の交通チャンネルの埼玉に関連する動画を検索したいとなった場合

https://www.googleapis.com/youtube/v3/search?type=video&part=snippet&q=埼玉&key=[API_KEY]&channelId=UCxBR2bnAFAavDHpHtQrTA9Q

とすると以下の様な結果が返ってきます。

{
  "kind": "youtube#searchListResponse",
  "etag": "Q0fvJgSbK_iEjqyS0SEYsD0-flI",
  "nextPageToken": "CAUQAA",
  "regionCode": "JP",
  "pageInfo": {
    "totalResults": 156,
    "resultsPerPage": 5
  },
  "items": [
    {
      "kind": "youtube#searchResult",
      "etag": "CG_yWOpmD18g8_FkZPfaIbh2WQU",
      "id": {
        "kind": "youtube#video",
        "videoId": "ipxgfHaKrgQ"
      },
      "snippet": {
        "publishedAt": "2019-05-26T11:02:34Z",
        "channelId": "UCxBR2bnAFAavDHpHtQrTA9Q",
        "title": "秩父鉄道 SLパレオエクスプレス自由席乗車記 C58+12系客車【1905埼玉2】長瀞駅→熊谷駅 5/12-02",
        "description": "都心から一番近く、西武秩父駅(御花畑駅)、寄居駅、熊谷駅などを通りアクセスが便利な、SLパレオエクスプレスに乗車しました。 スーツブログ(2019年2月開設)執筆は私 ...",
        "thumbnails": {
          "default": {
            "url": "https://i.ytimg.com/vi/ipxgfHaKrgQ/default.jpg",
            "width": 120,
            "height": 90
          },
          "medium": {
            "url": "https://i.ytimg.com/vi/ipxgfHaKrgQ/mqdefault.jpg",
            "width": 320,
            "height": 180
          },
          "high": {
            "url": "https://i.ytimg.com/vi/ipxgfHaKrgQ/hqdefault.jpg",
            "width": 480,
            "height": 360
          }
        },
        "channelTitle": "スーツ 交通 / Suit Train",
        "liveBroadcastContent": "none",
        "publishTime": "2019-05-26T11:02:34Z"
      }
    },
    {
      "kind": "youtube#searchResult",
      "etag": "KE7MmXI9X0kI91zTHTnjF0WFZp8",
      "id": {
        "kind": "youtube#video",
        "videoId": "lb3hecsfKgY"
      },
      "snippet": {
        "publishedAt": "2019-05-29T08:51:48Z",
        "channelId": "UCxBR2bnAFAavDHpHtQrTA9Q",
        "title": "【並走バトル】上野東京ライン宇都宮線 VS 湘南新宿ライン高崎線【1905埼玉5】大宮駅→王子駅 5/12-04",
        "description": "スーツブログ(2019年2月開設)執筆は私でない場合があります。 https://suit-travel-blog.com/ 10月以降スーツ1 ...",
        "thumbnails": {
          "default": {
            "url": "https://i.ytimg.com/vi/lb3hecsfKgY/default.jpg",
            "width": 120,
            "height": 90
          },
          "medium": {
            "url": "https://i.ytimg.com/vi/lb3hecsfKgY/mqdefault.jpg",
            "width": 320,
            "height": 180
          },
          "high": {
            "url": "https://i.ytimg.com/vi/lb3hecsfKgY/hqdefault.jpg",
            "width": 480,
            "height": 360
          }
        },
        "channelTitle": "スーツ 交通 / Suit Train",
        "liveBroadcastContent": "none",
        "publishTime": "2019-05-29T08:51:48Z"
      }
    },
    {
      "kind": "youtube#searchResult",
      "etag": "EuF473DFaJPvEq7GTk7joL_fzeM",
      "id": {
        "kind": "youtube#video",
        "videoId": "1G9NLXTupn0"
      },
      "snippet": {
        "publishedAt": "2019-05-27T10:02:39Z",
        "channelId": "UCxBR2bnAFAavDHpHtQrTA9Q",
        "title": "520円で乗れるN'EXグリーン車 高崎線・土日の臨時列車リゾートやまどり号【1905埼玉4】熊谷駅→大宮駅 5/12-03",
        "description": "スーツブログ(2019年2月開設)執筆は私でない場合があります。 https://suit-travel-blog.com/ 10月以降スーツ1 ...",
        "thumbnails": {
          "default": {
            "url": "https://i.ytimg.com/vi/1G9NLXTupn0/default.jpg",
            "width": 120,
            "height": 90
          },
          "medium": {
            "url": "https://i.ytimg.com/vi/1G9NLXTupn0/mqdefault.jpg",
            "width": 320,
            "height": 180
          },
          "high": {
            "url": "https://i.ytimg.com/vi/1G9NLXTupn0/hqdefault.jpg",
            "width": 480,
            "height": 360
          }
        },
        "channelTitle": "スーツ 交通 / Suit Train",
        "liveBroadcastContent": "none",
        "publishTime": "2019-05-27T10:02:39Z"
      }
    },
    {
      "kind": "youtube#searchResult",
      "etag": "BOAacI5-Vy-K9xs-Ii0CLI_8uQ8",
      "id": {
        "kind": "youtube#video",
        "videoId": "RUQvZuIe1FQ"
      },
      "snippet": {
        "publishedAt": "2019-04-06T08:30:00Z",
        "channelId": "UCxBR2bnAFAavDHpHtQrTA9Q",
        "title": "ららぽーと新三郷駅周辺の可哀そうな歴史 今は凄いのだが……【1903武蔵野3】三郷駅→新三郷駅 3/27-03",
        "description": "今回、武蔵野線を全線乗車する動画を出す予定でしたが、思いのほか乗車率が高く、ビデオカメラを持って撮影するには不適切と判断したため内容を変更しております。",
        "thumbnails": {
          "default": {
            "url": "https://i.ytimg.com/vi/RUQvZuIe1FQ/default.jpg",
            "width": 120,
            "height": 90
          },
          "medium": {
            "url": "https://i.ytimg.com/vi/RUQvZuIe1FQ/mqdefault.jpg",
            "width": 320,
            "height": 180
          },
          "high": {
            "url": "https://i.ytimg.com/vi/RUQvZuIe1FQ/hqdefault.jpg",
            "width": 480,
            "height": 360
          }
        },
        "channelTitle": "スーツ 交通 / Suit Train",
        "liveBroadcastContent": "none",
        "publishTime": "2019-04-06T08:30:00Z"
      }
    },
    {
      "kind": "youtube#searchResult",
      "etag": "51cslJaTtoHpy5gf_EuIXPwFAXs",
      "id": {
        "kind": "youtube#video",
        "videoId": "_upGEMYVD4I"
      },
      "snippet": {
        "publishedAt": "2017-06-05T13:56:24Z",
        "channelId": "UCxBR2bnAFAavDHpHtQrTA9Q",
        "title": "189)【第79日】日本一長いきっぷの旅《寄居駅→長瀞駅》午前の部",
        "description": "最長往復切符の旅 第79日目 通算85日目 ツイッター @usiuna7991 初めてご覧になる方はまず初回をご覧 ...",
        "thumbnails": {
          "default": {
            "url": "https://i.ytimg.com/vi/_upGEMYVD4I/default.jpg",
            "width": 120,
            "height": 90
          },
          "medium": {
            "url": "https://i.ytimg.com/vi/_upGEMYVD4I/mqdefault.jpg",
            "width": 320,
            "height": 180
          },
          "high": {
            "url": "https://i.ytimg.com/vi/_upGEMYVD4I/hqdefault.jpg",
            "width": 480,
            "height": 360
          }
        },
        "channelTitle": "スーツ 交通 / Suit Train",
        "liveBroadcastContent": "none",
        "publishTime": "2017-06-05T13:56:24Z"
      }
    }
  ]
}

まとめ

とりあえずYouTubeDataAPI v3を簡単に触ってみましたが、色々と遊べそうですね。YouTubeが好きな方は是非お試しを!