Primeiros passos

Uma API JSON somente de leitura sobre os mesmos dados que alimentam o site: cartas, decks, torneios e resultados de jogadores.

Sem chave de API. Todo endpoint é público e não exige autenticação, token nem cadastro.

Toda requisição é um GET. Todo parâmetro vai na query string.

URL base
https://cardsrealm.com/pt-br/api/

O trecho de idioma faz parte do caminho e decide o idioma dos nomes de carta e do restante do texto traduzido. Vale qualquer locale que o site atenda.

Escolhendo o jogo. Dois caminhos, e fazem a mesma coisa: chamar o subdomínio do próprio jogo, ou passar o parâmetro game_id. Sem nenhum dos dois, você recebe o jogo do domínio que chamou.

Exemplo de requisição
curl "https://cardsrealm.com/en-us/api/getRecentDecks?game_id=1&limit=2"
Os preços são inteiros em centavos. Um price de 77 com currency_prefix $ significa 0,77. Divida por 100 antes de exibir.
Uso justo. Hoje não há limite rígido de requisições sendo aplicado, então seja razoável: guarde em cache o que der, e prefira uma requisição paginada a muitas pequenas. É o abuso que transforma uma API aberta em fechada.

cardinfo

GET/pt-br/api/cardinfo

Tudo que o site sabe sobre uma carta, buscada pelo nome: texto, custo de mana, raridade, edições e preços atuais.

ParâmetroTipoPadrãoNotas
cardnamestringPath to exileAté 50 caracteres.
currencystringmoeda do localeTrês letras.
game_idintjogo do domínio1 = Magic, 2 = Yu-Gi-Oh, 3 = Pokémon, 4 = Runeterra.
language_codestringidioma do caminhoIdioma do nome e do texto da carta retornados.
Exemplo de requisição
curl "https://cardsrealm.com/pt-br/api/cardinfo?cardname=Lightning%20Bolt&currency=USD"
Exemplo de resposta
{
  "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/pt-br/api/getRecentDecks

Os decks publicados mais recentemente, do mais novo para o mais antigo.

ParâmetroTipoPadrãoNotas
pageint1Número da página.
limitint50Decks por página. O teto é 500; acima disso a chamada devolve erro.
game_idint1O mesmo de cardinfo.
Exemplo de requisição
curl "https://cardsrealm.com/pt-br/api/getRecentDecks?page=1&limit=2"
Exemplo de resposta
[
  {
    "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/pt-br/api/getDeckByID

Uma decklist completa. A lista de cartas vem na chave cards, com quantidade, board (main ou side) e preço por carta.

ParâmetroTipoPadrãoNotas
deck_idint0O id numérico do deck.
currencystringBRLTrês letras.
Exemplo de requisição
curl "https://cardsrealm.com/pt-br/api/getDeckByID?deck_id=374859&currency=USD"
Exemplo de resposta
{
  "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
    }
  ]
}
Um deck_id inexistente responde 200 com um objeto quase vazio, e não um erro. Confira se deck_title veio antes de usar o resto.

getDeckResults

GET/pt-br/api/getDeckResults

Como um arquétipo vem se saindo: retrospecto geral, mais um detalhamento by_meta dos resultados dele contra cada outro arquétipo.

ParâmetroTipoPadrãoNotas
deck_namestringvazioNome do arquétipo, até 40 caracteres.
weekint4Quantas semanas para trás. O teto é 52.
formatstringStandardAté 20 caracteres.
game_idint1O mesmo de cardinfo.
Exemplo de requisição
curl "https://cardsrealm.com/pt-br/api/getDeckResults?deck_name=Grixis%20Affinity&format=Pauper&week=8"

getPlayerResults

GET/pt-br/api/getPlayerResults

O retrospecto de um jogador, com um detalhamento by_meta de como ele foi com cada arquétipo.

ParâmetroTipoPadrãoNotas
player_namestringvazioAté 40 caracteres.
weekint52Quantas semanas para trás.
player_platformstringcardsrealm_nicknamePor qual nome você está buscando. Um entre cardsrealm_nickname, mtgo, arena, riot ou display. Qualquer outro devolve erro.
Exemplo de requisição
curl "https://cardsrealm.com/pt-br/api/getPlayerResults?player_name=Carrubs&player_platform=mtgo"

getPastTournaments

GET/pt-br/api/getPastTournaments

Torneios que já aconteceram, do mais recente para o mais antigo.

ParâmetroTipoPadrãoNotas
pageint1Número da página.
formatstringvazioAté 20 caracteres. Vazio significa todos os formatos.
game_idint1O mesmo de cardinfo.
Exemplo de requisição
curl "https://cardsrealm.com/pt-br/api/getPastTournaments?format=Pauper&page=1"
Exemplo de resposta
[
  {
    "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/pt-br/api/getTournamentInfo

Um torneio completo: o evento, as rodadas em round_info e a tabela final em standings. Um id inexistente devolve uma lista vazia, e não um erro.

ParâmetroTipoPadrãoNotas
tournament_idint1O id numérico do torneio.
Exemplo de requisição
curl "https://cardsrealm.com/pt-br/api/getTournamentInfo?tournament_id=810845"

getUserTournaments

GET/pt-br/api/getUserTournaments

Os torneios organizados por uma conta.

ParâmetroTipoPadrãoNotas
nicknamestringCards RealmAté 30 caracteres.
Exemplo de requisição
curl "https://cardsrealm.com/pt-br/api/getUserTournaments?nickname=leon-diniz"

Erros e suporte

CódigoSignificado
200Sucesso. O corpo é sempre JSON.
404A chamada foi recusada. O corpo é uma string JSON dizendo o que estava errado: um nome longo demais, um número que não é número, ou um valor fora da lista aceita.

Dúvidas, ou um campo de que você precisa e não está aqui? Fale com a gente no Discord. Discord