はじめに

サイト本体と同じデータを読み取り専用で提供する JSON API です。カード、デッキ、大会、プレイヤー成績を扱います。

API キーは不要です。 すべてのエンドポイントは公開されており、認証もトークンも登録も不要です。

リクエストはすべて GET です。 パラメータはすべてクエリ文字列で渡します。

ベース URL
https://cardsrealm.com/ja-jp/api/

言語セグメントはパスの一部で、カード名やその他の翻訳テキストの言語を決めます。サイトが対応するロケールならどれでも使えます。

ゲームの選び方。 方法は2つあり、結果は同じです。ゲーム専用のサブドメインを呼ぶか、game_id パラメータを渡すか。どちらも指定しない場合は、呼び出したドメインのゲームになります。

リクエスト例
curl "https://cardsrealm.com/en-us/api/getRecentDecks?game_id=1&limit=2"
価格はセント単位の整数です。 price が 77 で currency_prefix が $ なら 0.77 です。表示する前に 100 で割ってください。
適正な利用について。 現在、厳密なレート制限はかけていません。常識的にご利用ください。キャッシュできるものはキャッシュし、小さなリクエストを多数投げるよりページ単位のリクエストをお使いください。公開 API を閉じさせるのは濫用です。

cardinfo

GET/ja-jp/api/cardinfo

カード名で引いた1枚の全情報。テキスト、マナ・コスト、レアリティ、収録セット、現在の価格を返します。

パラメータタイプパターン注意事項
cardnamestringPath to exile最大50文字。
currencystringロケールの通貨3文字。
game_idintドメインのゲーム1 = Magic, 2 = Yu-Gi-Oh, 3 = Pokémon, 4 = Runeterra.
language_codestringパスの言語返されるカード名とテキストの言語。
リクエスト例
curl "https://cardsrealm.com/ja-jp/api/cardinfo?cardname=Lightning%20Bolt&currency=USD"
レスポンス例
{
  "name_of_card": "Lightning Bolt",
  "name_ing": "Lightning Bolt",
  "type_of_card": "Instant",
  "text_of_card": "Lightning Bolt deals 3 damage to any target.",
  "price": 77,
  "currency_prefix": "$",
  "path_of_card": "oj7-lightning-bolt",
  "card_url": "https://mtg.cardsrealm.com/en-us/card/lightning-bolt"
}

getRecentDecks

GET/ja-jp/api/getRecentDecks

最近公開されたデッキを新しい順に返します。

パラメータタイプパターン注意事項
pageint1ページ番号。
limitint501ページあたりのデッキ数。上限は500で、超えるとエラーを返します。
game_idint1cardinfo と同じです。
リクエスト例
curl "https://cardsrealm.com/ja-jp/api/getRecentDecks?page=1&limit=2"
レスポンス例
[
  {
    "deck_id": 374859,
    "deck_title": "Attack of the myrs",
    "deck_owner": "jarrod long",
    "deck_format_name": "Commander",
    "deck_colours": "B G R U W",
    "total_cards": 100,
    "deck_url": "https://cardsrealm.com/decks/en-us/l8dh-attack-of-the-myrs"
  }
]

getDeckByID

GET/ja-jp/api/getDeckByID

デッキリストの全文。カード一覧は cards キーに入り、枚数・board(main または side)・カードごとの価格を含みます。

パラメータタイプパターン注意事項
deck_idint0デッキの数値 id。
currencystringBRL3文字。
リクエスト例
curl "https://cardsrealm.com/ja-jp/api/getDeckByID?deck_id=374859&currency=USD"
レスポンス例
{
  "deck_title": "Attack of the myrs",
  "user_name": "jarrod long",
  "tour_type_name": "Commander",
  "deck_quantity_main": 99,
  "deck_quantity_side": 1,
  "cards": [
    {
      "name_ing": "Command Tower",
      "deck_quantity": 1,
      "deck_sideboard": 0,
      "card_price_total": 18
    }
  ]
}
存在しない deck_id は、エラーではなく 200 とほぼ空のオブジェクトを返します。残りを使う前に deck_title があるか確認してください。

getDeckResults

GET/ja-jp/api/getDeckResults

アーキタイプの成績。全体の戦績に加え、他の各アーキタイプとの対戦成績を by_meta で返します。

パラメータタイプパターン注意事項
deck_namestringアーキタイプ名。最大40文字。
weekint4何週間さかのぼるか。上限は52です。
formatstringStandard最大20文字。
game_idint1cardinfo と同じです。
リクエスト例
curl "https://cardsrealm.com/ja-jp/api/getDeckResults?deck_name=Grixis%20Affinity&format=Pauper&week=8"

getPlayerResults

GET/ja-jp/api/getPlayerResults

プレイヤーの成績。by_meta で各アーキタイプごとの内訳も返します。

パラメータタイプパターン注意事項
player_namestring最大40文字。
weekint52何週間さかのぼるか。
player_platformstringcardsrealm_nicknameどの名前で検索するか。cardsrealm_nickname、mtgo、arena、riot、display のいずれかです。それ以外はエラーになります。
リクエスト例
curl "https://cardsrealm.com/ja-jp/api/getPlayerResults?player_name=Carrubs&player_platform=mtgo"

getPastTournaments

GET/ja-jp/api/getPastTournaments

すでに開催された大会を新しい順に返します。

パラメータタイプパターン注意事項
pageint1ページ番号。
formatstring最大20文字。空欄はすべてのフォーマットを意味します。
game_idint1cardinfo と同じです。
リクエスト例
curl "https://cardsrealm.com/ja-jp/api/getPastTournaments?format=Pauper&page=1"
レスポンス例
[
  {
    "tournament_id": 810845,
    "tournament_name": "Domingooouuu Pauper 86",
    "tournament_path": "https://cardsrealm.com/tournament/en-us/1k3c9-domingooouuu-pauper-86",
    "format_name": "Pauper",
    "game_name": "Magic: the Gathering",
    "datetime_utc": "Sun, 16 Aug 2026 16:30:00 GMT"
  }
]

getTournamentInfo

GET/ja-jp/api/getTournamentInfo

大会の全情報。大会そのものに加え、各ラウンドを round_info、最終順位を standings で返します。存在しない id はエラーではなく空のリストを返します。

パラメータタイプパターン注意事項
tournament_idint1大会の数値 id。
リクエスト例
curl "https://cardsrealm.com/ja-jp/api/getTournamentInfo?tournament_id=810845"

getUserTournaments

GET/ja-jp/api/getUserTournaments

あるアカウントが主催した大会。

パラメータタイプパターン注意事項
nicknamestringCards Realm最大30文字。
リクエスト例
curl "https://cardsrealm.com/ja-jp/api/getUserTournaments?nickname=leon-diniz"

エラーとサポート

コード意味
200成功。ボディは常に JSON です。
404リクエストが拒否されました。ボディは理由を示す JSON 文字列です。名前が長すぎる、数値でない、許可された一覧にない値、のいずれかです。

質問や、ここにない項目が必要な場合は Discord までご連絡ください。 Discord