# Pokémon API
> Pokémon details — types, abilities, base stats, height, weight, sprites and official artwork — the full Pokédex roster, and type matchups with damage relations. Backed by PokeAPI. Perfect for games, fan apps, team builders, quizzes and chatbots.

## 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/pokemon-api/..."
```

## Pricing
- **Free** (Free) — 12,000 calls/Mo, 2 req/s
- **Basic** ($6/Mo) — 150,000 calls/Mo, 8 req/s
- **Pro** ($18/Mo) — 750,000 calls/Mo, 25 req/s
- **Mega** ($49/Mo) — 3,000,000 calls/Mo, 80 req/s

## Endpoints

### Pokemon

#### `GET /v1/list` — Browse the Pokédex

**Parameters:**
- `limit` (query, optional, string) — Max 1-100 Example: `20`
- `offset` (query, optional, string) — Offset Example: `0`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/pokemon-api/v1/list?limit=20&offset=0"
```

**Response:**
```json
{
    "data": {
        "count": 20,
        "limit": 20,
        "total": 1350,
        "offset": 0,
        "results": [
            "bulbasaur",
            "ivysaur",
            "venusaur",
            "charmander",
            "charmeleon",
            "charizard",
            "squirtle",
            "wartortle",
            "blastoise",
            "caterpie",
            "metapod",
            "butterfree",
            "weedle",
            "kakuna",
            "beedrill",
            "pidgey",
            "pidgeotto",
            "pidgeot",
            "rattata",
            "raticate"
        ]
    },
    "meta": {
        "timestamp": "2026-05-30T06:19:16.588Z",
        "request_id": "61a6a532-cf67-4c7d-aba4-3b8e60e78427"
    },
    "status": "ok",
    "message": "Pokedex retrieved",
    "success": true
}
```

#### `GET /v1/pokemon` — Pokémon by name or id

**Parameters:**
- `name` (query, required, string) — Name or numeric id Example: `pikachu`

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

**Response:**
```json
{
    "data": {
        "id": 25,
        "name": "pikachu",
        "stats": {
            "hp": 35,
            "speed": 90,
            "attack": 55,
            "defense": 40,
            "special_attack": 50,
            "special_defense": 50
        },
        "types": [
            "electric"
        ],
        "sprite": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/25.png",
        "artwork": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/25.png",
        "height_m": 0.4,
        "abilities": [
            {
                "name": "static",
                "hidden": false
            },
            {
                "name": "lightning-rod",
                "hidden": true
            }
        ],
        "weight_kg": 6,
        "moves_count": 105,
        "sprite_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/shiny/25.png",
        "base_experience": 112
    },
    "meta": {
        "timestamp": "2026-05-30T06:19:16.940Z",
        "request_id": "2babfe9c-7221-4e01-9734-aab96667f51a"
    },
    "status": "ok",
    "message": "Pokemon retrieved",
    "success": true
}
```

#### `GET /v1/type` — Type matchups

**Parameters:**
- `name` (query, required, string) — Type name Example: `electric`

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

**Response:**
```json
{
    "data": {
        "id": 13,
        "name": "electric",
        "pokemon": [
            "pikachu",
            "raichu",
            "magnemite",
            "magneton",
            "voltorb",
            "electrode",
            "electabuzz",
            "jolteon",
            "zapdos",
            "chinchou",
            "lanturn",
            "pichu",
            "mareep",
            "flaaffy",
            "ampharos",
            "elekid",
            "raikou",
            "electrike",
            "manectric",
            "plusle",
            "minun",
            "shinx",
            "luxio",
            "luxray",
            "pachirisu",
            "magnezone",
            "electivire",
            "rotom",
            "blitzle",
            "zebstrika"
        ],
        "pokemon_count": 114,
        "damage_relations": {
            "no_damage_to": [
                "ground"
            ],
            "half_damage_to": [
                "grass",
                "electric",
                "dragon"
            ],
            "no_damage_from": [],
            "double_damage_to": [
                "flying",
                "water"
            ],
            "half_damage_from": [
                "flying",
                "steel",
                "electric"
            ],
            "double_damage_from": [
                "ground"
            ]
        }
    },
    "meta": {
        "timestamp": "2026-05-30T06:19:17.441Z",
        "request_id": "e1b1b7ce-8cca-49f3
…(truncated, see openapi.json for full schema)
```


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