OverwolfSpire Codex가 이제 Overwolf에서 이용 가능합니다. 자세히 보기 →

슬레이 더 스파이어 2 (STS2) 개발자

Spire Codex 데이터로 도구, 봇, 콘텐츠를 만들어 보세요. 모두 무료이며 공개되어 있습니다.

툴팁 위젯

Wowhead 스타일의 카드, 유물, 물약 호버 툴팁을 어떤 웹사이트에든 추가하세요. 스크립트 태그 하나, 의존성 제로.

설치

<script src="https://spire-codex.com/widget/spire-codex-tooltip.js"></script>

문법

[[Strike]]카드 툴팁(기본 유형)
[[card:Bash]]카드(명시)
[[relic:Burning Blood]]유물
[[potion:Fire Potion]]물약
[[character:Ironclad]]캐릭터
[[monster:Jaw Worm]]몬스터
[[power:Strength]]파워
[[event:Neow]]이벤트
[[encounter:Lagavulin]]전투
[[enchantment:Sharp]]인챈트
[[keyword:Exhaust]]키워드
[[orb:Lightning]]오브
[[affliction:Bound]]상태이상
[[achievement:Minimalist]]도전 과제

JavaScript API

SpireCodex.scan()새 [[...]] 패턴을 찾아 페이지 다시 스캔(SPA용)
SpireCodex.scan(element)특정 DOM 요소 스캔

변경 로그 위젯

버전 전환이 가능한 Spire Codex 업데이트 기록을 보여주는 간결한 대화형 변경 로그 뷰어를 삽입하세요.

설치

<div id="scx-changelog"></div>
<script src="https://spire-codex.com/widget/spire-codex-changelog.js"></script>
data-version="1.0.4"특정 버전 표시(기본: 최신)

REST API

전체 게임 데이터베이스를 공개 REST API로 이용할 수 있습니다. 인증은 필요 없습니다. IP별 웹사이트 허용량이 탐색과 가벼운 호출을 감당하고, 키 없는 API 사용에는 아래 기본 한도가 적용됩니다. 스크립트와 도구에서는 API 키를 만들어 X-API-Key 헤더로 보내세요. 프로필 페이지에서 만들 수 있습니다. 키를 쓰면 요청이 IP 대신 계정 기준으로 집계되고(네트워크가 바뀌어도 안정적이며 같은 NAT 뒤의 다른 사용자와 공유되지 않음) 사용량 추적을 제공합니다. 티어 상한은 엔드포인트별로 적용됩니다. 응답에는 X-RateLimit-Remaining / X-RateLimit-Reset이 포함되어 요청 속도를 조절할 수 있습니다.

요청 제한

웹사이트 트래픽300/minuteIP당
API 키 없음15/minute
등록 사용자60/minute프로필에서 생성
학술100/minute요청 시 부여
유료120/minute후원자

모든 상한은 엔드포인트별로 계산됩니다. 표는 각 경로에서의 허용량이지 전체 풀이 아닙니다. 일부 무거운 엔드포인트는 키와 관계없이 모든 호출자에게 적용되는 자체 예산이 있습니다(아래 런 내보내기 참고, 언어 ZIP은 시간당 10회). X-RateLimit-Remaining을 확인하고 429가 오면 물러나세요(Retry-After가 설정됩니다).

런 대량 내보내기

GET /api/exports/runs?limit=1000&start=2026-06-01T00:00:00Z

공식 런을 JSONL로 스트리밍합니다. 한 줄에 런 하나입니다.

limit 페이지 크기를 제한합니다. 페이지가 가득 차면 다음 페이지용 커서를 반환합니다.
start / end 제출 시각의 반개구간으로 제한합니다. 페이지를 넘기는 동안 고정하세요. 커서에는 포함되지 않습니다.

이 엔드포인트는 시간당 120크레딧의 자체 예산이 있으며 키 유무와 관계없이 모든 호출자가 공유합니다. 페이지 요청은 1크레딧, 제한 없는 전체 가져오기(limit 없음)는 60크레딧입니다. 지속적인 동기화는 약 30초 간격의 페이지 요청이 가장 좋습니다. 429가 오면 Retry-After를 지키고 같은 커서로 재개하세요.

