Per iniziare

Una API JSON di sola lettura sugli stessi dati che alimentano il sito: carte, mazzi, tornei e risultati dei giocatori.

Nessuna chiave API. Ogni endpoint è pubblico e non richiede autenticazione, token né registrazione.

Ogni richiesta è una GET. Tutti i parametri viaggiano nella query string.

URL di base
https://cardsrealm.com/it-it/api/

Il segmento di lingua fa parte del percorso e decide la lingua dei nomi delle carte e degli altri testi tradotti. Vale qualsiasi locale servito dal sito.

Scegliere il gioco. Due modi, con lo stesso risultato: chiamare il sottodominio del gioco, oppure passare il parametro game_id. Senza nessuno dei due, ottieni il gioco del dominio che hai chiamato.

Esempio di richiesta
curl "https://cardsrealm.com/en-us/api/getRecentDecks?game_id=1&limit=2"
I prezzi sono interi in centesimi. Un price di 77 con currency_prefix $ significa 0,77. Dividi per 100 prima di mostrarlo.
Uso corretto. Oggi non è applicato alcun limite rigido di richieste, quindi sii ragionevole: metti in cache ciò che puoi e preferisci una richiesta paginata a tante piccole. È l'abuso che trasforma una API aperta in chiusa.

cardinfo

GET/it-it/api/cardinfo

Tutto ciò che il sito sa di una carta, cercata per nome: testo, costo di mana, rarità, edizioni e prezzi attuali.

ParametroTipoPredefinitoNote
cardnamestringPath to exileFino a 50 caratteri.
currencystringvaluta del localeTre lettere.
game_idintgioco del dominio1 = Magic, 2 = Yu-Gi-Oh, 3 = Pokémon, 4 = Runeterra.
language_codestringlingua del percorsoLingua del nome e del testo della carta restituiti.
Esempio di richiesta
curl "https://cardsrealm.com/it-it/api/cardinfo?cardname=Lightning%20Bolt&currency=USD"
Esempio di risposta
{
  "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/it-it/api/getRecentDecks

I mazzi pubblicati più di recente, dal più nuovo al più vecchio.

ParametroTipoPredefinitoNote
pageint1Numero di pagina.
limitint50Mazzi per pagina. Il tetto è 500; oltre, la chiamata restituisce un errore.
game_idint1Come in cardinfo.
Esempio di richiesta
curl "https://cardsrealm.com/it-it/api/getRecentDecks?page=1&limit=2"
Esempio di risposta
[
  {
    "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/it-it/api/getDeckByID

Una decklist completa. L'elenco delle carte si trova nella chiave cards, con quantità, board (main o side) e prezzo per carta.

ParametroTipoPredefinitoNote
deck_idint0L'id numerico del mazzo.
currencystringBRLTre lettere.
Esempio di richiesta
curl "https://cardsrealm.com/it-it/api/getDeckByID?deck_id=374859&currency=USD"
Esempio di risposta
{
  "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
    }
  ]
}
Un deck_id inesistente risponde 200 con un oggetto quasi vuoto, non un errore. Verifica che deck_title ci sia prima di usare il resto.

getDeckResults

GET/it-it/api/getDeckResults

Come sta andando un archetipo: bilancio complessivo, più un dettaglio by_meta dei risultati contro ogni altro archetipo.

ParametroTipoPredefinitoNote
deck_namestringvuotoNome dell'archetipo, fino a 40 caratteri.
weekint4Quante settimane indietro. Il tetto è 52.
formatstringStandardFino a 20 caratteri.
game_idint1Come in cardinfo.
Esempio di richiesta
curl "https://cardsrealm.com/it-it/api/getDeckResults?deck_name=Grixis%20Affinity&format=Pauper&week=8"

getPlayerResults

GET/it-it/api/getPlayerResults

Lo storico di un giocatore, con un dettaglio by_meta dei suoi risultati con ogni archetipo.

ParametroTipoPredefinitoNote
player_namestringvuotoFino a 40 caratteri.
weekint52Quante settimane indietro.
player_platformstringcardsrealm_nicknameCon quale nome stai cercando. Uno tra cardsrealm_nickname, mtgo, arena, riot o display. Qualsiasi altro restituisce un errore.
Esempio di richiesta
curl "https://cardsrealm.com/it-it/api/getPlayerResults?player_name=Carrubs&player_platform=mtgo"

getPastTournaments

GET/it-it/api/getPastTournaments

Tornei già svolti, dal più recente al più vecchio.

ParametroTipoPredefinitoNote
pageint1Numero di pagina.
formatstringvuotoFino a 20 caratteri. Vuoto significa tutti i formati.
game_idint1Come in cardinfo.
Esempio di richiesta
curl "https://cardsrealm.com/it-it/api/getPastTournaments?format=Pauper&page=1"
Esempio di risposta
[
  {
    "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/it-it/api/getTournamentInfo

Un torneo completo: l'evento, i suoi turni in round_info e la classifica finale in standings. Un id inesistente restituisce una lista vuota, non un errore.

ParametroTipoPredefinitoNote
tournament_idint1L'id numerico del torneo.
Esempio di richiesta
curl "https://cardsrealm.com/it-it/api/getTournamentInfo?tournament_id=810845"

getUserTournaments

GET/it-it/api/getUserTournaments

I tornei organizzati da un account.

ParametroTipoPredefinitoNote
nicknamestringCards RealmFino a 30 caratteri.
Esempio di richiesta
curl "https://cardsrealm.com/it-it/api/getUserTournaments?nickname=leon-diniz"

Errori e supporto

CodiceSenso
200Successo. Il corpo è sempre JSON.
404La chiamata è stata rifiutata. Il corpo è una stringa JSON che dice cosa non andava: un nome troppo lungo, un numero che non è un numero, o un valore fuori dall'elenco accettato.

Domande, o un campo che ti serve e non c'è? Scrivici sul Discord. Discord