Cards Realm API
Pour commencer
Une API JSON en lecture seule sur les mêmes données qui alimentent le site : cartes, decks, tournois et résultats des joueurs.
Pas de clé d'API. Chaque point d'accès est public et ne demande ni authentification, ni jeton, ni inscription.
Chaque requête est un GET. Tous les paramètres passent par la chaîne de requête.
https://cardsrealm.com/fr-ch/api/
Le segment de langue fait partie du chemin et détermine la langue des noms de cartes et des autres textes traduits. N'importe quelle locale servie par le site fonctionne.
Choisir le jeu. Deux moyens, au résultat identique : appeler le sous-domaine du jeu, ou passer le paramètre game_id. Sans l'un ni l'autre, vous obtenez le jeu du domaine appelé.
curl "https://cardsrealm.com/en-us/api/getRecentDecks?game_id=1&limit=2"
cardinfo
Tout ce que le site sait d'une carte, cherchée par son nom : texte, coût en mana, rareté, éditions et prix actuels.
| Paramètre | Type | Modèle | Remarques |
|---|---|---|---|
cardname | string | Path to exile | 50 caractères au maximum. |
currency | string | devise de la locale | Trois lettres. |
game_id | int | jeu du domaine | 1 = Magic, 2 = Yu-Gi-Oh, 3 = Pokémon, 4 = Runeterra. |
language_code | string | langue du chemin | Langue du nom et du texte de la carte renvoyés. |
curl "https://cardsrealm.com/fr-ch/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
Les decks publiés le plus récemment, du plus récent au plus ancien.
| Paramètre | Type | Modèle | Remarques |
|---|---|---|---|
page | int | 1 | Numéro de page. |
limit | int | 50 | Decks par page. Le plafond est 500 ; au-delà, l'appel renvoie une erreur. |
game_id | int | 1 | Comme dans cardinfo. |
curl "https://cardsrealm.com/fr-ch/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
Une decklist complète. La liste des cartes se trouve sous la clé cards, avec quantité, board (main ou side) et prix par carte.
| Paramètre | Type | Modèle | Remarques |
|---|---|---|---|
deck_id | int | 0 | L'identifiant numérique du deck. |
currency | string | BRL | Trois lettres. |
curl "https://cardsrealm.com/fr-ch/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
}
]
}getDeckResults
Les performances d'un archétype : bilan global, plus un détail by_meta de ses résultats face à chaque autre archétype.
| Paramètre | Type | Modèle | Remarques |
|---|---|---|---|
deck_name | string | vide | Nom de l'archétype, 40 caractères au maximum. |
week | int | 4 | Nombre de semaines en arrière. Le plafond est 52. |
format | string | Standard | 20 caractères au maximum. |
game_id | int | 1 | Comme dans cardinfo. |
curl "https://cardsrealm.com/fr-ch/api/getDeckResults?deck_name=Grixis%20Affinity&format=Pauper&week=8"
getPlayerResults
Le bilan d'un joueur, avec un détail by_meta de ses résultats avec chaque archétype.
| Paramètre | Type | Modèle | Remarques |
|---|---|---|---|
player_name | string | vide | 40 caractères au maximum. |
week | int | 52 | Nombre de semaines en arrière. |
player_platform | string | cardsrealm_nickname | Le nom sur lequel vous cherchez. L'un de cardsrealm_nickname, mtgo, arena, riot ou display. Toute autre valeur renvoie une erreur. |
curl "https://cardsrealm.com/fr-ch/api/getPlayerResults?player_name=Carrubs&player_platform=mtgo"
getPastTournaments
Les tournois déjà disputés, du plus récent au plus ancien.
| Paramètre | Type | Modèle | Remarques |
|---|---|---|---|
page | int | 1 | Numéro de page. |
format | string | vide | 20 caractères au maximum. Vide signifie tous les formats. |
game_id | int | 1 | Comme dans cardinfo. |
curl "https://cardsrealm.com/fr-ch/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
Un tournoi complet : l'événement, ses rondes dans round_info et le classement final dans standings. Un id inexistant renvoie une liste vide, pas une erreur.
| Paramètre | Type | Modèle | Remarques |
|---|---|---|---|
tournament_id | int | 1 | L'identifiant numérique du tournoi. |
curl "https://cardsrealm.com/fr-ch/api/getTournamentInfo?tournament_id=810845"
getUserTournaments
Les tournois organisés par un compte.
| Paramètre | Type | Modèle | Remarques |
|---|---|---|---|
nickname | string | Cards Realm | 30 caractères au maximum. |
curl "https://cardsrealm.com/fr-ch/api/getUserTournaments?nickname=leon-diniz"
Erreurs et assistance
| Code | Signification |
|---|---|
200 | Succès. Le corps est toujours du JSON. |
404 | L'appel a été rejeté. Le corps est une chaîne JSON indiquant ce qui n'allait pas : un nom trop long, un nombre qui n'en est pas un, ou une valeur hors de la liste acceptée. |
Des questions, ou un champ dont vous avez besoin et qui manque ici ? Écrivez-nous sur le Discord. Discord