@wildrift/champions-api
v0.1.2
Published
Provides public Wild Rift champion data including skins, abilities, roles, and difficulty.
Maintainers
Readme
Wild Rift Champions API
A lightweight TypeScript library for fetching League of Legends: Wild Rift champion data directly from Riot’s public web endpoints — no API key required.
🚀 Features
- Fetch all champion headers
- ID, name, image URL
- Fetch a single champion's full details
- Role, difficulty
- Full abilities (name, description, icon, video)
- Skins (name, image)
- Intro video
- Strongly-typed responses via
types.d.ts - Zero dependencies
- Works in Node.js and browsers
📦 Installation
npm install @wildrift/champions-apior
yarn add @wildrift/champions-api🛠️ Usage
Fetch all champion headers
import { fetchChampionHeaders } from "wildrift-champions-api";
const headers = await fetchChampionHeaders();
console.log(headers);Fetch full champion details
import { fetchChampionHeaders, fetchChampion } from "wildrift-champions-api";
const headers = await fetchChampionHeaders();
const garen_header = headers.find((champ) => champ.name === "garen");
if (garen_header) {
const garen = await fetchChampion(garen_header);
console.log(garen);
}🧩 Types
See wildrift_api_reference.md or src/types.d.ts for all types.
🛠 API
fetchChampionHeaders(): Promise<ChampionHeader[]>
Fetch all champion headers (basic info).
fetchChampion(champion: ChampionHeader): Promise<Champion>
Fetch full champion details from a given header.
All fetch functions throw an
Errorif a network or parsing error occurs. Usetry/catchto handle errors gracefully.
🧪 Example
import { fetchChampionHeaders, fetchChampion } from "wildrift-champions-api";
async function printFirstChampion() {
const headers = await fetchChampionHeaders();
if (headers.length > 0) {
const champ = await fetchChampion(headers[0]);
console.log(champ.name, champ.role, champ.abilities);
}
}
printFirstChampion();🧩 TypeScript Types
interface ChampionHeader {
id: string;
name: string;
image_url: string;
}
interface Ability {
name: string;
icon_url: string;
video_url: string;
description: string;
ability_type: AbilityType;
}
interface Skin {
name: string;
image_url: string;
}
interface Champion extends ChampionHeader {
role: string;
skins: Skin[];
intro_video_url: string;
difficulty: number;
abilities: Record<AbilityType, Ability>;
}🍷 Build
npm run buildOutputs ESM & CJS bundles.
📜 License
MIT © Arman