전체 데이터가 필요하면 매개변수 없는 호출이 하루 한 번 다시 생성되는 정적 파일 /exports/runs-latest.jsonl.gz 로 리디렉션되며, 줄 형식은 같습니다. /api/exports/runs/manifest 가 생성 시각과 런 수를 알려줍니다. 각 줄에는 제출 계정의 안정적인 가명 ID인 player_token 이 포함되며, 익명 런에서는 null 입니다.

한 패치만 필요하세요? /api/exports/runs?version=v0.111.0 은 매니페스트의 versions 맵에 있는 버전별 정적 파일 /exports/runs-v0.111.0.jsonl.gz 로 리디렉션됩니다. limit 및 cursor 와 함께 쓰면 해당 패치만 페이징합니다.

기본 URL

https://spire-codex.com

베타 채널(Steam 베타 브랜치의 미공개 콘텐츠): 어떤 엔티티 엔드포인트에든 이것을 붙이세요: ?channel=beta. 현재 베타 버전: /api/beta/version. main 대비 전체 차이: /api/beta/diff.

The community stats pages were reorganized: /community-stats, /leaderboards/metrics, /charts, and the /meta page now live under /stats, /leaderboards/elo is /top-players, and run submission moved to /runs/submit. Old URLs redirect.

엔드포인트

전체 대화형 문서(백엔드에서 자동 생성, 항상 최신): /docs

엔티티

GET/api/cards모든 카드(필터: color, type, rarity, keyword, tag, spawns, search)
GET/api/cards/{id}카드 하나
GET/api/characters모든 캐릭터
GET/api/characters/{id}캐릭터 하나
GET/api/relics모든 유물(필터: rarity, pool, ancient, search)
GET/api/relics/{id}유물 하나
GET/api/potions모든 물약(필터: rarity, pool, search)
GET/api/potions/{id}물약 하나
GET/api/monsters모든 몬스터(필터: type, search)
GET/api/monsters/{id}몬스터 하나
GET/api/powers모든 파워(필터: type, stack_type, search)
GET/api/powers/{id}파워 하나
GET/api/events모든 이벤트(필터: type, act, search)
GET/api/events/{id}이벤트 하나
GET/api/encounters모든 조우(필터: room_type, act, search)
GET/api/encounters/{id}조우 하나
GET/api/enchantments모든 마법 부여
GET/api/enchantments/{id}마법 부여 하나
GET/api/keywords카드 키워드
GET/api/keywords/{id}키워드 하나
GET/api/intents모든 의도 유형
GET/api/intents/{id}의도 하나
GET/api/orbs모든 오브 유형
GET/api/orbs/{id}오브 하나
GET/api/afflictions고통 유형
GET/api/afflictions/{id}고통 하나
GET/api/modifiers커스텀 모드 변경자
GET/api/modifiers/{id}변경자 하나
GET/api/achievements모든 도전 과제
GET/api/achievements/{id}도전 과제 하나
GET/api/badges모든 배지
GET/api/badges/{id}배지 하나
GET/api/epochs모든 에포크
GET/api/epochs/{id}에포크 하나
GET/api/stories모든 이야기
GET/api/stories/{id}이야기 하나
GET/api/acts모든 막
GET/api/acts/{id}막 하나
GET/api/ascensions모든 승천 단계
GET/api/ascensions/{id}승천 하나
GET/api/glossary모든 용어집 항목
GET/api/glossary/{id}용어 하나

집계 및 조회

GET/api/stats엔티티 수
GET/api/ancient-pools조건이 포함된 모든 고대의 유물 풀
GET/api/ancient-pools/{id}고대 하나의 풀
GET/api/unlocks에포크 맥락과 함께 유형별로 묶은 해금 가능 엔티티
GET/api/history/{entity_type}/{entity_id}변경 로그 기반 엔티티별 버전 기록
GET/api/update-history/{entity_type}/{entity_id}게임 패치 기준 엔티티별 업데이트 기록
GET/api/names/{entity_type}/{entity_id}엔티티의 다국어 이름 조회
GET/api/search엔티티, 참고 항목, 메커니즘, 가이드, 뉴스, 사이트 페이지, 이미지 파일을 아우르는 통합 검색, 오타 허용 (q, lang)
GET/api/search/semanticMeaning-based entity search, same item shape as /api/search (q, limit); empty when the feature is off
GET/api/merchant/configMerchant pricing config extracted from the game
GET/api/mechanics/constantsMechanics constants: room odds, gold ranges, ascension tuning
GET/api/mechanics/sectionsIndex of the mechanics pages
GET/api/mechanics/sections/{slug}One mechanics page as markdown with template tokens resolved
GET/api/changelogs모든 변경 로그
GET/api/changelogs/recent-additions홈페이지 띠에 표시되는 최신 엔티티
GET/api/changelogs/{tag}태그로 지정한 변경 로그 하나(예: v1.0.20)
GET/api/newsSteam 공지(보존을 위해 로컬에 미러링)
GET/api/news/{gid}정제된 본문이 포함된 뉴스 기사 하나
GET/api/versions버전 선택기용 사용 가능한 베타 데이터 버전
GET/api/news/codexSpire Codex site news, newest first
GET/api/news/codex/{slug}One site news entry
GET/api/announcementsActive site banner messages

