# League of Legends API
> League of Legends game data as an API, powered by Riot Data Dragon. Get every champion with their full kit — passive plus Q/W/E/R abilities (with cooldowns, costs and ranges), base stats, class tags, lore, ally/enemy tips and skin list — browse or filter champions by class (Mage, Fighter, Assassin, Tank, Support, Marksman), search the full item catalogue for gold cost, stat bonuses and build paths, list all summoner spells (Flash, Ignite, Teleport and more), and read the rune trees with every keystone and minor rune. The data always reflects the current live patch and is served from Riot\x27s static CDN, so it is fast and rock-solid under load. Perfect for champion and item guides, build tools, draft helpers, Discord bots, wikis and companion apps. No accounts, no upstream key. Not endorsed by Riot Games.

## Authentication
All requests require your oanor API key in the `x-oanor-key` header. Get one at https://www.oanor.com/developer/keys.

```bash
curl -H "x-oanor-key: oanor_live_…" "https://api.oanor.com/lol-api/..."
```

## Pricing
- **Free** (Free) — 3,550 calls/Mo, 2 req/s
- **Starter** ($5/Mo) — 45,500 calls/Mo, 5 req/s
- **Pro** ($15/Mo) — 218,000 calls/Mo, 15 req/s
- **Mega** ($41/Mo) — 1,090,000 calls/Mo, 40 req/s

## Endpoints

### Champions

#### `GET /v1/champion` — One champion in full

