快速开始

一个只读的 JSON API,数据与网站本身相同:卡牌、套牌、赛事和选手战绩。

无需 API 密钥。 所有接口均为公开,无需认证、令牌或注册。

所有请求都是 GET。 所有参数都通过查询字符串传递。

基础地址
https://cardsrealm.com/zh-tw/api/

语言段是路径的一部分,决定卡牌名称及其他译文的语言。网站支持的任何 locale 都可以使用。

选择游戏。 两种方式,效果相同:调用该游戏自己的子域名,或传入 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/zh-tw/api/cardinfo

按名称查找一张卡牌的全部信息:规则文本、法术力费用、稀有度、版本与当前价格。

参数类型图案笔记
cardnamestringPath to exile最多 50 个字符。
currencystring该 locale 的货币三个字母。
game_idint该域名对应的游戏1 = Magic, 2 = Yu-Gi-Oh, 3 = Pokémon, 4 = Runeterra.
language_codestring路径中的语言返回的卡牌名称与文本所用的语言。
请求示例
curl "https://cardsrealm.com/zh-tw/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/zh-tw/api/getRecentDecks

最近发布的套牌,最新在前。

参数类型图案笔记
pageint1页码。
limitint50每页套牌数。上限为 500,超过则返回错误。
game_idint1与 cardinfo 相同。
请求示例
curl "https://cardsrealm.com/zh-tw/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/zh-tw/api/getDeckByID

完整的套牌列表。卡牌清单位于 cards 字段,包含数量、board(main 或 side)以及每张卡的价格。

参数类型图案笔记
deck_idint0套牌的数字 id。
currencystringBRL三个字母。
请求示例
curl "https://cardsrealm.com/zh-tw/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/zh-tw/api/getDeckResults

某个套牌原型的表现:总体战绩,并按 by_meta 细分它对阵其他每个原型的结果。

参数类型图案笔记
deck_namestring套牌原型名称,最多 40 个字符。
weekint4回溯多少周。上限为 52。
formatstringStandard最多 20 个字符。
game_idint1与 cardinfo 相同。
请求示例
curl "https://cardsrealm.com/zh-tw/api/getDeckResults?deck_name=Grixis%20Affinity&format=Pauper&week=8"

getPlayerResults

GET/zh-tw/api/getPlayerResults

某位玩家的战绩,并按 by_meta 细分他在每个套牌原型下的表现。

参数类型图案笔记
player_namestring最多 40 个字符。
weekint52回溯多少周。
player_platformstringcardsrealm_nickname按哪个名称检索。取 cardsrealm_nickname、mtgo、arena、riot 或 display 之一。其他取值将返回错误。
请求示例
curl "https://cardsrealm.com/zh-tw/api/getPlayerResults?player_name=Carrubs&player_platform=mtgo"

getPastTournaments

GET/zh-tw/api/getPastTournaments

已经举办过的赛事,最新在前。

参数类型图案笔记
pageint1页码。
formatstring最多 20 个字符。留空表示所有赛制。
game_idint1与 cardinfo 相同。
请求示例
curl "https://cardsrealm.com/zh-tw/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/zh-tw/api/getTournamentInfo

一场赛事的完整信息:赛事本身、位于 round_info 的各轮次,以及位于 standings 的最终排名。不存在的 id 返回空列表,而非错误。

参数类型图案笔记
tournament_idint1赛事的数字 id。
请求示例
curl "https://cardsrealm.com/zh-tw/api/getTournamentInfo?tournament_id=810845"

getUserTournaments

GET/zh-tw/api/getUserTournaments

由某个账号举办的赛事。

参数类型图案笔记
nicknamestringCards Realm最多 30 个字符。
请求示例
curl "https://cardsrealm.com/zh-tw/api/getUserTournaments?nickname=leon-diniz"

错误与支持

代码意义
200成功。响应体始终为 JSON。
404请求被拒绝。响应体是一个 JSON 字符串,说明问题所在:名称过长、本应是数字却不是数字,或取值不在允许的列表内。

有疑问,或者需要这里没有的字段?来 Discord 找我们。 Discord