LoL API: match data

A long hard look at what is in Riot’s /match API call. It is well documented but those docs are about the individual trees, this is the forest level view. Particular focus on data that’s not visible in the match history view. (This is NA match #1892290414. None of the participants are my friends, but it is ranked and therefore public.)

Long story short, the most interesting data that’s not currently visualized in the match history pages includes:

  • player positions every minute
  • totalTimeCrowdControlDealt
  • 10 minute averages for player performance: CS, gold, etc
  • 1 minute reports on player XP, CS, etc. (gold is currently visualized)

Top level match object:
Metadata about the game. Game type, map, server version, etc.

Teams
some top level stats on team aggregate performance. Very little data, but does have bans.

participantIdentities
summoner id, name, link to match history. This object exists but contains no data for non-ranked games. (No matter whether my API token account is friends with the player or not.)

Participants
Champion, Summoner spells, Masteries, Runes
Explicitly not any identity info other than “highest achieved season tier”.

> Stats
Detailed per-player info on whole match. level, KDA, items, etc
Unvisualized stuff:
double kills, penta kills, unrealKills, killing spree
various “scores”, all set to 0
first tower, first inhib
totalTimeCrowdControlDealt

> Timeline
None of this data is visualized by Match History.
Contains Role and Lane
Also contains average stats every 10 minutes for creeps, xp, gold, csDiff, xpDiff, damageTaken, damageTakenDiff

Timeline
Timestamped frames every 60 seconds

> participant frames
unvisualized: player position, level, XP, CS.
visualized: player gold

> events
timestamped events like item purchases, skill ups, wards placed, etc. some events like champion kills contain positions. (sadly, not wards.)