Download the data
Everything owdb collects from FACEIT's public League pages, as files you can use yourself: matches, maps, bans, teams, players and per-map player stats, across the seasons owdb has ingested. Updated with the site (last built 2026-10-06 01:20 UTC).
CSV files (zip, 3.1 MB) SQLite database (.gz, 5.0 MB)
The SQLite file is the same data in the tables the site is built from.
The zip has one CSV per table plus games_flat.csv and a columns.csv dictionary.
What is in the files
games_flat.csv 9,834 rows — one row per map with names instead of ids; the easiest place to start
season | s9, s10, ... from the championship name. |
championship | Championship name. |
match_id | FACEIT match id. |
game_no | Map number within the series. |
round | Round number. |
started_at | Series start (UTC). |
finished_at | Series finish (UTC). |
team1 | Faction 1's team name now. |
team2 | Faction 2's team name now. |
map | Map name. |
map_category | Mode. |
map_picked_by | Team that picked the map. |
attacking_first | Team that attacked first. |
side_picked_by | Team that chose the side. |
score1 | Team 1's score. |
score2 | Team 2's score. |
winner | Winning team (the map). |
ban1_hero | First hero ban. |
ban1_by | Team that made it. |
ban2_hero | Second hero ban. |
ban2_by | Team that made it. |
demo_code | Replay code (expires at each patch). |
was_restarted | 1 if restarted. |
championships.csv 20 rows — A division's stage, e.g. "S10 EMEA Master Central - Regular Season".
id | FACEIT championship id. |
name | Championship name; it encodes the season, region, tier and stage. |
game | FACEIT's game id (ow2). |
region | FACEIT's region label for the championship. |
organizer_id | FACEIT organizer id, when known. |
matches.csv 3,069 rows — One series between two teams (usually best of 5).
id | FACEIT match id (the room URL's id). |
championship_id | -> championships.id |
round | Round number within the stage. |
group_no | Group within the round. |
status | FACEIT's status, e.g. FINISHED. |
best_of | Length of the series. |
scheduled_at | Scheduled start (UTC), when FACEIT gives one. |
started_at | Actual start (UTC). |
finished_at | Finish (UTC). |
faction1_team_id | -> teams.id (faction 1). |
faction2_team_id | -> teams.id (faction 2). |
winner_faction | faction1 or faction2; empty until decided. |
forfeit | 1 if the series was a forfeit. |
fetched_at | When owdb last read this match. |
games.csv 9,834 rows — One map within a series.
match_id | -> matches.id |
game_no | 1-based map number within the series. |
map_guid | -> maps.guid |
map_category | Control, Escort, Hybrid, Push or Flashpoint. |
attacking_first_faction | Which faction attacked first (modes that have sides). |
side_picked_by_faction | Which faction chose the side, when that was a choice. |
faction1_score | Faction 1's score on the map. |
faction2_score | Faction 2's score on the map. |
winner_faction | faction1 or faction2. |
demo_code | The in-game replay code FACEIT recorded. Codes stop working after each Overwatch patch. |
was_restarted | 1 if the map was restarted (for example after a disconnect). |
map_picks.csv 9,834 rows — Who picked each map in the veto.
match_id | -> matches.id |
game_no | -> games.game_no |
map_guid | -> maps.guid |
picked_by_faction | faction1 or faction2; empty for a decider or default. |
hero_bans.csv 16,738 rows — Hero bans, up to two per map.
match_id | -> matches.id |
game_no | -> games.game_no |
hero_guid | -> heroes.guid |
ban_order | 1 or 2: the order the bans were made. |
banned_by_faction | faction1 or faction2; empty when FACEIT did not record who banned it. |
round_players.csv 80,450 rows — One player's scoreboard line for one map.
match_id | -> matches.id |
game_no | -> games.game_no |
team_id | -> teams.id |
player_id | -> players.id |
role | Tank, Damage or Support, as FACEIT records it for that map. |
elo_snapshot | The player's FACEIT Elo at the time. |
stats_captured | 0 when FACEIT has no stats for this player on this map (typically a disconnect); the stat columns are then empty. |
eliminations | Eliminations. |
deaths | Deaths. |
assists | Assists. |
damage | Damage dealt. |
healing | Healing done. |
damage_mitigated | Damage mitigated. |
teams.csv 326 rows — A team.
id | FACEIT team id. |
name | Current team name. Teams can rename at any time, so key on id. |
avatar_url | FACEIT's team avatar URL. |
players.csv 2,638 rows — A player seen in the league.
id | FACEIT player id. |
nickname | FACEIT nickname (can change; there is no history). |
game_name | Battle.net name as FACEIT reports it for the match, when known. |
heroes.csv 53 rows — The hero list.
guid | FACEIT hero id. |
name | Hero name. |
role | Tank, Damage or Support. |
maps.csv 32 rows — The map list.
guid | FACEIT map id. |
name | Map name. |
category | Mode of the map. |
Worth knowing
- Names are today's: a team that renamed shows its newest name in every file. Use the ids when joining across time.
- Replay codes stop working after every Overwatch patch; one that fails is not an error in the data.
- A player who disconnected may have no stats for that map (stats_captured = 0).
- FACEIT does not record who made a ban or pick in every game, so those columns have gaps.
- These files hold only what FACEIT publishes. Hero comps and in-game events read from replays are not included.
Source and terms
Data from FACEIT, collected by owdb. It is the public information FACEIT shows on League match pages, not an official dataset, and owdb does not warrant it. Player and team names are the ones they publish on FACEIT. Not affiliated with, endorsed by, or sponsored by FACEIT or Blizzard Entertainment.