AWS Events API で re:Invent 2026 のセッション一覧を取得
AWS Events API のサインイン、セッション一覧の全件取得、取得できる項目を調査
- 公開日
はじめに
re:Invent 2026 のセッション情報を取得できる公式の AWS Events API が、2026-09-21 に利用できるようになりました(参照: What is the AWS Events API?、Document history)。
公式データを使ってセッションを整理したいと思い、さっそくこの API 経由で JSON データを取得し、自分専用のセッションダッシュボードを作成してみました。
※ ダッシュボードのスクリーンショットありますが、セッション情報に関しては参加申し込みが必要となるため、一部画像にはモザイクをしています。
AWS Events API について
AWS Events API は、re:Invent や AWS Summit などのセッション一覧取得や、スケジュール管理ができる公式 API です。
インターフェースには REST API(スクリプトやアプリ用)と MCP サーバー(AI アシスタント用)の 2 種類が用意されていますが、機能自体は共通です。
基本情報
| 項目 | 内容 |
|---|---|
| ベース URL | https://api.awsevents.com/v1 |
| re:Invent 2026 イベント ID | reinvent2026 |
| OpenAPI 定義 | https://api.awsevents.com/v1/openapi.json |
イベントによる認証挙動の違い
事前登録が不要な公開イベントであれば、セッション一覧も認証なしで取得できます。 一方、re:Invent 2026 のような事前登録制のイベントでは、イベント概要はサインインなしで取得できます。セッション一覧の取得には、参加者アカウントでのサインインが必要です。
| リソース / エンドポイント | アクセス権 | 認証の要否 | 実行結果(未認証時、2026-09-26) |
|---|---|---|---|
イベント概要GET /v1/events/reinvent2026 |
一般公開 | 不要 | 200 OK |
セッション一覧GET /v1/events/reinvent2026/sessions |
参加登録者限定 | 要サインイン | 401 Unauthorized |
API に登録されているイベント
2026-09-28 時点で API に登録されていたイベントは 5 件で、サインインが必要なのは re:Invent 2026 だけでした。
| イベント | サインイン |
|---|---|
| re:Invent 2026 | 必要 |
| AWS Cloud and AI Day Hanoi 2026 | 不要 |
| Financial Services Symposium London 2026 | 不要 |
| Public Sector AI Symposium Ottawa 2026 | 不要 |
| AWS Summit Dubai 2026 | 不要 |
(GET /v1/events を 2026-09-28 に呼んだ結果)
データの取得手順とポイント
REST API を選んだ理由
今回の実装では MCP サーバーではなく REST API を使用しています。理由としては以下の 3 つです。
-
全件取得という目的
今回のゴールは全セッションデータの取得です。絞り込みなしでシンプルに全件を取得するなら REST API が最適でした。 -
会話ログの圧迫を避けるため
MCP サーバーを使うと全件データを AI アシスタントに読み込ませる必要があり、無駄なトークン消費が発生してしまうためです。 -
繰り返し実行するため
差分確認などで、今後何度でも同じ手順で繰り返し実行できるようにしたかったためです。
数件のセッション検索や予約といった対話型の操作には、MCP サーバーが向いています。今回のような一括取得やデータ加工には、REST API が適していると判断しました。
(出典: Using the MCP server、2026-09-28 確認)
サインイン(認証)とトークン管理
認証には AWS Builder ID(PKCE 付き OAuth 2.0 認可コードフロー)を使用します。
ローカルブラウザでサインインして認可コードを受け取るため、スクリプトは手元の PC(WSL)で実行し、http://localhost:8484/callback でリダイレクトを受けました。
- トークン更新: 401 エラーが出たらリフレッシュトークンで 1 回だけ再取得し、それでもダメなら再サインインする設計にしています。
- 機密情報の保持: リフレッシュトークンはパスワードと同等のため、リポジトリ外へパーミッション
600で安全に保存しました。
(※参照: Authentication, Handling tokens safely)
セッション一覧の全件取得
セッション一覧の取得(GET /v1/events/reinvent2026/sessions)は 1 リクエスト上限 250 件のため、繰り返し取得が必要です。
API 側に検索や日本語化機能はないため、nextToken によるループ取得と Retry-After(429 対策)を実装のうえ、全データを手元に落としてからフィルタリングする作りにしました。
取得できるデータ項目
1 件のセッションからは、主に以下のようなデータが取得できます。
| 項目 | 内容 | 値の例 |
|---|---|---|
| sessionId | セッション ID | 英数字 20 文字 |
| abbreviation | セッションコード | ANT301 |
| title / abstract | タイトル / 概要 | 英語テキスト |
| type | 種別 | Breakout session |
| level | レベル | 300 - Advanced |
| sessionTime | 日付・開始時刻・所要時間(分) | {"date": "2026-11-30", "time": "10:30", "length": "60"} |
| venue / room | 会場 / 部屋 | MGM Grand / Level 3 | Chairman's 363 |
| topics / services / features | トピック / サービス / 形式 | ["Analytics"] / ["Amazon Redshift"] / ["Lecture-style"] |
| speakers | 登壇者情報 | [{"name": "..."}](名前のみ) |
| isReservable | 予約可否フラグ | false |
(※参照: Using the REST API)
ダッシュボードについて
取得したセッションデータをもとに、1 枚の HTML で閲覧できるダッシュボードを作成して、以下 GitHub に公開しています。 現時点(9/29)では、予約機能は含んでいません。
tetutetu214/session-planner-dashboard
ダッシュボード画面
画面の写真は、セッションのタイトルとコードをぼかしています。re:Invent のセッション一覧は、参加登録者だけが読める非公開の情報とされているためです。
■ 一覧画面
全セッションを日時順に表示します。キーワード(タイトル・概要・セッションコード・登壇者)で検索でき、右側でトピック・レベル・種別などを絞り込めます。

押すと別タブで大きく表示されます
■ お気に入り登録
行きたいセッションの ☆ を押して登録し、「☆のみ」で登録したものだけを表示します。時間が重なる ☆ があると、行の下に重なっている相手を表示します。 ☆ はブラウザ内に保存しています。

押すと別タブで大きく表示されます
■ 日程
☆ を付けたセッションを日ごとの時間割に並べます。時間が重なるセッションは横に並べて表示します。 時刻はラスベガスの現地時間です。

押すと別タブで大きく表示されます
まとめ
2026-09-21 に登場した AWS Events API のおかげで、re:Invent 2026 のセッション情報を JSON で取得し、自分用の簡易セッションダッシュボードを迅速に構築できました。
今回の API 化によって MCP(Model Context Protocol)経由で AI エージェントにセッション情報を渡すようなアプローチも格段にやりやすくなると感じています。2026-10-06 には Web 予約、2026-10-08 には API 予約が可能となるため、「自分の好みに合わせて AI がセッションの選定や予約まで自動化する」といった試みも期待できそうです。