Developers

Build tools, bots, and content with Spire Codex data. Everything is free and open.

Tooltip Widget

Add Wowhead-style hoverable tooltips for cards, relics, and potions to any website. One script tag, zero dependencies.

Installation

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

Syntax

[[Strike]]Card tooltip (default type)
[[card:Bash]]Card (explicit)
[[relic:Burning Blood]]Relic
[[potion:Fire Potion]]Potion
[[character:Ironclad]]Character
[[monster:Jaw Worm]]Monster
[[power:Strength]]Power
[[event:Neow]]Event
[[encounter:Lagavulin]]Encounter
[[enchantment:Sharp]]Enchantment
[[keyword:Exhaust]]Keyword
[[orb:Lightning]]Orb
[[affliction:Bound]]Affliction
[[achievement:Minimalist]]Achievement

JavaScript API

SpireCodex.scan()Re-scan the page for new [[...]] patterns (for SPAs)
SpireCodex.scan(element)Scan a specific DOM element

REST API

Full game database accessible via a public REST API. No authentication required. Rate limited to 60 requests/minute.

Base URL

https://spire-codex.com

Endpoints

GET/api/cardsAll cards (filter: color, type, rarity, keyword, tag, search)
GET/api/cards/{id}Single card
GET/api/charactersAll characters
GET/api/relicsAll relics (filter: rarity, pool, search)
GET/api/potionsAll potions (filter: rarity, pool, search)
GET/api/monstersAll monsters (filter: type, search)
GET/api/powersAll powers (filter: type, stack_type, search)
GET/api/eventsAll events (filter: type, act, search)
GET/api/encountersAll encounters (filter: room_type, act, search)
GET/api/enchantmentsAll enchantments
GET/api/keywordsCard keywords
GET/api/orbsOrb types
GET/api/afflictionsAffliction types
GET/api/achievementsAchievements
GET/api/statsEntity counts

Multi-Language

Add ?lang=jpn to any endpoint. 14 languages supported:

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

Quick Start

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));

Interactive API Docs

Full Swagger/OpenAPI documentation with try-it-out functionality.

Open API Docs →

Open Source

Spire Codex is open source. The data extraction pipeline, API, and frontend are all available on GitHub.

View on GitHub →