Languages

GET/api/languagesAvailable languages with display names
GET/api/translationsTranslation maps for filter values and UI strings (lang)
GET/api/localizationsThe game's own localization tables as ICU MessageFormat, all of them or the ones named in ?tables= (max 50; unknown names are 404)
GET/api/localizations/tablesNames of the available localization tables
GET/api/localizations/{table}One localization table

커뮤니티 및 제출

GET/api/guides모든 가이드(필터: category, difficulty, tag, search)
GET/api/guides/{slug}마크다운이 렌더링된 가이드 하나
POST/api/guides가이드 제출(Discord 웹훅, 요청 제한 있음)
POST/api/runsSubmit a run for community stats and leaderboards. The run is attached to an account only with Authorization: Bearer <jwt>; a bare steam_id is kept as a hint
POST/api/runs/claimAttach the signed-in account to previously-submitted anonymous runs by hash
GET/api/runs/list필터와 페이지네이션으로 제출된 런 탐색(제출자 승률 기준 ascension_min/ascension_max 및 winrate_min/winrate_max, 즉 콘텐츠 구간 포함) 각 행에는 제출 계정의 안정적인 가명 ID인 player_token이 포함되며, 익명 런에서는 null입니다. total_is_lower_bound is true when the exact count ran out of time and total is a capped lower bound.
GET/api/runs/leaderboardRun leaderboards (fastest, highest_ascension); filter by character, players, game_mode, ascension_min, winrate_min (the content brackets), build_id
GET/api/runs/shared/{run_hash}해시로 지정한 제출 런 하나(요청 제한 있음)
GET/api/runs/stats커뮤니티 통계 집계(character, ascension, username으로 필터)
GET/api/runs/community-statsThe /stats hub dataset: event decision splits, deadliest encounters, win rates by ascension/character, records. Takes the same bracket keys as the metrics tables; an unknown bracket returns HTTP 400
GET/api/charts/meta/stats/charts 탐색기용 차트 목록: 사용 가능한 차트, 필터, 분할, 런 통계
GET/api/charts/{chart}One pre-aggregated chart (filter: players, ascension, game_mode, username, split, bracket=a10|wr30|wr50|wr75, build_id, plus per-chart params). A saved chart id from the chart builder returns that saved chart instead
POST/api/chartsSave a chart spec to your profile (bearer token, 100 per account)
PATCH/api/charts/{id}Update the title, visibility or spec of your own saved chart; DELETE removes it
GET/api/charts/mineYour saved charts, newest first (bearer token)
GET/api/charts/publicNewest public saved charts (limit)
GET/api/tierlists/shared/{share_id}Public read-only view of a shared tier list
GET/api/beta/diff현재 베타가 엔티티 유형별로 추가, 변경, 제거하는 내용. 모든 BETA 라벨의 근거
GET/api/beta/version현재 베타 버전
GET/api/runs/scores/{type}Codex Score + Codex Elo per entity (cards/relics/potions); ?bracket= grades within a run bracket (a10|wr30|wr50|wr75, a game version, or any metrics bracket; unknown is HTTP 400) (the in-game mod sends the same via ?stat_filter=a10|a10_wr30|a10_wr50|a10_wr75); relics accept ?act=1|2|3 to rank by acquisition act; ?character= switches to that character's slice (entries gain a scope field)
GET/api/runs/leaderboard/seed-rank특정 시드의 시드 순위 + 전체 순위(?seed=&steam_id=). 승리한 런이 없으면 순위 필드는 null
POST/api/auth/steam/ticketSteamworks 웹 인증 티켓을 사이트 JWT로 교환(게임 내 자동 로그인). 서버에 Steam 키가 없으면 503
GET/api/runs/metrics/{type}Dense metrics table for cards/relics/potions, one row per entity: Codex Score, win_rate with a Wilson 95% win_rate_ci, hold_rate, lift and lift_n over the floor-adjusted expectation (null under 20 seats), Codex Elo and pick_rate from free choice screens for cards and relics, a wax block on relics (Toy Box copies split out), and used/use_rate on potions. Counts are per seat, so a 4P run is four seats; the response carries total_runs, total_seats, total_wins and data_through. ?bracket=all|solo|2p|3p|4p|a10|daily|custom|wr30|wr50|wr75 or a composite like solo:standard; ?character= switches to that character's slice (rows gain per-character Elo and Pick%). An unknown bracket returns HTTP 400
GET/api/runs/metrics/shopsShop shelf table, one row per card, relic or potion: seen, bought, buy_rate, and the buyers' win_rate, win_rate_ci and lift. Same bracket keys as the other metrics tables
GET/api/runs/metrics/eventsEvent option table: chosen, share of that event's choices, win_rate, win_rate_ci and lift. Same bracket keys as the other metrics tables
GET/api/runs/metrics/campfiresRest-site choice table (rest, smith, and the rest) with a localized name per ?lang=: chosen, share, low_hp_share, win_rate, win_rate_ci and lift. Same bracket keys as the other metrics tables
GET/api/runs/versions제출된 런이 있는 고유 게임 빌드 ID
GET/api/runs/leaderboard/rank/{run_hash}Rank of one winning run within its ladder (category)
GET/api/leaderboards/eloTop players by Codex Elo over solo A10 standard runs, refreshed nightly; powers /top-players (limit, min_runs)
GET/api/runs/stats/{type}/{id}Community stats for one card, relic or potion, with per-bracket and per-character splits
GET/api/runs/stats/{type}/{id}/historyDaily Codex Score and Elo history for one entity (bracket=all|a10|wr30|wr50|wr75)
GET/api/runs/top/{type}/{character}Most-picked entities of a type for one character (limit)
GET/api/runs/encounter-statsPer-encounter appearances, fatal rate, avg damage and turns, per character too (act, room_type, multiplayer, bracket, build_id, encounter, page, limit)
GET/api/runs/encounter-seriesThe given encounters (max 20) rolled up per bracket and per recent game version
GET/api/runs/pulseCommunity run and win totals plus data_through
GET/api/runs/snapshot-statusWhether the stats are loaded or rebuilding
GET/api/runs/{run_hash}/similarNearest winning solo decks to a run and what they took that it didn't
GET/api/runs/archetypesCommunity deck archetypes, clustered nightly
GET/api/runs/encounter-buildsWhich archetypes die to an encounter and which walk past it (encounter)
GET/api/runs/deck-advisorWhat the winning decks nearest a partial deck carry that it doesn't yet (character, cards, relics)
GET/api/runs/pick-coachNearest archetypes for a partial deck and a score per offered card (character, cards, relics, offer, target)
GET/api/pairings/{item_type}/{item_id}Cards, relics and potions that show up in the same runs as this item
GET/api/draft-recs/{item_type}/{item_id}Cards players most often draft when they already hold this item
POST/api/draft-adviceRank the offered cards for the current deck
GET/api/replaysRuns with a replay to watch; same filters and row shape as /api/runs/list plus replay_url
GET/api/replays/summaryHow many replays are watchable, overall and per character
GET/api/runs/{run_hash}/replayThe stored replay journal as gzip; POST uploads one for a run you own, DELETE removes it
GET/api/players/{username}/insightsOne player's public insights with community comparison; 404 for unknown or private profiles
GET/api/players/{username}/stats플레이어 본인의 카드, 유물, 포션, 이벤트, 상점, 모닥불 통계와 개인 Lift. 필터와 공개 설정은 insights와 동일
GET/api/presence/activeLive runs from the in-game mod, deepest first
GET/api/presence/{steam_id}One player's live run; 404 when they aren't in one
GET/api/thanksGitHub contributors, special thanks, and public supporters
GET/api/mod/latestLatest mod build and the game version it was verified against
GET/api/rate-limitsThe public rate-limit tiers
POST/api/feedback피드백 제출(Discord 웹훅)

