Cards Realm API
시작하기
사이트와 동일한 데이터를 읽기 전용으로 제공하는 JSON API입니다. 카드, 덱, 토너먼트, 플레이어 전적을 다룹니다.
API 키가 필요 없습니다. 모든 엔드포인트는 공개되어 있으며 인증, 토큰, 가입이 필요 없습니다.
GET이든 POST든 되고, 매개변수는 쿼리 문자열이나 본문 어느 쪽으로도 보낼 수 있습니다. 아래의 매개변수 보내기를 참고하세요.
https://cardsrealm.com/ko-kr/api/
언어 구간은 경로의 일부이며 카드 이름과 그 밖의 번역된 텍스트의 언어를 결정합니다. 사이트가 지원하는 로케일이면 무엇이든 사용할 수 있습니다.
게임 선택. 두 가지 방법이 있고 결과는 같습니다. 해당 게임의 서브도메인을 호출하거나 game_id 파라미터를 전달하면 됩니다. 둘 다 없으면 호출한 도메인의 게임이 적용됩니다.
curl "https://cardsrealm.com/en-us/api/getRecentDecks?game_id=1&limit=2"
매개변수 보내기
모든 엔드포인트가 GET과 POST 모두에 응답하며, 아래 형식 중 편한 것에서 매개변수를 읽습니다. 응답은 같습니다.
| 보내는 방법 | Content-Type |
|---|---|
| 쿼리 문자열 (GET 또는 POST) | — |
| 단순 폼 | application/x-www-form-urlencoded |
| 멀티파트 폼 | multipart/form-data |
| JSON | application/json |
curl "https://cardsrealm.com/ko-kr/api/getRecentDecks?game_id=1&limit=2"
curl -X POST "https://cardsrealm.com/ko-kr/api/getRecentDecks" \
-d "game_id=1" -d "limit=2"
curl -X POST "https://cardsrealm.com/ko-kr/api/getRecentDecks" \
-H "Content-Type: application/json" \
-d '{"game_id": 1, "limit": 2}'{
"error": "요청 본문의 필드를 읽지 못했습니다. form-data, x-www-form-urlencoded 또는 JSON으로 보내주세요.",
"hint": "Postman이나 Insomnia를 쓴다면 Content-Type 헤더를 지우고 도구가 생성하도록 두세요."
}cardinfo
이름으로 찾은 카드 한 장의 모든 정보. 텍스트, 마나 비용, 희귀도, 수록 세트, 현재 가격을 제공합니다.
| 파라미터 | 유형 | 무늬 | 메모 |
|---|---|---|---|
cardname | string | Path to exile | 최대 50자. |
currency | string | 로케일의 통화 | 세 글자. |
game_id | int | 도메인의 게임 | 1 = Magic, 2 = Yu-Gi-Oh, 3 = Pokémon, 4 = Runeterra. |
language_code | string | 경로의 언어 | 반환되는 카드 이름과 텍스트의 언어. |
curl "https://cardsrealm.com/ko-kr/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
가장 최근에 공개된 덱을 최신순으로 제공합니다.
| 파라미터 | 유형 | 무늬 | 메모 |
|---|---|---|---|
page | int | 1 | 페이지 번호. |
limit | int | 50 | 페이지당 덱 수. 상한은 500 이며, 초과하면 오류를 반환합니다. |
game_id | int | 1 | cardinfo 와 동일합니다. |
curl "https://cardsrealm.com/ko-kr/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
덱 리스트 전체. 카드 목록은 cards 키에 담기며 수량, board(main 또는 side), 카드별 가격을 포함합니다.
| 파라미터 | 유형 | 무늬 | 메모 |
|---|---|---|---|
deck_id | int | 0 | 덱의 숫자 id. |
currency | string | BRL | 세 글자. |
curl "https://cardsrealm.com/ko-kr/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
아키타입의 성적. 전체 전적과 함께 다른 각 아키타입 상대 전적을 by_meta 로 제공합니다.
| 파라미터 | 유형 | 무늬 | 메모 |
|---|---|---|---|
deck_name | string | 비어 있음 | 아키타입 이름. 최대 40자. |
week | int | 4 | 몇 주 전까지. 상한은 52 입니다. |
format | string | Standard | 최대 20자. |
game_id | int | 1 | cardinfo 와 동일합니다. |
curl "https://cardsrealm.com/ko-kr/api/getDeckResults?deck_name=Grixis%20Affinity&format=Pauper&week=8"
getPlayerResults
플레이어의 전적. by_meta 로 각 아키타입별 상세 내역도 제공합니다.
| 파라미터 | 유형 | 무늬 | 메모 |
|---|---|---|---|
player_name | string | 비어 있음 | 최대 40자. |
week | int | 52 | 몇 주 전까지. |
player_platform | string | cardsrealm_nickname | 어떤 이름으로 검색할지. cardsrealm_nickname, mtgo, arena, riot, display 중 하나입니다. 그 외의 값은 오류를 반환합니다. |
curl "https://cardsrealm.com/ko-kr/api/getPlayerResults?player_name=Carrubs&player_platform=mtgo"
getPastTournaments
이미 열린 토너먼트를 최신순으로 제공합니다.
| 파라미터 | 유형 | 무늬 | 메모 |
|---|---|---|---|
page | int | 1 | 페이지 번호. |
format | string | 비어 있음 | 최대 20자. 비워 두면 모든 포맷을 의미합니다. |
game_id | int | 1 | cardinfo 와 동일합니다. |
curl "https://cardsrealm.com/ko-kr/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
토너먼트 전체 정보. 대회 자체와 함께 각 라운드는 round_info, 최종 순위는 standings 로 제공합니다. 없는 id 는 오류가 아니라 빈 목록을 반환합니다.
| 파라미터 | 유형 | 무늬 | 메모 |
|---|---|---|---|
tournament_id | int | 1 | 토너먼트의 숫자 id. |
curl "https://cardsrealm.com/ko-kr/api/getTournamentInfo?tournament_id=810845"
getUserTournaments
한 계정이 주최한 토너먼트.
| 파라미터 | 유형 | 무늬 | 메모 |
|---|---|---|---|
nickname | string | Cards Realm | 최대 30자. |
curl "https://cardsrealm.com/ko-kr/api/getUserTournaments?nickname=leon-diniz"
오류와 지원
| 암호 | 의미 |
|---|---|
200 | 성공. 본문은 항상 JSON 입니다. |
400 | 호출이 거부되었습니다. 너무 긴 이름, 숫자가 아닌 숫자, 허용 목록 밖의 값, 또는 읽을 수 없는 본문 때문입니다. |
500 | 저희 쪽에서 문제가 생겼습니다. 알려주시면 좋겠습니다. |
거부된 호출은 400과 객체로 응답합니다. invalid_fields는 살펴볼 매개변수를 알려주며, 문제가 특정 필드가 아닐 때는 없습니다.
{
"error": "주는 숫자여야 합니다",
"invalid_fields": ["week"]
}궁금한 점이나 여기에 없는 필드가 필요하신가요? Discord 로 알려 주세요. Discord