Chapter 04

/cards [GET] API(v1)

nukokoi
nukokoi
2022.10.09に更新

/cards

全カード取得

この呼び出しは最大 100 枚のカードを返します

pageパラメータを使用し分割したページを返します。

以下の各フィールドは、クエリパラメータとして使用できます。
デフォルトではレア度、セット、名前などの特異性を持つフィールドは、
値を使用してクエリを実行するときに常に「or」演算子を使用します。
色、特殊タイプ、サブタイプなどの複数の値を持つことのできるフィールドは、
「and」または「or」演算子を使用できます

例:name=nissa, worldwaker|jace|ajani, caller
その他の例:colors=red,white,blue あるいは colors=red|white|blue

レスポンスフィールド

パラメータ
name カード名。 分割、両面、反転カードの場合はカードの片面の名前のみ。
基本的に、各「サブカード」には独自のレコードがあります。
layout カードのレイアウト。
値: normal, split, flip, double-faced, token, plane, scheme, phenomenon, leveler, vanguard, aftermath
cmc Converted mana cost(変換されたマナコスト) 常に数値
colors カードの色。 通常、これはキャスト コストに由来しますが、一部のカードは特別です (両面カードの裏面やゴーストファイアなど)。
colorIdentity 固有色。 [赤, 青] は [“R”, “U”]になります。 カードの固有色にはカードのルール、テキスト内の色が含まれます。
type カードタイプ。 これは、実際に印刷された場合にカードに表示されているタイプです。 注: ダッシュは、MTG ルールに従って UTF8 の「ロング ダッシュ」です。
supertypes 特殊タイプ。これらは、カード タイプの左端に表示されます。
値の例: Basic、Legendary、Snow、World、Ongoing
types カードタイプ。 これらはカードタイプのダッシュの右側に印字されています。 例: Instant, Sorcery, Artifact, Creature, Enchantment, Land, Planeswalker
subtypes カードのサブタイプ。 これらはカードタイプのダッシュの右側に印字されています。 通常、各単語は独自のサブタイプです。 例: Trap, Arcane, Equipment, Aura, Human, Rat, Squirrel, etc.
rarity カードのレアリティ。例: Common, Uncommon, Rare, Mythic Rare, Special, Basic Land
set カードが (set code)に属するセットのコード。例: NEO,SNC,2X2
setName カードが属するセットの名前
text カードのオラクルテキスト。 マナシンボルやその他のシンボルが含まれる場合がある。
flavor フレーバーテキスト。
artist カードのアーティスト。MTGJSONは多くのカードの誤植を修正するため、これはカード上のものと一致しない場合があります。
number カードの番号。 これは、カードの中央下部に小さなテキストで印刷されています。一部のカードには数字に文字が含まれているため、これは整数ではなく文字列です。
power カードのパワー。これはクリーチャータイプにのみ存在します。これは文字列で、数値ではなく、一部のカードは「1+*」のように表されます。
toughness カードのタフネス。クリーチャータイプにのみ存在します。これはクリーチャータイプにのみ存在します。これは文字列で、数値ではなく、一部のカードは「1+*」のように表されます。
loyalty カードの忠誠度。プレインズウォーカーにのみ存在します。
language カードが印刷されている言語。 外国名(foreignName)で検索する場合は、このパラメータとnameパラメータを使用します。
gameFormat ゲームフォーマット。 Commander、Standard、Legacyなど(使用時に提供がない限りは適切に設定される)
legality 適切、禁止、制限などの特定の形式のカードの基準。
page 要求するデータのページ
pageSize 単一のリクエストで返すデータの量。デフォルトの(および最大)は100です。
orderBy 応答結果で並べ替えられるフィールド
random pageSizeで制限された中でランダムに任意の数のカードを取得する。
contains 特定のフィールド(imageUrlなど)が利用可能かどうかに基づいてカードをフィルタリングします。
id このカードに固有のID。setCode + cardName + cardImageNameのSHA1ハッシュで構成される。
multiverseid Wizard’s Gathererサイトに掲載されているカードのmultiverseid。サイトに存在しないセットのカードはmultiverseidを持ちません。存在しないセットとは、以下のものを指します。ATH、ITP、DKM、RQS、DPA、および小文字の「p」から始まる4文字のコードを持つすべてのセット。
レスポンス
{  
  "cards":[  
      {  
      "name":"Archangel Avacyn",
      "names":[  
          "Archangel Avacyn",
          "Avacyn, the Purifier"
      ],
      "manaCost":"{3}{W}{W}",
      "cmc":5,
      "colors":[  
          "White"
      ],
      "colorIdentity":[
          "W"
      ],
      "type":"Legendary Creature — Angel",
      "supertypes":[  
          "Legendary"
      ],
      "types":[  
          "Creature"
      ],
      "subtypes":[  
          "Angel"
      ],
      "rarity":"Mythic Rare",
      "set":"SOI",
      "text":"Flash\nFlying, vigilance\nWhen Archangel Avacyn enters the battlefield, creatures you control gain indestructible until end of turn.\nWhen a non-Angel creature you control dies, transform Archangel Avacyn at the beginning of the next upkeep.",
      "artist":"James Ryman",
      "number":"5a",
      "power":"4",
      "toughness":"4",
      "layout":"double-faced",
      "multiverseid":409741,
      "imageUrl":"http://gatherer.wizards.com/Handlers/Image.ashx?multiverseid=409741&type=card",
      "rulings":[  
          {  
          "date":"2016-04-08",
          "text":"Archangel Avacyn’s delayed triggered ability triggers at the beginning of the next upkeep regardless of whose turn it is."
          },
          {  
          "date":"2016-04-08",
          "text":"Archangel Avacyn’s delayed triggered ability won’t cause it to transform back into Archangel Avacyn if it has already transformed into Avacyn, the Purifier, perhaps because several creatures died in one turn."
          },
          {  
          "date":"2016-04-08",
          "text":"For more information on double-faced cards, see the Shadows over Innistrad mechanics article (http://magic.wizards.com/en/articles/archive/feature/shadows-over-innistrad-mechanics)."
          }
      ],
      "foreignNames":[  
          {  
          "name":"大天使艾维欣",
          "language":"Chinese Simplified",
          "multiverseid":410071
          },
          {  
          "name":"大天使艾維欣",
          "language":"Chinese Traditional",
          "multiverseid":410401
          },
          {  
          "name":"Archange Avacyn",
          "language":"French",
          "multiverseid":411061
          },
          {  
          "name":"Erzengel Avacyn",
          "language":"German",
          "multiverseid":410731
          },
          {  
          "name":"Arcangelo Avacyn",
          "language":"Italian",
          "multiverseid":411391
          },
          {  
          "name":"大天使アヴァシン",
          "language":"Japanese",
          "multiverseid":411721
          },
          {  
          "name":"대천사 아바신",
          "language":"Korean",
          "multiverseid":412051
          },
          {  
          "name":"Arcanjo Avacyn",
          "language":"Portuguese (Brazil)",
          "multiverseid":412381
          },
          {  
          "name":"Архангел Авацина",
          "language":"Russian",
          "multiverseid":412711
          },
          {  
          "name":"Arcángel Avacyn",
          "language":"Spanish",
          "multiverseid":413041
          }
      ],
      "printings":[  
          "SOI"
      ],
      "originalText":"Flash\nFlying, vigilance\nWhen Archangel Avacyn enters the battlefield, creatures you control gain indestructible until end of turn.\nWhen a non-Angel creature you control dies, transform Archangel Avacyn at the beginning of the next upkeep.",
      "originalType":"Legendary Creature — Angel",
      "id":"02ea5ddc89d7847abc77a0fbcbf2bc74e6456559"
      },
      { ... },
      { ... }
  ]
  }

