Learn the fundamentals of the opinionated, flexible data structure PandaScore uses to map esports competitions across all video games.


Coming from sports?

This page uses examples from esports and traditional sports to explain PandaScore data structure.


Leagues are the top-level data structure used to represent a competition. Leagues are commonly named after the competition they represent. A league includes one or several children Series.


  • FIFA World Cup
  • The International


Series represent a single timely occurrence of their parent League. A series includes one or several children Tournaments.


  • FIFA World Cup — 2018
  • The International — 2018


Tournaments represent a stage in their parent Series. A tournament includes one or several children matches that contribute to a unique standing and possible winner.


  • FIFA World Cup — 2018 — Group C
  • The International — 2018 — Playoffs


Matches represent a team-versus-team or player-versus-player confrontation between two participants of a parent Tournament. A match includes one or several children Games.

Matches is the most in-depth generic data structure. Despite many common properties, the data structure for Games (and below) is specific to each video game.


  • FIFA World Cup — 2018 — Group C — Denmark vs Australia (only 1 game)
  • The International — 2018 — Playoffs — Final: OG vs PSG.LGD (5 games)

In-game results should be retrieved via game-level endpoints (only available for video games supporting Historical Data).

Recap diagram


Data Structure

Next Step

Read to jump in? Let's make our first request!