Cards Realm API
はじめに
サイト本体と同じデータを読み取り専用で提供する 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枚の全情報。テキスト、マナ・コスト、レアリティ、収録セット、現在の価格を返します。
| パラメータ | タイプ | パターン | 注意事項 |
|---|---|---|---|
cardname | string | Path to exile | 最大50文字。 |
currency | string | ロケールの通貨 | 3文字。 |
game_id | int | ドメインのゲーム | 1 = Magic, 2 = Yu-Gi-Oh, 3 = Pokémon, 4 = Runeterra. |
language_code | string | パスの言語 | 返されるカード名とテキストの言語。 |
リクエスト例
curl "https://cardsrealm.com/ja-jp/api/cardinfo?cardname=Lightning%20Bolt¤cy=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
最近公開されたデッキを新しい順に返します。
| パラメータ | タイプ | パターン | 注意事項 |
|---|---|---|---|
page | int | 1 | ページ番号。 |
limit | int | 50 | 1ページあたりのデッキ数。上限は500で、超えるとエラーを返します。 |
game_id | int | 1 | cardinfo と同じです。 |
リクエスト例
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_id | int | 0 | デッキの数値 id。 |
currency | string | BRL | 3文字。 |
リクエスト例
curl "https://cardsrealm.com/ja-jp/api/getDeckByID?deck_id=374859¤cy=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_name | string | 空 | アーキタイプ名。最大40文字。 |
week | int | 4 | 何週間さかのぼるか。上限は52です。 |
format | string | Standard | 最大20文字。 |
game_id | int | 1 | cardinfo と同じです。 |
リクエスト例
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_name | string | 空 | 最大40文字。 |
week | int | 52 | 何週間さかのぼるか。 |
player_platform | string | cardsrealm_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
すでに開催された大会を新しい順に返します。
| パラメータ | タイプ | パターン | 注意事項 |
|---|---|---|---|
page | int | 1 | ページ番号。 |
format | string | 空 | 最大20文字。空欄はすべてのフォーマットを意味します。 |
game_id | int | 1 | cardinfo と同じです。 |
リクエスト例
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_id | int | 1 | 大会の数値 id。 |
リクエスト例
curl "https://cardsrealm.com/ja-jp/api/getTournamentInfo?tournament_id=810845"
getUserTournaments
GET/ja-jp/api/getUserTournaments
あるアカウントが主催した大会。
| パラメータ | タイプ | パターン | 注意事項 |
|---|---|---|---|
nickname | string | Cards Realm | 最大30文字。 |
リクエスト例
curl "https://cardsrealm.com/ja-jp/api/getUserTournaments?nickname=leon-diniz"
エラーとサポート
| コード | 意味 |
|---|---|
200 | 成功。ボディは常に JSON です。 |
404 | リクエストが拒否されました。ボディは理由を示す JSON 文字列です。名前が長すぎる、数値でない、許可された一覧にない値、のいずれかです。 |
質問や、ここにない項目が必要な場合は Discord までご連絡ください。 Discord