その他のレスポンスフィールド

以下のフィールドも(NULLでない場合は)レスポンスの一部となりますが、現在クエリパラメータとして使用することはできません。

パラメータ
names スプリット、フリップ、デュアルのカードにのみ使用されます。表裏を問わず、このカードに記載されているすべての名前が入ります。
manaCost このカードのマナ・コスト。1つ以上のマナ・シンボルから構成される。(照会するにはcmcと色を使用する)
variations もしあるカードが別アートを持つ場合(例えば4種類の森や2 Brothers Yamazaki)、それぞれの別バージョンのmultiverseid がここにリストアップされ、現在のカードのmultiverseid は含まれません。
imageUrl カードの画像URL。カードがmultiverseidを持っている場合のみ存在します。
watermark カードにプリントされた透かし。注:分割カードは、分割カードの各面に透かしがあるが、現在このフィールドが設定されていません。
border このカードのボーダーが、トップレベルのJSONで指定されたボーダーと異なる場合、ここで指定される。(例: Ungluedは銀色のボーダー、ただし土地は黒色のボーダー)
timeshifted このカードがタイムシフトカードだった場合。
hand 手札の最大サイズの修正値。ヴァンガードのカードにのみ存在する。
life スタート時のライフの合計の修正。ヴァンガードのカードにのみ存在する。
reserved このカードがウィザーズ公式リプリントポリシーによって予約されている場合、trueに設定されます。
releaseDate このカードが発売された日付です。これはプロモカードにのみ設定されます。 日付は正確な月日ではないため、部分的な日付(YYYY-MM-DD または YYYY-MM または YYYY)が設定される場合があります。プロモカードの中には、発売日が不明なものもあります。
starter このカードがコア・ボックス・セットの一部としてのみ発売された場合、trueに設定される。これらは厳密にはコアセットの一部であり、ブースターで使用できないがトーナメントで使用可能である。
rulings カードの罫線。オブジェクトの配列。各オブジェクトは 'date' および 'text' のキーを持つ。
foreignNames このセットのこのカードが他の言語で印刷されていた場合、そのカードの外国語名。オブジェクトの配列で構成されており、各オブジェクトは 'language', 'name', 'multiverseid' のキーを持ちます。すべてのセットで使用できるわけではありません。
printings このカードが印刷されたセットを、セットコードの配列で表します。
originalText カードに印刷された時点の原文。このフィールドは、プロモカードには使用できません。
originalType カードが印刷された時のオリジナルのタイプ。このフィールドはプロモカードでは使用できません。
legalities このカードがどのフォーマットで使用可能か、制限されているか、禁止されているか。オブジェクトの配列で、各オブジェクトは 'format' と 'legality' を持ちます。
source プロモカードの場合、このカードが元々どこで入手されたかを示しています。テーマデッキであるボックスセットの場合、このカードがどのテーマデッキから出たものかを示します。