대량 다운로드

GET/api/exports/runs공식 런의 JSONL 스트림(limit/start/end/cursor 페이지네이션, 시간당 120크레딧 자체 예산, 위 런 대량 내보내기 참고)
GET/api/exports/runs/manifestWhen the daily full run dump was generated and how many runs it holds
GET/api/exports/{lang}한 언어의 모든 엔티티 JSON ZIP(시간당 10회)
GET/api/images이미지 갤러리 카테고리
GET/api/images/search파일명으로 이미지 검색
GET/api/images/game/{version}/{category}/browse전체 에셋 덤프의 폴더를 페이지 단위로 탐색(path, offset, limit)
GET/api/images/game/{version}/{category}/download덤프 폴더 하나의 파일을 ZIP으로(path, 최대 2000개 파일)

다국어

어떤 엔드포인트에든 이 쿼리 매개변수를 붙이세요: ?lang=jpn. 15개 언어 지원:

eng, deu, esp, fra, ita, jpn, kor, pol, ptb, rus, spa, tha, tur, zhs, zht

빠른 시작

cURL

curl https://spire-codex.com/api/cards?color=ironclad&rarity=Rare

Python

import requests
cards = requests.get("https://spire-codex.com/api/cards", params={"color": "ironclad"}).json()
for card in cards:
    print(f"{card['name']} - {card['type']} ({card['rarity']})")

