Spire Codex artık Overwolf’ta. Canlı kart aramaları ve tek tıkla oyun yükleme özellikli oyun içi yer paylaşımını edin. Daha fazla bilgi →Spire Codex verileriyle araçlar, botlar ve içerik oluşturun. Her şey ücretsiz ve açık.
Herhangi bir web sitesine kartlar, kalıntılar ve iksirler için Wowhead tarzı üzerine gelince açılan ipuçları ekleyin. Tek bir script etiketi, sıfır bağımlılık.
<script src="https://spire-codex.com/widget/spire-codex-tooltip.js"></script>[[Strike]]Kart ipucu (varsayılan tür)[[card:Bash]]Kart (açık)[[relic:Burning Blood]]Kalıntı[[potion:Fire Potion]]İksir[[character:Ironclad]]Karakter[[monster:Jaw Worm]]Canavar[[power:Strength]]Güç[[event:Neow]]Etkinlik[[encounter:Lagavulin]]Karşılaşma[[enchantment:Sharp]]Büyü[[keyword:Exhaust]]Anahtar kelime[[orb:Lightning]]Küre[[affliction:Bound]]Rahatsızlık[[achievement:Minimalist]]BaşarımSpireCodex.scan()Sayfayı yeni [[...]] kalıpları için yeniden tarar (SPA'lar için)SpireCodex.scan(element)Belirli bir DOM öğesini tararSürüm geçişiyle Spire Codex güncelleme geçmişini gösteren kompakt, etkileşimli bir değişiklik günlüğü görüntüleyici gömün.
<div id="scx-changelog"></div>
<script src="https://spire-codex.com/widget/spire-codex-changelog.js"></script>data-version="1.0.4"Belirli bir sürümü gösterir (varsayılan: en son)Oyunun tüm veritabanına herkese açık bir REST API üzerinden erişilebilir. Kimlik doğrulama gerekmez: IP başına web sitesi kotası gezinmeyi ve ara sıra yapılan çağrıları karşılar; anahtarsız API kullanımı aşağıdaki temel oranı alır. Betikler ve araçlar için bir API anahtarı oluşturun ve X-API-Key başlığı olarak gönderin. Bir anahtar, isteklerinizi IP yerine kimliğe göre gruplar (ağlar arasında kararlıdır, aynı NAT arkasındaki diğer kullanıcılarla asla paylaşılmaz) ve kullanım takibi sağlar; katman sınırı uç nokta başına uygulanır. Yanıtlar, istekleri ayarlayabilmeniz için X-RateLimit-Remaining / X-RateLimit-Reset taşır.
| Web Sitesi Trafiği | 300/minute | IP başına |
| API anahtarı yok | 15/minute | |
| Kayıtlı Kullanıcı | 60/minute | profilinizden oluşturun |
| Akademik | 100/minute | talep üzerine verilir |
| Ücretli | 120/minute | destekçiler |
Tüm sınırlar uç nokta başına sayılır: tablo her rotadaki kotanızdır, küresel bir havuz değil. Birkaç ağır uç noktanın, anahtardan bağımsız olarak her çağırana uygulanan kendi bütçesi vardır (aşağıdaki koşu dışa aktarımına bakın; dil ZIP'i saatte 10). X-RateLimit-Remaining'i izleyin ve 429'da geri çekilin (Retry-After ayarlanır).
Oyunun koşu içi kart küçük resmini (Koşu Geçmişi / Oyun Bitti ekranlarında kullanılır) herhangi bir web projesinde yeniden oluşturun. CSS mask-image ile birleştirilmiş altı PNG katmanı; canvas yok, WebGL yok, yalnızca renklendirilmiş sprite'lar. Renkler doğrudan derlemesi çözülmüş oyun kodundan gelir: NTinyCard, CardPoolModel.DeckEntryCardColor.



Ironclad / Attack / Common

Tüm oyun verilerini tek bir ZIP arşivi olarak indirin. Her arşiv, her varlık türü için (kartlar, kalıntılar, canavarlar, güçler ve daha fazlası) JSON dosyaları içerir.
Deneme özelliğiyle eksiksiz Swagger/OpenAPI belgeleri.
API Belgelerini Aç →Spire Codex açık kaynaklıdır. Veri çıkarma hattı, API ve ön uç GitHub'da mevcuttur.
GitHub'da görüntüle →GET /api/runs/export?limit=1000&start=2026-06-01T00:00:00ZResmi koşuları JSONL olarak akıtır, satır başına bir koşu.
limit Sayfayı sınırlar; dolu bir sayfa bir sonraki için imleç döndürür.start / end Yarı açık bir gönderim zamanı penceresiyle sınırlar. Sayfalarken sabit tutun; imleç bunları içermez.Bu uç noktanın saatte 120 kredilik kendi bütçesi vardır ve anahtarlı ya da anonim tüm çağıranlar tarafından paylaşılır: sayfalanmış bir istek 1 kredi, sınırsız bir çekim (limit yok) 60 kredi tutar. Bu yüzden sürekli eşitleme en iyi ~30 sn aralıklı sayfalanmış çekimlerle çalışır; 429'da Retry-After'a uyun ve aynı imleçle devam edin.
https://spire-codex.comBeta kanalı (Steam beta dalındaki yayınlanmamış içerik): bunu herhangi bir varlık uç noktasına ekleyin: ?channel=beta. Geçerli beta sürümü: /api/beta/version. Main ile tam fark: /api/beta/diff.
Tam etkileşimli belgeler (arka uçtan otomatik üretilir, her zaman güncel): /docs
Bu sorgu parametresini herhangi bir uç noktaya ekleyin: ?lang=jpn. 15 dil desteklenir:
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=RarePython
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));




Defect / Power / Rare


Necrobinder / Skill / Rare


Regent / Attack / Uncommon


Curse


Event


Quest10 PNG'nin tamamı CORS etkin olarak sunulur; her dosya adının önüne temel URL'yi koyun. Her sprite 128×128, RGBA, saydam üzerine beyazdır (CSS ile renklendirilmek için).
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 rarityKaynak: CardPoolModel.DeckEntryCardColor. Bunları /api/cards tarafından döndürülen color alanıyla eşleştirin.
Kaynak: NTinyCard.GetBannerColor. rarity alanıyla eşleştirin.
Portre dosya adı: attack = Saldırı kartları, power = Güç kartları, skill = diğer her şey (Beceri, Durum, Lanet, …)
<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>Doğrudan kullanılabilir React sürümü. Kaynak: 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 içindeki her kart, oyunun işlediği tam kart için (çerçeve, çizim, afiş ve metin, tam olarak oyundaki gibi) kullanıma hazır iki URL içerir. Kadim kartlar animasyonlu webp'dir.
image_url_card — Temel kart. İşlenmiş görseli olmayan tek kart (mad_science) için null; orada image_url'ye (portre çizimi) geri dönün.image_url_card_upg — Yükseltilmiş kart. Kartın yükseltmesi yoksa 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"
}Yerelleştirilmiş görseller bir dil alt klasöründe bulunur, örneğin: cards-full/stable/jpn/bash.webp. 15 dilin tamamı mevcuttur.
Her kart ayrıca kurallara uygun olarak alabileceği her büyüyle, oyun içi büyü önizlemesinin çizdiği gibi (rozet, miktar ve eklenen kart metni) işlenir. URL'ler tek bir kalıbı izler:
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 ve /api/cards'tan küçük harfli kimlikler (ör. sharp, corrupted, sown).