**Parameters:**
- `name` (query, required, string) — Champion name Example: `Ahri`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/lol-api/v1/champion?name=Ahri"
```

**Response:**
```json
{
    "data": {
        "version": "16.11.1",
        "champion": {
            "id": "Ahri",
            "key": "103",
            "info": {
                "magic": 8,
                "attack": 3,
                "defense": 4,
                "difficulty": 5
            },
            "lore": "Innately connected to the magic of the spirit realm, Ahri is a fox-like vastaya who can manipulate her prey's emotions and consume their essence—receiving flashes of their memory and insight from each soul she consumes. Once a powerful yet wayward predator, Ahri is now traveling the world in search of remnants of her ancestors while also trying to replace her stolen memories with ones of her own making.",
            "name": "Ahri",
            "tags": [
                "Mage",
                "Assassin"
            ],
            "blurb": "Innately connected to the magic of the spirit realm, Ahri is a fox-like vastaya who can manipulate her prey's emotions and consume their essence—receiving flashes of their memory and insight from each soul she consumes. Once a powerful yet wayward...",
            "skins": [
                "Dynasty Ahri",
                "Midnight Ahri",
                "Foxfire Ahri",
                "Popstar Ahri",
                "Challenger Ahri",
                "Academy Ahri",
                "Arcade Ahri",
                "Popstar Ahri (Amethyst)",
                "Popstar Ahri (Rose Quartz)",
                "Popstar Ahri (Citrine)",
                "P
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/champions` — All champions (filter by class)

**Parameters:**
- `tag` (query, optional, string) — Mage|Fighter|Assassin|Tank|Support|Marksman Example: `Mage`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/lol-api/v1/champions?tag=Mage"
```

**Response:**
```json
{
    "data": {
        "count": 74,
        "version": "16.11.1",
        "champions": [
            {
                "id": "Ahri",
                "key": "103",
                "info": {
                    "magic": 8,
                    "attack": 3,
                    "defense": 4
                },
                "name": "Ahri",
                "tags": [
                    "Mage",
                    "Assassin"
                ],
                "blurb": "Innately connected to the magic of the spirit realm, Ahri is a fox-like vastaya who can manipulate her prey's emotions and consume their essence—receiving flashes of their memory and insight from each soul she consumes. Once a powerful yet wayward...",
                "title": "the Nine-Tailed Fox",
                "partype": "Mana",
                "difficulty": 5
            },
            {
                "id": "Anivia",
                "key": "34",
                "info": {
                    "magic": 10,
                    "attack": 1,
                    "defense": 4
                },
                "name": "Anivia",
                "tags": [
                    "Mage"
                ],
                "blurb": "Anivia is a benevolent winged spirit who endures endless cycles of life, death, and rebirth to protect the Freljord. A demigod born of unforgiving ice and bitter winds, she wields those elemental powers to thwart any who dare disturb her homeland...",
                "title": "the Cryophoenix",
…(truncated, see openapi.json for full schema)
```

### Items

#### `GET /v1/items` — Search items

**Parameters:**
- `q` (query, optional, string) — Item name contains Example: `Infinity Edge`
- `id` (query, optional, string) — Item id Example: `3031`
- `limit` (query, optional, string) — Max results Example: `25`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/lol-api/v1/items?q=Infinity+Edge&id=3031&limit=25"
```

**Response:**
```json
{
    "data": {
        "item": {
            "id": 3031,
            "from": [
                "1038",
                "1037",
                "1018"
            ],
            "gold": {
                "base": 725,
                "sell": 2450,
                "total": 3500
            },
            "into": [],
            "name": "Infinity Edge",
            "tags": [
                "CriticalStrike",
                "Damage"
            ],
            "stats": {
                "FlatCritChanceMod": 0.25,
                "FlatPhysicalDamageMod": 75
            },
            "plaintext": "Massively enhances critical strikes",
            "description": "75 Attack Damage 25% Critical Strike Chance 30% Critical Strike Damage"
        },
        "version": "16.11.1"
    },
    "meta": {
        "timestamp": "2026-06-01T00:04:02.852Z",
        "request_id": "1d49c514-1382-4a69-852f-606bc2d6d20b"
    },
    "status": "ok",
    "message": "Items retrieved",
    "success": true
}
```

### Reference

#### `GET /v1/runes` — Rune trees

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/lol-api/v1/runes"
```

**Response:**
```json
{
    "data": {
        "count": 5,
        "paths": [
            {
                "id": 8100,
                "key": "Domination",
                "name": "Domination",
                "slots": [
                    [
                        {
                            "id": 8112,
                            "key": "Electrocute",
                            "name": "Electrocute",
                            "short": "Hitting a champion with 3 separate attacks or abilities in 3s deals bonus adaptive damage."
                        },
                        {
                            "id": 8128,
                            "key": "DarkHarvest",
                            "name": "Dark Harvest",
                            "short": "Damaging a low health champion inflicts adaptive damage and harvests a soul from the victim."
                        },
                        {
                            "id": 9923,
                            "key": "HailOfBlades",
                            "name": "Hail of Blades",
                            "short": "Gain a large amount of Attack Speed and bonus true damage for the first 3 attacks made against enemy champions."
                        }
                    ],
                    [
                        {
                            "id": 8126,
                            "key": "CheapShot",
                            "name": "Cheap Shot",
                            "short": "Deal bonus true damage to enemy c
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/spells` — Summoner spells

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/lol-api/v1/spells"
```

**Response:**
```json
{
    "data": {
        "count": 18,
        "spells": [
            {
                "id": "SummonerBarrier",
                "name": "Barrier",
                "modes": [
                    "ULTBOOK",
                    "PRACTICETOOL",
                    "URF",
                    "NEXUSBLITZ",
                    "ONEFORALL",
                    "WIPMODEWIP",
                    "RUBY",
                    "SWIFTPLAY",
                    "KIWI",
                    "ARAM",
                    "CLASSIC",
                    "TUTORIAL",
                    "BRAWL",
                    "FIRSTBLOOD",
                    "WIPMODEWIP3",
                    "RUBY_TRIAL_2",
                    "RUBY_TRIAL_3",
                    "RUBY_TRIAL_1",
                    "ASSASSINATE",
                    "ARSR",
                    "DOOMBOTSTEEMO"
                ],
                "cooldown": "180",
                "description": "Gain a brief Shield.",
                "summoner_level": 4
            },
            {
                "id": "SummonerBoost",
                "name": "Cleanse",
                "modes": [
                    "ULTBOOK",
                    "PRACTICETOOL",
                    "URF",
                    "NEXUSBLITZ",
                    "ONEFORALL",
                    "WIPMODEWIP",
                    "RUBY",
                    "SWIFTPLAY",
                    "KIWI",
                    "ARAM",
                    "CLASSIC",
                    "TUTORIA
…(truncated, see openapi.json for full schema)
```

### Meta

#### `GET /v1/meta` — Usage notes

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/lol-api/v1/meta"
```

**Response:**
```json
{
    "data": {
        "note": "League of Legends game data. /v1/champions (all champions; ?tag=Mage|Fighter|Assassin|Tank|Support|Marksman to filter); /v1/champion?name=Ahri (one champion in full — abilities Q/W/E/R, passive, base stats, lore, tips, skins); /v1/items?q=sword (search items by name; ?id= for one — gold cost, stats, build path); /v1/spells (summoner spells like Flash & Ignite); /v1/runes (the rune trees). Always reflects the current live patch. Game data © Riot Games; not endorsed by Riot.",
        "source": "Riot Data Dragon (ddragon.leagueoflegends.com)",
        "endpoints": [
            "/v1/champions",
            "/v1/champion",
            "/v1/items",
            "/v1/spells",
            "/v1/runes",
            "/v1/meta"
        ]
    },
    "meta": {
        "timestamp": "2026-06-01T00:04:03.075Z",
        "request_id": "25ee769d-4a8b-485f-8dd9-16f604075e80"
    },
    "status": "ok",
    "message": "Meta retrieved",
    "success": true
}
```


---
Marketplace page: https://www.oanor.com/api/lol-api
OpenAPI spec: https://www.oanor.com/api/lol-api/openapi.json
