# BO3.gg — Wrapped API

> **You are on:** `https://api.paywithlocus.com/api` | [llms.txt](https://paywithlocus.com/llms.txt) | [docs](https://docs.paywithlocus.com)
>
> Locus runs on multiple environments -- make sure every URL you call matches your expected environment.
> | Environment | Landing | API | Docs |
> |---|---|---|---|
> | Production | paywithlocus.com | api.paywithlocus.com | docs.paywithlocus.com |
> | Beta | beta.paywithlocus.com | api.beta.paywithlocus.com | docs.paywithlocus.com |
> | Stage | stage.paywithlocus.com | api.stage.paywithlocus.com | docs.paywithlocus.com |
>
> If the API URL above doesn't match your expected environment, re-fetch this file from the correct domain.

> Track and compare professional esports performance across CS2, Valorant, and League of Legends by viewing detailed player statistics like kills, deaths, assists, multikills, and clutches. Discover top-performing players and analyze individual match histories to understand player performance ratings and competitive trends.

**Category:** Sports | **Website:** [bo3.gg/](https://bo3.gg/) | **Docs:** [parse.bot/marketplace/c4fe9ca1-e284-4905-b504-265eef8a2467/bo3-gg-api](https://parse.bot/marketplace/c4fe9ca1-e284-4905-b504-265eef8a2467/bo3-gg-api)

Pay-per-use API proxy. Each call is automatically billed to your wallet in USDC.

## Access

**Base URL:** `https://api.paywithlocus.com/api/wrapped/parse-bo3-gg-api-c4fe9ca1/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### get_player_match_history

Retrieve per-match CS2 statistics for a player: kills, deaths, assists, damage, rating, headshots, first kills, trade kills, multikills, and accuracy for each recent match. Returns the most recent matches in reverse chronological order.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `player_slug` | string | Yes | Player URL slug identifier (e.g. 'donk', 'samey'). Obtainable from get_top_players results. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-bo3-gg-api-c4fe9ca1/get_player_match_history \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"player_slug":"<string>"}'
```

### get_player_stats

Retrieve aggregated CS2 career statistics for a single player including games won/lost, total kills, deaths, assists, damage, and tournament results over the specified date window. The player is identified by their URL slug (obtainable from get_top_players results).

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `date_from` | string | No | Start of date range in YYYY-MM-DD format. Defaults to 180 days before today. |
| `date_to` | string | No | End of date range in YYYY-MM-DD format. Defaults to today. |
| `player_slug` | string | Yes | Player URL slug identifier (e.g. 'donk', 'samey'). Obtainable from get_top_players results. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-bo3-gg-api-c4fe9ca1/get_player_stats \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"date_from":"<string>","date_to":"<string>","player_slug":"<string>"}'
```

### get_top_players

Retrieve top-ranked players with historical performance stats for a given esports title. Each player record includes average kills, deaths, assists, and game-specific metrics (e.g. clutches and multikills for CS2/Valorant, gold-per-minute and pentakills for LoL). Results are ordered by the chosen sort metric descending. Stats are computed over the specified date window.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `date_from` | string | No | Start of date range in YYYY-MM-DD format. Defaults to 180 days before today. |
| `date_to` | string | No | End of date range in YYYY-MM-DD format. Defaults to today. |
| `game` | string | Yes | Esports title to query. |
| `limit` | integer | No | Number of players to return per page (1-50). |
| `offset` | integer | No | Number of players to skip for pagination. Use with limit to page through results. |
| `sort` | string | No | Sort field prefixed with - for descending. CS2 examples: -avg_player_rating, -avg_kills, -avg_kd_rate. Valorant: -avg_combat_score. LoL: -avg_kills, -avg_gold_per_min. Omit for game-specific default. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-bo3-gg-api-c4fe9ca1/get_top_players \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"date_from":"<string>","date_to":"<string>","game":"<string>","limit":"<integer>","offset":"<integer>","sort":"<string>"}'
```
