v2 /api/mltd/v2/
- 用途
- プロフィール・カード・イベント・ボーダー・版履歴の取得
- 互換性・安定性
- matsurihi.me の MLTD v2 の形式に合わせています。収集範囲などの差は下記参照。
- 移行元
- matsurihi.me の MLTD v2 を使うコード。ベース URL を変更し、差を確認してください。
BGM を再生しますか? 劇場の BGM を聴きながら閲覧できます(設定からいつでも変更可能です)。
カード・アイドル・イベント・ランキングなど、MLTD Archive の公開データを JSON で取得できます。
matsurihi.me の MLTD v2 互換 API と、このサイト独自の v1 API を提供しています。
非公式・読み取り専用です。API キーやログインは不要です。
ターミナルで次のコマンドを実行すると、アイドルのプロフィールを取得できます。 ブラウザーで応答を見る
curl 'https://mltd.miracle-night.net/api/mltd/v2/idols/1'応答の抜粋(ほかの項目は省略):
{ "id": 1, "fullName": "天海 春香", "cv": "中村繪里子" }ベース URL: https://mltd.miracle-night.net
API ドキュメントで引数と応答形式を調べる · OpenAPI 仕様を取得する
/api/mltd/v2//api/v1/どちらも取得できるのは収集・公開済みのデータです。ゲームに直接問い合わせる API ではなく、完全な収集や即時更新を保証するものではありません。
各行は GET リクエストです。「応答例」から実際の JSON を開けます。{id} などは取得したい項目の識別子に置き換えてください。主な引数だけを掲載しています。全引数・型・必須条件は API ドキュメントで確認してください。
/api/mltd/v2/events | イベントを条件で検索
主な引数: type at limit orderBy
応答例 |
|---|---|
/api/mltd/v2/events/{id} | イベントの詳細と報酬カード
主な引数: id
応答例 |
/api/mltd/v2/events/{id}/rankings/borderPoints | 各順位の最新のボーダー点数
主な引数: id
応答例 |
/api/mltd/v2/events/{id}/rankings/borders | 観測したランキングの順位一覧
主な引数: id
応答例 |
/api/mltd/v2/events/{id}/rankings/idolPoint/{idolId}/logs/{ranks} | アイドル別のボーダー点数履歴
主な引数: id idolId ranks since
応答例 |
/api/mltd/v2/events/{id}/rankings/idolPoint/{idolId}/summaries | アイドル別ランキングの集計時刻
主な引数: id idolId all
応答例 |
/api/mltd/v2/events/{id}/rankings/{type}/logs/{ranks} | 指定順位のボーダー点数履歴
主な引数: id type ranks since
応答例 |
/api/mltd/v2/events/{id}/rankings/{type}/summaries | ランキングの集計時刻と参加者数
主な引数: id type
応答例 |
/api/mltd/v2/version/apps | アプリの版履歴
主な引数: なし 応答例 |
|---|---|
/api/mltd/v2/version/apps/{version} | 指定したアプリ版の履歴
主な引数: version
応答例 |
/api/mltd/v2/version/assets | アセットの版履歴
主な引数: なし 応答例 |
/api/mltd/v2/version/assets/{version} | 指定したアセット版の履歴
主な引数: version
応答例 |
/api/mltd/v2/version/latest | 観測した最新のアプリ版・アセット版
主な引数: なし 応答例 |
/api/v1/costumes | 衣装を条件で検索
主な引数: q limit cursor
応答例 |
|---|
/api/v1/episodes | コミュの一覧とメタデータ
主な引数: q limit cursor
応答例 |
|---|---|
/api/v1/episodes/event-picks | コミュのあるイベントの検索候補
主な引数: なし 応答例 |
/api/v1/episodes/idol-picks | コミュのあるアイドルの検索候補
主な引数: なし 応答例 |
/api/v1/episodes/{episode_id} | コミュのメタデータ
主な引数: episode_id
応答例 |
/api/v1/episodes/{episode_id}/audio-events | コミュで使う BGM・SE・環境音
主な引数: episode_id context
応答例 |
/api/v1/events | イベントを条件で検索
主な引数: q limit cursor
応答例 |
|---|---|
/api/v1/events/classifications | イベントの分類と絞り込み値
主な引数: なし 応答例 |
/api/v1/events/current | 開催中のイベント
主な引数: なし 応答例 |
/api/v1/events/{event_id} | イベントと関連カード・コミュ
主な引数: event_id
応答例 |
/api/v1/events/{event_id}/anniversary-rankings | 周年イベントのアイドル別最終ボーダー
主な引数: event_id
応答例 |
/api/v1/events/{event_id}/periods | イベント期間とその出所
主な引数: event_id
応答例 |
/api/v1/events/{event_id}/points | イベント全体のポイントと日別推移
主な引数: event_id
応答例 |
/api/v1/events/{event_id}/rankings | イベントのボーダー点数履歴
主な引数: event_id ranking_type rank source
応答例 |
/api/v1/events/{event_id}/rankings/accounts | イベントの上位 100 位のランキング
主な引数: event_id ranking_type limit offset
応答例 |
/api/v1/events/{event_id}/rankings/series | 収集済みのランキング系列
主な引数: event_id
応答例 |
/api/v1/events/{event_id}/rewards | 順位ごとのランキング報酬
主な引数: event_id reward_type
応答例 |
/api/v1/gashas/{id} | ガシャの詳細
主な引数: id
応答例 |
|---|
/api/v1/rankings/coverage | ランキングの収集範囲
主な引数: なし 応答例 |
|---|
updatedAt(集計結果の更新時刻)は保持していないため返しません。aggregatedAt(集計時刻)とは別の値です。版履歴の updatedAt は返します。If-None-Match による条件付き取得は未対応です。all=true でも未収集の点は補えません。votes(投票)・lounges(ラウンジ)は未収集で、API も未実装です。公開範囲も未定です。limit を尊重します。本家はこの引数を無視して全件を返します。rankings/borders は観測できた順位の一覧です。ゲーム内の報酬ボーダーの順位一覧とは異なる場合があります。v2 のカード・イベント一覧は limit を省略すると全件を返します。指定時は 1〜200、続きは offset で取得します。
v1 のカード・衣装・イベント・コミュ一覧は既定 60、最大 200 件です。has_more が true なら、同じ検索条件・並び順で next_cursor の値を cursor に渡してください。公開データの更新や検索条件の変更でカーソルが無効になった場合は、先頭から取得し直してください。
v1 のカード一覧の total: -1 は総件数を集計していないことを示します。総件数が必要なら include_total=true を指定します。カーソルで続きへ進む際には総件数を取得しません。その他の API の件数制限とページ送りは個別の仕様を確認してください。
公開ホストの通常の成功応答は Cache-Control: public, max-age=60, s-maxage=900, stale-while-revalidate=3600 です。ブラウザーで 60 秒、共有キャッシュで 900 秒保持でき、期限後も再取得中は古い応答を最大 3600 秒利用できる指定です。
例外があります。開催中イベントは共有キャッシュ 60 秒、サイト情報・劇場 BGM・話者・OpenAPI は private, no-store です。エラー応答や認証付きリクエストも保存しません。実際の応答ヘッダーを確認してください。
アーカイブが収集し、公開データに反映した後に更新されます。更新間隔はデータごとに異なり、一定の間隔やゲームとの即時同期は保証しません。ランキングでは応答の aggregatedAt を確認してください。キャッシュにより反映が遅れる場合もあります。
不正な引数は HTTP 422、存在しない項目は HTTP 404 です。ランキングなどでは、必要なデータがない場合も 404 を返します。一覧の検索結果がない場合は空の配列などを返します。エラー本文の形は API によって異なるため、HTTP ステータスを先に確認してください。
例: v1 のカード一覧で limit=0 を指定した場合(422):
{ "error": [{ "type": "greater_than_equal", "loc": ["query", "limit"], "msg": "Input should be greater than or equal to 1", "input": "0", "ctx": { "ge": 1 } }] }存在しないカード(404)は { "error": "card not found" } です。ほかの API では本文が空の場合もあります。
API は Access-Control-Allow-Origin: * を返します。別のサイトからも、認証情報を付けずに GET で取得できます。
ゲームのデータ・画像・音声等の著作権は権利者に帰属します。ソースコードのライセンスはこれらに適用されません。 ライセンス・権利情報を確認してください。
アプリケーションには固定のリクエスト数制限を設けていませんが、無制限の利用を保証するものではありません。取得したデータを再利用し、必要なときだけ取得してください。
投票・ラウンジのほか、ランキングの更新時刻や細かい時刻の点など、出所のないデータは返しません。上の「matsurihi.me との違い」と、各 API の応答形式を確認してください。