GET/bo3/economy-baselineapiKey1 credit/request
Returns the site-wide CS2 round win rate for every pairing of buy levels (rounds, wins, win rate), the baseline to compare a team's `economy` view of bo3-team-stats with. Levels: -1 full eco, 0 semi-eco, 1 half buy, 2 full buy; the opposing level is null when it is unknown.
Takes no parameters.
Sampled 29 Oct 2026: 20 items. Filled in every item: team_level, rounds, wins, win_rate. Not in every item: enemy_level (16). In the sample: team_level: -1 to 2, median 0; enemy_level: -1 to 2, median 0; rounds: 1,292 to 2,030,161, median 74,272; wins: 646 to 1,015,078, median 32,736; win_rate: 0.04 to 1, median 0.5.
Open in Playground
GET/bo3/forum-categoriesapiKey1 credit/request
Returns the BO3.gg forum categories of one game (id, slug and title, ordered by id; CS2 has CS2, IDEAS AND BUGS and OFF TOP) that the `category` filter of bo3-forum accepts.
Optional: game (6 allowed values: cs2, valorant, lol, dota2, r6siege, mlbb).
Sampled 29 Oct 2026: 3 items. Filled in every item: id, slug, title. In the sample: title: “CS2” and 2 other values.
Open in Playground
GET/bo3/forumapiKey1 credit/request
Returns BO3.gg forum threads for one game with paging: a `category` id from bo3-forum-categories and `sort` (`activity` with pinned threads first, `newest`, `comments`, `rating`), up to 100 per page. Each thread has slug, title, category, comment count, rating, pinned flag, created and last-activity times and the author's nickname; post bodies, reactions and replies are not returned.
Optional: game (6 allowed values: cs2, valorant, lol, dota2, r6siege, mlbb), category, sort (4 allowed values: activity, newest, comments, rating), offset, limit.
Sampled 29 Oct 2026: 40 items. Filled in every item: id, slug, title, category_id, category, comments, rating, pinned and 3 more. In the sample: created_at: 2025-08-14 to 2026-05-25; comments: 0 to 11, median 6; title: “Will here be a pickem for Major?” and 39 other values; pinned: true in 0 of 40; last_activity_at: 2025-08-15 to 2026-05-27.
Open in Playground
GET/bo3/match-gamesapiKey1 credit/request
Returns the maps of one BO3.gg match with round-by-round results: for each map the number, map name, state, start, duration in seconds, final score, per-half side results (CT or T score, overtime) and every round with its number, duration, end reason, winning side and running score. A match with no maps yet returns an empty list.
Required: match_id.
Sampled 29 Oct 2026: 2 items. Filled in every item: id, number, map, state, status, begin_at, duration_seconds, rounds_count and 6 more. In the sample: begin_at: 2026-10-27; number: 1 to 2, median 1; map: “inferno” and 1 other value; side_results: median 2 entries; state: “done”; status: “finished”; duration_seconds: 2,141.7 to 2,696.92, median 2,141.7; rounds_count: 15 to 22, median 15.
Open in Playground
GET/bo3/match-historyapiKey1 credit/request
Returns BO3.gg's esports match history for one game, newest first by default, with paging and filters: `status` (`finished`, `defwin`, `upcoming`, `current`, `canceled`, `postponed`; the default is finished and default-win matches together), `tier` (`s` to `d`), an inclusive `from`/`to` day range (UTC), `sort` and `offset`/`limit` (up to 100 per page). Each match has teams, scores, winner, best-of, tournament, maps and the site's AI prediction; `total` and `has_more` page through the full history.
Optional: game (6 allowed values: cs2, valorant, lol, dota2, r6siege, mlbb), status (6 allowed values: finished, defwin, upcoming, current, canceled, postponed), tier (5 allowed values: s, a, b, c, d), from, to, sort (2 allowed values: newest, oldest), offset, limit.
Sampled 29 Oct 2026: 40 items. Filled in every item: id, slug, url, game, status, best_of, tier, start_time and 5 more. Not in every item: prediction (38), maps (32). In the sample: start_time: 2026-10-29 to 2026-11-09; status: finished (31), defwin (9); best_of: 1 to 3, median 3; url: bo3.gg; live_coverage: true in 3 of 40; teams: median 2 entries; tier: c (24), b (10), a (3) and 1 more; end_time: 2026-10-29 to 2026-11-09.
Open in Playground
GET/bo3/match-playersapiKey1 credit/request
Returns every player's statistics for one BO3.gg match, ordered by team then nickname: kills, deaths, assists, headshots, first kills and deaths, trades, KAST, rating, ADR, damage, utility and money figures as a numeric `stats` map, plus the multikill counts (2K to 5K), team and opponent. The match slug comes from bo3-match-history.
Required: slug.
Sampled 29 Oct 2026: 10 items. Filled in every item: player_id, nickname, team, opponent, stats, multikills. In the sample: team: Natus Vincere (5), Team Vitality (5); opponent: Team Vitality (5), Natus Vincere (5).
Open in Playground
GET/bo3/matchapiKey1 credit/request
Returns one BO3.gg match by slug: teams with scores and winner, status, best-of, tier, start and end time, tournament, stage and round, the maps played with scores, the site's AI prediction, live and recorded streams and the key-fact insights for each team. The slug comes from bo3-match-history.
Required: slug.
Sampled 29 Oct 2026: 32 items. Filled in every item: platform, name, language, official, url. Not in every item: viewer_count (29). In the sample: platform: twitch (21), youtube (6), kick (5); viewer_count: 0 to 35,362, median 963; name: “PGL” and 29 other values; url: youtube.com and 2 other hosts; official: true in 8 of 32; language: “en” and 15 other values.
Open in Playground
GET/bo3/news-categoriesapiKey1 credit/request
Returns the BO3.gg editorial categories (id and title, sorted by title: Analytics, Article, Blog, Events, Gaming, Guides, Highlights, Interviews, News, Predictions, Results, Streams, Tips, Transfers, Wiki) accepted by the `category` filter of bo3-news-feed.
Takes no parameters.
Sampled 29 Oct 2026: 15 items. Filled in every item: id, title. In the sample: title: median 7 characters.
Open in Playground
GET/bo3/news-feedapiKey1 credit/request
Returns BO3.gg's editorial feed for one game with paging and filters: `section` (`news`, `article`, `wiki`, `predictions`, `reviews`), a `locale` (16 languages, `en` by default), a `category` id from bo3-news-categories and `sort` (`newest`, `oldest`), up to 100 per page. Each item has slug, title, description, category, publish time, author, tags, image and canonical URL; `total` and `has_more` page through the archive (over 100,000 items across games).
Optional: game (7 allowed values: cs2, valorant, lol, dota2, r6siege, mlbb, games), section (5 allowed values: news, article, wiki, predictions, reviews), tag, locale (16 allowed values: en, ru, pt, es, de, fr, tr, pl, id, vi, ja, ko, ua, ms, tl, da), category, sort (2 allowed values: newest, oldest), offset, limit.
Sampled 29 Oct 2026: 40 items. Filled in every item: id, slug, title, game, category, category_id, published_at, author and 4 more. Not in every item: url (0). In the sample: published_at: 2026-02-20 to 2026-10-29; likes: 0 to 6, median 0; image_url: files.bo3.gg; pinned: true in 0 of 40; title: median 71 characters; tags: median 1 entry.
Open in Playground
GET/bo3/player-leaderboardapiKey1 credit/request
Returns BO3.gg's CS2 player leaderboard over a day range (default: the last six months): players ranked by `sort` (`rating`, `kd`, `kills`, `damage`, `assists`, `headshots`, `games`, `rounds`) in `order` (`desc`, `asc`), optionally limited to games at one tournament `tier` (`s` to `d`), with paging. Each player has team, games, rounds and every per-game average as a `stats` map; players below the API's minimum-games threshold for the window are excluded (`min_games_count`). CS2 only.
Optional: from, to, tier (5 allowed values: s, a, b, c, d), sort (8 allowed values: rating, kd, kills, damage, assists, headshots, games, rounds), order (2 allowed values: desc, asc), offset, limit.
Sampled 29 Oct 2026: 40 items. Filled in every item: position, player_id, slug, nickname, country_code, games, rounds, stats. Not in every item: team_id (38), team_name (38), image_url (36). In the sample: position: 1 to 40, median 20; team_name: “OG” and 17 other values; image_url: files.bo3.gg; games: 184 to 368, median 203; rounds: 3,871 to 7,989, median 4,379.
Open in Playground
GET/bo3/player-recent-matchesapiKey1 credit/request
Returns a CS2 player's newest matches (up to 30) with the opponent, the tournament, the rounds played, each map in order with whether the player's team won it, and the player's own line for the match (rating, kills, deaths, assists, damage, first kills and deaths, trade kills and deaths, headshots, hits, shots, accuracy, money saved and equipment value). Filter by `opponent` or `tournament`. Date windows are not supported upstream; the list does not page past 30.
Required: slug. Optional: opponent, tournament, limit.
Sampled 29 Oct 2026: 30 items. Filled in every item: match_slug, started_at, tournament_slug, opponent, rounds, maps, lines. In the sample: started_at: 2026-07-23 to 2026-10-28; rounds: 23 to 100, median 50; maps: median 2 entries; lines: median 1 entry.
Open in Playground
GET/bo3/player-statsapiKey1 credit/request
Returns one statistics view of a BO3.gg player over a day range (default: the last six months): `general` (match, game, round, kill, death, assist and damage totals), `maps` (rating, kills and damage per map) or `accuracy` (hits, damage and kills by hit group). General views fill `stats`; the other views fill `rows`.
Required: slug. Optional: kind (3 allowed values: general, maps, accuracy), from, to.
Sampled 29 Oct 2026: 21 fields returned with a value. In the sample: from: 2026-04-29; stats.assists_sum: 534; subject: “player”; kind: “general”; to: 2026-10-29; name: “donk”; stats.damage_sum: 223,412; stats.deaths_sum: 1,590.
Open in Playground
GET/bo3/playerapiKey1 credit/request
Returns a BO3.gg player profile by slug: nickname, name, game, birthday, role, coach flag, country, current team and join date, six-month average rating, career prize money, social links, former names and tournament achievements newest first. Use `game` to insist on one game; a player of another game is not found.
Required: slug. Optional: game (6 allowed values: cs2, valorant, lol, dota2, r6siege, mlbb).
Sampled 29 Oct 2026: 29 items. Filled in every item: title, date, tournament_id, tournament_name, tournament_slug. In the sample: date: 2021-07-19 to 2026-08-23; tournament_name: “Esports World Cup 2026” and 27 other values.
Open in Playground
GET/bo3/recordsapiKey1 credit/request
Returns BO3.gg's CS2 records (standout single-game and single-round performances such as best shots accuracy, clutches, multikills, damage, win streaks) with paging. Scope them to one `match`, `tournament`, `team` or `player` slug, filter by `record_type` (for example `game_player_headshots`), restrict the game day range with `from`/`to`, and order `newest` or `oldest`. Unscoped requests cover the last six months; each record has its value, unit, side, map, round, player, team and opponents.
Optional: from, to, record_type, match, tournament, team, player, sort (2 allowed values: newest, oldest), offset, limit.
Sampled 29 Oct 2026: 19 items. Filled in every item: type, value, average, map, begin_at, player, team_name, country_code and 3 more. In the sample: begin_at: 2022-07-26 to 2026-10-27; map: nuke (6), mirage (4), ancient (3) and 4 more; value: 22 to 29, median 23; series: “PGL” and 10 other values; opponents: median 2 entries; average: 7.79 to 8.19, median 8.18; team_name: Spirit (11), Spirit Academy (8).
Open in Playground
GET/bo3/team-prize-moneyapiKey1 credit/request
Returns BO3.gg's teams ranked by the prize money they won in tournaments that ended inside a day range (default: the last six months), for one game with paging up to 100 per page. Each team has its prize money in USD, tournament wins, country and region and its current roster with each player's career prize money and six-month rating. `total` and `has_more` page through all teams that earned money in the window.
Optional: game (6 allowed values: cs2, valorant, lol, dota2, r6siege, mlbb), from, to, offset, limit.
Sampled 29 Oct 2026: 40 items. Filled in every item: position, team_id, slug, name, country_code, country, region, earnings_usd and 2 more. Not in every item: players (39). In the sample: region: Europe (14), CIS (9), South America (6) and 2 more; position: 1 to 40, median 20; name: “Spirit” and 39 other values; logo_url: files.bo3.gg; players: median 5 entries; country: “Russian Federation” and 14 other values; earnings_usd: 56,984 to 1,163,188, median 131,750; tournament_wins: 0 to 7, median 1.
Open in Playground
GET/bo3/team-ranking-datesapiKey1 credit/request
Returns the days for which Valve published an official ranking for a game (newest first) and the region labels BO3.gg accepts for that game's team rankings. Use it to choose `date` and `region` for bo3-team-rankings.
Optional: game (6 allowed values: cs2, valorant, lol, dota2, r6siege, mlbb).
Sampled 29 Oct 2026: 4 fields returned with a value. In the sample: count: 59; game: “cs2”; dates: 59 entries; regions: 3 entries.
Open in Playground
GET/bo3/team-rankingsapiKey1 credit/request
Returns BO3.gg's team ranking for a game, worldwide or for one region, for the latest day or any past `date`, paged up to 100 per page. A date that Valve published (listed by bo3-team-ranking-dates) returns the official Valve ranking (`source` `valve_official`, `official` true); other dates return BO3.gg's own daily ranking (`internal`). Rows carry rank, rank change, points, region, country and the five-player roster with ratings.
Optional: game (6 allowed values: cs2, valorant, lol, dota2, r6siege, mlbb), region, date, page, per_page.
Sampled 29 Oct 2026: 40 items. Filled in every item: rank, rank_change, points, region, team_id, slug, name, country_code and 3 more. In the sample: region: EU (30), AM (9), AS (1); rank: 1 to 40, median 20; name: “Vitality” and 39 other values; logo_url: files.bo3.gg; roster: median 5 entries; rank_change: -1 to 1, median 0; points: 1,173.93 to 1,981.11, median 1,391.71; country: “France” and 15 other values.
Open in Playground
GET/bo3/team-recent-matchesapiKey1 credit/request
Returns a CS2 team's newest matches (up to 30) with, for every match, the opponent, the tournament, the rounds played, each map played in order and every player's line (rating, kills, deaths, assists, damage, first kills and deaths, trade kills and deaths, headshots, hits, shots, accuracy, money saved and equipment value). Filter by `opponent` for head-to-head history or by `tournament` for one event. Date windows are not supported upstream; the newest matches come first and the list does not page past 30.
Required: slug. Optional: opponent, tournament, limit.
Sampled 29 Oct 2026: 30 items. Filled in every item: match_slug, started_at, tournament_slug, opponent, rounds, maps, lines. In the sample: started_at: 2026-06-14 to 2026-10-29; rounds: 17 to 78, median 45; maps: median 2 entries; lines: median 5 entries.
Open in Playground
GET/bo3/team-statsapiKey1 credit/request
Returns one statistics view of a BO3.gg team over a day range (default: the last six months): `general` (match, game, round and kill totals), `advanced` (CT/T, pistol, eco, force and full-buy round records), `accuracy` (hits and damage by hit group), `economy` (win rate by own and enemy economy level) or `map-pool` (maps picked and banned). General views fill `stats`; the other views fill `rows`.
Required: slug. Optional: kind (5 allowed values: general, advanced, accuracy, economy, map-pool), from, to.
Sampled 29 Oct 2026: 21 fields returned with a value. In the sample: from: 2026-04-29; stats.assists_sum: 2,468; subject: “team”; kind: “general”; to: 2026-10-29; name: “Vitality”; stats.damage_sum: 796,411; stats.deaths_sum: 6,546.
Open in Playground
GET/bo3/teamapiKey1 credit/request
Returns a BO3.gg team profile by slug: name, acronym, game, world rank and rank change, country and region, founding date, six-month earnings, logo, social links, former names, the current roster (nickname, name, birthday, six-month rating) and the team's tournament achievements, newest first. Use `game` to insist on one game; a team of another game is not found.
Required: slug. Optional: game (6 allowed values: cs2, valorant, lol, dota2, r6siege, mlbb).
Sampled 29 Oct 2026: 38 items. Filled in every item: title, date, tournament_id, tournament_name, tournament_slug. In the sample: date: 2020-11-04 to 2026-09-20; tournament_name: “StarLadder StarSeries Fall 2026” and 37 other values.
Open in Playground
GET/bo3/tournament-map-poolapiKey1 credit/request
Returns the maps played at a CS2 tournament: games and rounds per map, CT-side and T-side round wins with the CT win percentage, and picked and banned counts. The upstream returns the whole event and ignores stage filters.
Required: slug.
Sampled 29 Oct 2026: 7 items. Filled in every item: map, games, rounds, ct_round_wins, t_round_wins, picked_maps, banned_maps, ct_win_percent. In the sample: games: 7 to 16, median 13; map: “de_ancient” and 6 other values; rounds: 135 to 380, median 258; ct_round_wins: 76 to 210, median 147; t_round_wins: 59 to 179, median 113; ct_win_percent: 50 to 57, median 56.
Open in Playground
GET/bo3/tournament-mvpsapiKey1 credit/request
Returns the tournament most-valuable-player awards BO3.gg publishes, newest first, optionally for one game: the award type, tournament, player, team and the BO3 article about it. Every row seen has the type `mvp`.
Optional: game (6 allowed values: cs2, valorant, lol, dota2, r6siege, mlbb), offset, limit.
Sampled 29 Oct 2026: 40 items. Filled in every item: id, type, game, tournament, player, team, article_url. In the sample: game: cs2 (13), valorant (11), lol (7) and 2 more; article_url: bo3.gg.
Open in Playground
GET/bo3/tournament-squadsapiKey1 credit/request
Returns every team's squad at a CS2 tournament as it played there: team, and each player with nickname, name, photo, coach flag and stand-in flag. Use it to see who actually played, including substitutes.
Required: slug.
Sampled 29 Oct 2026: 16 items. Filled in every item: team_id, team_slug, team_name, logo_url, players. In the sample: team_name: “9z” and 15 other values; logo_url: files.bo3.gg; players: median 6 entries.
Open in Playground
GET/bo3/tournament-stagesapiKey1 credit/request
Returns the stages of one BO3.gg tournament in order: title, format type (for example `group` or `playoff`), whether it is on hold, promotion team count and dates. An unknown tournament slug returns 404.
Required: slug. Optional: game (6 allowed values: cs2, valorant, lol, dota2, r6siege, mlbb).
Sampled 29 Oct 2026: 3 items. Filled in every item: id, sequence, title, format_type, hold. Not in every item: start_date (2), end_date (2). In the sample: start_date: 2026-10-24 to 2026-10-29; sequence: 1 to 3, median 2; title: “PGL Masters Bucharest 2026 Group Stage” and 2 other values; hold: true in 0 of 3; format_type: “group” and 1 other value; end_date: 2026-10-28 to 2026-10-31.
Open in Playground
GET/bo3/tournamentapiKey2 credits/request
Returns one BO3.gg tournament by slug: name, status, tier, event type, prize pool, dates, description, series, host city, country and region, its stages (format, status, dates), the prize distribution by place and the participating teams with their placement and prize money. The slug comes from bo3-tournaments.
Required: slug. Optional: game (6 allowed values: cs2, valorant, lol, dota2, r6siege, mlbb).
Sampled 29 Oct 2026: 16 items. Filled in every item: place, prize_usd. In the sample: place: 5-8th (4), 9-11th (3), 12-14th (3) and 5 more; prize_usd: 6,250 to 200,000, median 15,625.
Open in Playground
GET/bo3/tournamentsapiKey1 credit/request
Returns BO3.gg esports tournaments for one game with paging and filters: `status` (`current`, `upcoming`, `finished`, `canceled`, `postponed`), `tier` (`s` to `d`), `event_type` (`lan`, `online`) and `sort` (`newest`, `oldest`, `prize` for the largest prize pool first), up to 100 per page. Each tournament has its slug, name, status, tier, event type, prize pool in USD, dates and image; `total` and `has_more` page through the full list (over 3,000 CS2 events).
Optional: game (6 allowed values: cs2, valorant, lol, dota2, r6siege, mlbb), status (5 allowed values: current, upcoming, finished, canceled, postponed), tier (5 allowed values: s, a, b, c, d), event_type (2 allowed values: lan, online), sort (3 allowed values: newest, oldest, prize), offset, limit.
Sampled 29 Oct 2026: 40 items. Filled in every item: id, slug, name, game, status, tier, event_type, start_date and 3 more. Not in every item: prize_usd (36). In the sample: start_date: 2025-07-15 to 2026-10-13; event_type: lan (37), online (3); prize_usd: 0 to 2,000,000, median 1,000,000; name: “Thunderpick World Championship 2026” and 39 other values; image_url: files.bo3.gg; end_date: 2025-07-20 to 2026-10-18; url: bo3.gg.
Open in Playground
GET/bo3/transfersapiKey1 credit/request
Returns BO3.gg's esports player and coach transfer feed, newest first by default, with paging and filters: `team_id` (moves into or out of one team), `player_id`, `action` (`join`, `change`, `leave`) and `role` (`player`, `coach`). The feed cannot be filtered by game upstream, so every row carries its `game` instead; narrow it with a team or player id.
Optional: team_id, player_id, action (3 allowed values: join, change, leave), role (2 allowed values: player, coach), sort (2 allowed values: newest, oldest), offset, limit.
Sampled 29 Oct 2026: 40 items. Filled in every item: id, date, action, action_code, game, player_id, player_slug, nickname and 2 more. Not in every item: source_url (33). In the sample: date: 2026-07-20 to 2026-07-27; game: valorant (17), cs2 (17), dota2 (6); source_url: x.com and 2 other hosts; is_coach: true in 5 of 40.
Open in Playground
GET/bo3/valorant-leaderboardapiKey1 credit/request
Returns BO3.gg's Valorant player leaderboard over a day range (default: the last six months): players ranked by `sort` (`acs`, `kills`, `deaths`, `damage`, `assists`, `first_kills`, `clutches`, `first_duels`, `games`, `rounds`) in `order` (`desc`, `asc`) with paging. Each player has nickname, slug, games, rounds and every per-round average as a `stats` map; players below the API's minimum-games threshold for the window are excluded (`min_games_count`).
Optional: from, to, sort (10 allowed values: acs, kills, deaths, damage, assists, first_kills, clutches, first_duels, games, rounds), order (2 allowed values: desc, asc), offset, limit.
Sampled 29 Oct 2026: 40 items. Filled in every item: position, player_id, slug, nickname, games, rounds, stats. In the sample: position: 1 to 40, median 20; games: 43 to 78, median 52; rounds: 837 to 6,950, median 1,349.
Open in Playground