サンプルコード

  • ruby

ruby
require 'mtg_sdk'

# 全カードを取得
cards = MTG::Card.all

# カードフィルタ
# 'where'句を連結することができる。ハッシュのキーは 
# フィルタリングしようとするURLパラメータでなければなりません。
cards = MTG::Card.where(supertypes: 'legendary')
                 .where(types: 'creature')
                 .where(colors: 'red,white')
                 .all

# Get cards on a specific page / pageSize
cards = MTG::Card.where(page: 50).where(pageSize: 50).all
  • python

python
from mtgsdk import Card

# Get all cards
cards = Card.all()

# Filter Cards
# You can chain 'where' clauses together. The key of the hash
# should be the URL parameter you are trying to filter on
cards = Card.where(supertypes='legendary') \
            .where(types='creature') \
            .where(colors='red,white') \
            .all()

# Get cards on a specific page / pageSize
cards = Card.where(page=50).where(pageSize=50).all()
  • javascript

javascript
const mtg = require('mtgsdk')

// Get all cards
mtg.card.all()
.on('data', function (card) {
  console.log(card.name)
});

// Filter Cards
mtg.card.all({ supertypes: 'legendary', types: 'creature', colors: 'red,white' })
.on('data', function (card) {
    console.log(card.name)
});

// Get cards on a specific page / pageSize
mtg.card.where({ page: 50, pageSize: 50})
.then(cards => {
    console.log(cards[0].name)
})
  • bash

bash
# Get all cards
curl "https://api.magicthegathering.io/v1/cards"

# Filter cards
curl "https://api.magicthegathering.io/v1/cards?supertypes=legendary&types=creature&colors=red,white"

# Get specific page of data
curl "https://api.magicthegathering.io/v1/cards?page=50&pageSize=50"