MLTD Archive(β)

API

カード・アイドル・イベント・ランキングなど、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 仕様を取得する

v2 と v1 の選び方

v2 /api/mltd/v2/

用途
プロフィール・カード・イベント・ボーダー・版履歴の取得
互換性・安定性
matsurihi.me の MLTD v2 の形式に合わせています。収集範囲などの差は下記参照。
移行元
matsurihi.me の MLTD v2 を使うコード。ベース URL を変更し、差を確認してください。

v1 /api/v1/

用途
アーカイブの検索、衣装・コミュの情報、ランキングの収集範囲など
互換性・安定性
このサイト独自の形式です。v2 とは引数・応答・ページ送りが異なります。
移行元
新しく検索・閲覧ツールを作る場合。matsurihi.me と直接の互換性はありません。

どちらも取得できるのは収集・公開済みのデータです。ゲームに直接問い合わせる API ではなく、完全な収集や即時更新を保証するものではありません。

取得できるデータ

各行は GET リクエストです。「応答例」から実際の JSON を開けます。{id} などは取得したい項目の識別子に置き換えてください。主な引数だけを掲載しています。全引数・型・必須条件は API ドキュメントで確認してください。

v2 · アイドル

v2 · アイドル API 一覧(GET・内容・主な引数・応答例)
/api/mltd/v2/idolsアイドルのプロフィール一覧
主な引数: includeOthers
応答例
/api/mltd/v2/idols/{id}アイドルのプロフィール
主な引数: id
応答例

v2 · カード

v2 · カード API 一覧(GET・内容・主な引数・応答例)
/api/mltd/v2/cardsカードを条件で検索
主な引数: idolId rarity limit includeCostumes orderBy
応答例
/api/mltd/v2/cards/{id}カード ID を指定して取得(配列)
主な引数: id rarity idolId exType
応答例

v2 · イベント・ランキング

v2 · イベント・ランキング API 一覧(GET・内容・主な引数・応答例)
/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
応答例

v2 · アプリ・アセットの版履歴

v2 · アプリ・アセットの版履歴 API 一覧(GET・内容・主な引数・応答例)
/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 一覧(GET・内容・主な引数・応答例)
/api/v1/cardsカードを条件で検索
主な引数: q limit cursor
応答例
/api/v1/cards/seriesカードシリーズと件数
主な引数: min_count
応答例
/api/v1/cards/series-picksカードシリーズの検索候補
主な引数: q group limit offset
応答例
/api/v1/cards/{resource_id}画像用の識別子でカードを取得
主な引数: resource_id
応答例

アイドル

アイドル API 一覧(GET・内容・主な引数・応答例)
/api/v1/idolsアイドルのプロフィール一覧
主な引数: なし
応答例
/api/v1/idols/{idol_id}アイドルのプロフィールとカード
主な引数: idol_id
応答例

衣装

衣装 API 一覧(GET・内容・主な引数・応答例)
/api/v1/costumes衣装を条件で検索
主な引数: q limit cursor
応答例

コミュ

コミュ API 一覧(GET・内容・主な引数・応答例)
/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 一覧(GET・内容・主な引数・応答例)
/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 一覧(GET・内容・主な引数・応答例)
/api/v1/songs/{mst_song_id}/rankings楽曲のハイスコアランキング
主な引数: mst_song_id live_course limit offset
応答例
/api/v1/songs/{mst_song_id}/rankings/coursesランキングのある楽曲コース
主な引数: mst_song_id
応答例

ガシャ

ガシャ API 一覧(GET・内容・主な引数・応答例)
/api/v1/gashas/{id}ガシャの詳細
主な引数: id
応答例

話者

話者 API 一覧(GET・内容・主な引数・応答例)
/api/v1/speakersセリフのある話者と行数
主な引数: min_lines
応答例
/api/v1/speakers/picks話者の検索候補
主な引数: min_lines
応答例

ランキング収集範囲

ランキング収集範囲 API 一覧(GET・内容・主な引数・応答例)
/api/v1/rankings/coverageランキングの収集範囲
主な引数: なし
応答例

その他

その他 API 一覧(GET・内容・主な引数・応答例)
/api/v1/enums絞り込みに使う分類値
主な引数: なし
応答例
/api/v1/site-bgmサイトで再生する劇場 BGM
主な引数: なし
応答例
/api/v1/site-infoサイトの公開データ情報
主な引数: なし
応答例
/api/v1/statsデータの収集件数
主な引数: なし
応答例

matsurihi.me との違い

よくある質問

何件ずつ取得できますか?

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 の応答形式を確認してください。