Cards Realm API
Primeros pasos
Una API JSON de solo lectura sobre los mismos datos que alimentan el sitio: cartas, mazos, torneos y resultados de jugadores.
Sin clave de API. Todos los endpoints son públicos y no requieren autenticación, token ni registro.
Toda petición es un GET. Todos los parámetros van en la query string.
https://cardsrealm.com/es-bo/api/
El segmento de idioma forma parte de la ruta y decide el idioma de los nombres de carta y del resto del texto traducido. Sirve cualquier locale que el sitio atienda.
Elegir el juego. Dos caminos, y hacen lo mismo: llamar al subdominio del propio juego, o pasar el parámetro game_id. Sin ninguno de los dos, recibes el juego del dominio que llamaste.
curl "https://cardsrealm.com/en-us/api/getRecentDecks?game_id=1&limit=2"
cardinfo
Todo lo que el sitio sabe sobre una carta, buscada por nombre: texto, coste de maná, rareza, ediciones y precios actuales.
| Parámetro | Tipo | Defecto | Notas |
|---|---|---|---|
cardname | string | Path to exile | Hasta 50 caracteres. |
currency | string | moneda del locale | Tres letras. |
game_id | int | juego del dominio | 1 = Magic, 2 = Yu-Gi-Oh, 3 = Pokémon, 4 = Runeterra. |
language_code | string | idioma de la ruta | Idioma del nombre y del texto de la carta devueltos. |
curl "https://cardsrealm.com/es-bo/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
Los mazos publicados más recientemente, del más nuevo al más antiguo.
| Parámetro | Tipo | Defecto | Notas |
|---|---|---|---|
page | int | 1 | Número de página. |
limit | int | 50 | Mazos por página. El tope es 500; por encima de eso la llamada devuelve error. |
game_id | int | 1 | Lo mismo que en cardinfo. |
curl "https://cardsrealm.com/es-bo/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
Una lista de mazo completa. La lista de cartas viene en la clave cards, con cantidad, board (main o side) y precio por carta.
| Parámetro | Tipo | Defecto | Notas |
|---|---|---|---|
deck_id | int | 0 | El id numérico del mazo. |
currency | string | BRL | Tres letras. |
curl "https://cardsrealm.com/es-bo/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
Cómo viene rindiendo un arquetipo: historial general, más un desglose by_meta de sus resultados frente a cada otro arquetipo.
| Parámetro | Tipo | Defecto | Notas |
|---|---|---|---|
deck_name | string | vacío | Nombre del arquetipo, hasta 40 caracteres. |
week | int | 4 | Cuántas semanas hacia atrás. El tope es 52. |
format | string | Standard | Hasta 20 caracteres. |
game_id | int | 1 | Lo mismo que en cardinfo. |
curl "https://cardsrealm.com/es-bo/api/getDeckResults?deck_name=Grixis%20Affinity&format=Pauper&week=8"
getPlayerResults
El historial de un jugador, con un desglose by_meta de cómo le fue con cada arquetipo.
| Parámetro | Tipo | Defecto | Notas |
|---|---|---|---|
player_name | string | vacío | Hasta 40 caracteres. |
week | int | 52 | Cuántas semanas hacia atrás. |
player_platform | string | cardsrealm_nickname | Por qué nombre estás buscando. Uno entre cardsrealm_nickname, mtgo, arena, riot o display. Cualquier otro devuelve error. |
curl "https://cardsrealm.com/es-bo/api/getPlayerResults?player_name=Carrubs&player_platform=mtgo"
getPastTournaments
Torneos que ya ocurrieron, del más reciente al más antiguo.
| Parámetro | Tipo | Defecto | Notas |
|---|---|---|---|
page | int | 1 | Número de página. |
format | string | vacío | Hasta 20 caracteres. Vacío significa todos los formatos. |
game_id | int | 1 | Lo mismo que en cardinfo. |
curl "https://cardsrealm.com/es-bo/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 torneo completo: el evento, sus rondas en round_info y la tabla final en standings. Un id inexistente devuelve una lista vacía, no un error.
| Parámetro | Tipo | Defecto | Notas |
|---|---|---|---|
tournament_id | int | 1 | El id numérico del torneo. |
curl "https://cardsrealm.com/es-bo/api/getTournamentInfo?tournament_id=810845"
getUserTournaments
Los torneos organizados por una cuenta.
| Parámetro | Tipo | Defecto | Notas |
|---|---|---|---|
nickname | string | Cards Realm | Hasta 30 caracteres. |
curl "https://cardsrealm.com/es-bo/api/getUserTournaments?nickname=leon-diniz"
Errores y soporte
| Código | Significado |
|---|---|
200 | Éxito. El cuerpo siempre es JSON. |
404 | La llamada fue rechazada. El cuerpo es una cadena JSON que dice qué estaba mal: un nombre demasiado largo, un número que no es número, o un valor fuera de la lista aceptada. |
¿Dudas, o un campo que necesitas y no está aquí? Habla con nosotros en el Discord. Discord