JavaScript

const res = await fetch("https://spire-codex.com/api/relics?pool=ironclad");
const relics = await res.json();
console.log(relics.map(r => r.name));

미니 카드 스프라이트

게임 내 카드 썸네일(런 기록 / 게임 오버 화면에 사용)을 어떤 웹 프로젝트에서든 재현하세요. CSS mask-image로 합성한 PNG 레이어 6장이며, 캔버스도 WebGL도 없이 색을 입힌 스프라이트만 씁니다. 색상은 디컴파일한 게임 코드에서 그대로 가져왔습니다: NTinyCard, CardPoolModel.DeckEntryCardColor.

미리보기

Ironclad / Attack / Common
Silent / Skill / Uncommon
Defect / Power / Rare
Necrobinder / Skill / Rare
Regent / Attack / Uncommon
Curse
Event
Quest

스프라이트 에셋

PNG 10개 모두 CORS가 활성화된 상태로 제공되며, 각 파일명 앞에 기본 URL을 붙이면 됩니다. 각 스프라이트는 128×128, RGBA, 투명 배경에 흰색입니다(CSS로 색을 입히는 용도).

https://spire-codex.com/static/images/ui/run_history_card/
  card_back.png           ← tinted by pool
  desc_box.png            ← dark description area (render at 25% opacity)
  attack_portrait.png     ← portrait per card type
  attack_portrait_shadow.png
  skill_portrait.png
  skill_portrait_shadow.png
  power_portrait.png
  power_portrait_shadow.png
  banner_shadow.png       ← render at 60% opacity
  banner.png              ← tinted by rarity

풀(카드 뒷면) 색상

출처: CardPoolModel.DeckEntryCardColor. /api/cards이(가) 반환하는 color 필드와 대조하세요.

ironclad#D62000
silent#5EBD00
defect#3EB3ED
necrobinder#CD4EED
regent#E36600
colorless#A3A3A3
event#A3A3A3
curse#585B61
quest#24476A
status#FFFFFF
token#FFFFFF

희귀도(배너) 색상

출처: NTinyCard.GetBannerColor. rarity 필드와 대조하세요.

Basic#9C9C9C
Starter#9C9C9C
Common#9C9C9C
Uncommon#64FFFF
Rare#FFDA36
Curse#E669FF
Event#13BE1A
Ancient#13BE1A
Quest#F46836
Status#9C9C9C
Token#9C9C9C

최소한의 HTML + CSS 예제

초상화 파일명: attack = 공격 카드, power = 파워 카드, skill = 나머지 전부(스킬, 상태, 저주, …)

<div class="tiny-card" style="
  --back: #D62000;   /* pool color, Ironclad */
  --banner: #FFDA36; /* rarity color, Rare */
  position: relative;
  width: 64px;
  height: 64px;
