> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sportsapipro.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Esports V2 API Overview

> Enhanced Esports API with 89 endpoints: CS2, League of Legends, Dota 2 live scores and statistics

## Base URL

```
https://v2.esports.sportsapipro.com
```

## Authentication

All requests require an `x-api-key` header:

```bash theme={null}
curl -H "x-api-key: YOUR_API_KEY" \
  https://v2.esports.sportsapipro.com/api/live
```

## Esports-Specific Notes

### Supported Games

Three major competitive games are covered:

* **Counter-Strike 2 (CS2)** — Category ID: `1572`
* **League of Legends (LoL)** — Category ID: `1571`
* **Dota 2** — Category ID: `1570`

### Categories = Games

Unlike traditional sports where categories represent countries, in esports **categories represent games**. Use `/api/countries` to list all game categories.

### Match Format

* **CS2**: Best of 1 (groups) or Best of 3/5 (playoffs). Maps: Mirage, Inferno, Nuke, Anubis, Ancient, Dust2, Vertigo.
* **LoL**: Best of 1 (regular season) or Best of 3/5 (playoffs). Games last 25-45 min.
* **Dota 2**: Best of 2 (groups) or Best of 3/5 (playoffs). Games last 30-60 min.

Score fields use `period1` through `period5` (maps or games in a series).

### Team Size

All three games feature **5 players per team**.

### 24/7 Schedule

Esports runs around the clock with **100-200+ matches per day** across all games. There are almost always live matches at any time.

### Streaming

The `/channels` endpoint returns **Twitch and YouTube stream links** instead of traditional TV channels.

### Key Stats

* **CS2**: Kills, Deaths, Assists, ADR (Average Damage per Round), KAST%, Rating 2.0
* **LoL**: Kills, Deaths, Assists, CS (Creep Score), Gold, Towers, Dragons, Barons
* **Dota 2**: Kills, Deaths, Assists, GPM (Gold Per Minute), XPM, Last Hits, Denies

## Test IDs

Use the search endpoint to discover IDs:

```bash theme={null}
GET /api/countries
GET /api/search?q=esl+pro+league
GET /api/search?q=navi
```

## Endpoint Categories

| Category           | Endpoints | Description                                   |
| ------------------ | --------- | --------------------------------------------- |
| Live & Schedule    | 7         | Live matches, schedules, tournaments          |
| Search & Discovery | 7         | Search, categories, trending, news            |
| Tournament         | 22        | Tournament info, seasons, standings, brackets |
| Match              | 22        | Match details, scores, statistics, odds       |
| Team               | 12        | Team details, rosters, form, matches          |
| Player             | 16        | Player profiles, career stats, media          |
| Venue              | 3         | LAN venue info                                |

**Total: 89 endpoints**

## Example Requests

<CodeGroup>
  ```bash cURL theme={null}
  curl -X GET "https://v2.esports.sportsapipro.com/api/live" \
    -H "x-api-key: YOUR_API_KEY"
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch(
    'https://v2.esports.sportsapipro.com/api/live',
    { headers: { 'x-api-key': 'YOUR_API_KEY' } }
  );
  const data = await response.json();
  ```

  ```python Python theme={null}
  import requests

  response = requests.get(
      'https://v2.esports.sportsapipro.com/api/live',
      headers={'x-api-key': 'YOUR_API_KEY'}
  )
  data = response.json()
  ```
</CodeGroup>

## UI Design Ideas

* **Score display**: Show map-by-map (Map 1: 16-13, Map 2: 13-16, Map 3: 16-10 = 2-1)
* **Team branding**: Use `/teams/{id}/image` — org logos are central to esports identity
* **Playoff brackets**: Critical for tournament UIs — use `/knockout`
* **Stream links**: Show Twitch/YouTube links prominently — use `/match/{id}/channels`
* **Map veto**: CS2 map pick/ban — check `/match/{id}/incidents`
* **Player IGN**: Players known by in-game name (s1mple, Faker), not real name
* **24/7 schedule**: Always show timezone — matches run around the clock
* **H2H records**: Very important — use `/match/{id}/h2h`

## Sport Comparison — Esports vs Traditional Sports

| Feature      | Esports                                | Football (Soccer)   | Basketball       |
| ------------ | -------------------------------------- | ------------------- | ---------------- |
| Match format | Best of 1/3/5 maps/games               | 2 × 45 min          | 4 × 12 min       |
| Score        | Map/game wins: 2-1, 2-0, 3-2           | Goals (0-5 typical) | Points (80-120)  |
| Score fields | period1-period5 (maps/games)           | period1-period2     | period1-period4  |
| Team size    | 5 players                              | 11 players          | 5 players        |
| Key stats    | Kills, Deaths, Assists, KDA            | Goals, assists      | Points, rebounds |
| Categories   | Games (CS2, LoL, Dota 2)               | Countries           | Countries        |
| Schedule     | Year-round, 24/7, 100-200+ matches/day | Weekends + midweek  | Oct-Jun          |
| "Venue"      | LAN venue or Online                    | Stadium             | Arena            |
