Open dataset
Every professional match ChainCC tracks, as plain gzipped CSV. Two files per season: one row per player per game, and one row per team per game. No account, no API key, no rate limit.
- Rows
- 1,236,888
- Seasons
- 13
- Licence
- CC BY 4.0
- Updated
- October 26, 2026
| Season | File | Rows | Size |
|---|---|---|---|
| 2026 | Playerschaincc-players-2026.csv.gz | 98,120 | 10 MB |
| Teamschaincc-teams-2026.csv.gz | 19,624 | 2 MB | |
| 2025 | Playerschaincc-players-2025.csv.gz | 100,530 | 10 MB |
| Teamschaincc-teams-2025.csv.gz | 20,106 | 2 MB | |
| 2024 | Playerschaincc-players-2024.csv.gz | 101,990 | 10 MB |
| Teamschaincc-teams-2024.csv.gz | 20,398 | 2 MB | |
| 2023 | Playerschaincc-players-2023.csv.gz | 111,190 | 11 MB |
| Teamschaincc-teams-2023.csv.gz | 22,238 | 2 MB | |
| 2022 | Playerschaincc-players-2022.csv.gz | 125,290 | 13 MB |
| Teamschaincc-teams-2022.csv.gz | 25,058 | 3 MB | |
| 2021 | Playerschaincc-players-2021.csv.gz | 123,020 | 13 MB |
| Teamschaincc-teams-2021.csv.gz | 24,604 | 3 MB | |
| 2020 | Playerschaincc-players-2020.csv.gz | 97,470 | 10 MB |
| Teamschaincc-teams-2020.csv.gz | 19,494 | 2 MB | |
| 2019 | Playerschaincc-players-2019.csv.gz | 81,250 | 9 MB |
| Teamschaincc-teams-2019.csv.gz | 16,250 | 2 MB | |
| 2018 | Playerschaincc-players-2018.csv.gz | 67,360 | 7 MB |
| Teamschaincc-teams-2018.csv.gz | 13,472 | 1 MB | |
| 2017 | Playerschaincc-players-2017.csv.gz | 55,050 | 5 MB |
| Teamschaincc-teams-2017.csv.gz | 11,010 | 1 MB | |
| 2016 | Playerschaincc-players-2016.csv.gz | 42,140 | 4 MB |
| Teamschaincc-teams-2016.csv.gz | 8,428 | 810 KB | |
| 2015 | Playerschaincc-players-2015.csv.gz | 18,150 | 2 MB |
| Teamschaincc-teams-2015.csv.gz | 3,630 | 351 KB | |
| 2014 | Playerschaincc-players-2014.csv.gz | 9,180 | 880 KB |
| Teamschaincc-teams-2014.csv.gz | 1,836 | 166 KB |
Read it
import pandas as pd
url = "https://chaincc.lol/data/chaincc-players-2026.csv.gz"
players = pd.read_csv(url, compression="gzip")
print(players.groupby("position")["dpm"].mean())Cite it
Released under CC BY 4.0. Use it commercially, redistribute it, build on it — the one condition is attribution.
ChainCC. League of Legends esports match dataset. chaincc.lol/free/data (accessed 2026-10-26).
What is in it
Player rows
Ten per game. Match context (date, league, split, patch, both team names), the pick, the result, and the full stat line: kills through vision score, damage and gold shares, and the differentials at 10 and 15 minutes.
Team rows
Two per game. The complete draft — five bans and five picks per side — plus objectives (dragons, elders, heralds, void grubs, barons, towers, plates, inhibitors), first-blood and first-objective flags, and the same 10- and 15-minute differentials.
Files are gzipped CSV with a header row. Empty cells are nulls, booleans are TRUE/FALSE. Join the two on game_id and side — game_id alone matches both teams and doubles your rows.