">
  <!-- 1. card back, tinted by pool -->
  <div class="layer" style="
    background-color: var(--back);
    mask: url(https://spire-codex.com/static/images/ui/run_history_card/card_back.png) center/contain no-repeat;
    -webkit-mask: url(https://spire-codex.com/static/images/ui/run_history_card/card_back.png) center/contain no-repeat;
  "></div>

  <!-- 2. description box -->
  <img class="layer" src="https://spire-codex.com/static/images/ui/run_history_card/desc_box.png" style="opacity:.25">

  <!-- 3. portrait shadow + portrait (attack/skill/power) -->
  <img class="layer" src="https://spire-codex.com/static/images/ui/run_history_card/attack_portrait_shadow.png">
  <img class="layer" src="https://spire-codex.com/static/images/ui/run_history_card/attack_portrait.png"
       style="filter: brightness(.95) sepia(.15)">

  <!-- 4. banner shadow + banner tinted by rarity -->
  <img class="layer" src="https://spire-codex.com/static/images/ui/run_history_card/banner_shadow.png" style="opacity:.6">
  <div class="layer" style="
    background-color: var(--banner);
    mask: url(https://spire-codex.com/static/images/ui/run_history_card/banner.png) center/contain no-repeat;
    -webkit-mask: url(https://spire-codex.com/static/images/ui/run_history_card/banner.png) center/contain no-repeat;
  "></div>
</div>

<style>
  .tiny-card .layer {
    position: absolute; inset: 0;
    width: 100%; height: 100%;
    object-fit: contain;
  }
</style>

React 컴포넌트

바로 쓸 수 있는 React 버전. 소스: TinyCard.tsx

import TinyCard from "./TinyCard";

// Feed in the three fields from /api/cards:
<TinyCard color="ironclad" type="Attack" rarity="Rare" className="w-16 h-16" />

전체 카드 이미지

/api/cards의 모든 카드에는 게임에서 렌더링된 전체 카드(테두리, 아트, 배너, 텍스트가 게임 내 모습 그대로)의 바로 쓸 수 있는 URL이 두 개 포함됩니다. 고대 카드는 애니메이션 webp입니다.

  • image_url_card — 기본 카드. 렌더가 없는 유일한 카드(mad_science)는 null이므로 그때는 image_url(초상화 아트)로 대체하세요.
  • image_url_card_upg — 강화된 카드. 강화가 없는 카드는 null.
// e.g. /api/cards/bash
{
  "id": "BASH",
  "image_url":          "/static/images/cards/bash.webp",  // portrait art
  "image_url_card":     "https://cdn.spire-codex.com/cards-full/stable/bash.webp",
  "image_url_card_upg": "https://cdn.spire-codex.com/cards-full/stable/bash_upg.webp"
}

현지화된 렌더는 언어별 하위 폴더에 있습니다. 예: cards-full/stable/jpn/bash.webp. 15개 언어 모두 사용할 수 있습니다.

마법 부여 카드 렌더

모든 카드는 정상적으로 받을 수 있는 각 마법 부여가 적용된 상태로도 렌더링되며, 게임 내 마법 부여 미리보기와 똑같이 그려집니다(배지, 수치, 추가된 카드 텍스트). URL은 하나의 패턴을 따릅니다:

https://cdn.spire-codex.com/cards-full/stable/ench/{enchantment}/{card}.webp        // English, base
https://cdn.spire-codex.com/cards-full/stable/ench/{enchantment}/{card}_upg.webp    // English, upgraded
https://cdn.spire-codex.com/cards-full/stable/{lang}/ench/{enchantment}/{card}.webp // localized

// e.g. Anger with Corrupted, in Japanese:
https://cdn.spire-codex.com/cards-full/stable/jpn/ench/corrupted/anger.webp
  • {enchantment} / {card}: /api/enchantments와 /api/cards의 소문자 id(예: sharp, corrupted, sown).
  • 유효한 카드와 마법 부여 조합만 존재하므로(내보내기는 게임 자체의 적용 규칙을 사용) 잘못된 조합은 404입니다. /api/enchantments의 card_type / applicable_to 필드가 어떤 카드가 해당되는지 알려줍니다.
  • 모든 조합에 기본판과 강화판이 있으며, 14개 언어 모두에서 마법 부여 텍스트가 완전히 현지화되어 있습니다.

데이터 내보내기

모든 게임 데이터를 ZIP 파일 하나로 다운로드하세요. 각 파일에는 엔티티 유형별(카드, 유물, 몬스터, 파워 등) JSON 파일이 들어 있습니다.

대화형 API 문서

직접 실행해 볼 수 있는 전체 Swagger/OpenAPI 문서.

API 문서 열기 →

오픈 소스

Spire Codex는 오픈 소스입니다. 데이터 추출 파이프라인, API, 프런트엔드 모두 GitHub에서 볼 수 있습니다.

GitHub에서 보기 →