• ⚠️ Deprecated /teams and /players endpoints for matches. The /opponents endpoint is the right endpoint to use, and theses endpoints will be removed on the next major release.

  • ⚠️ Deprecated /lol/games, /dota2/games and /ow/games endpoints. The games endpoint will have to be constrained by a match (ex: /lol/matches/1234/games, /dota2/matches/5678/games etc...).

  • ⚠️ All routes for a single item (ex: /matches/:id) will not work with any scope or filter, because it doesn't make sense to request a specific resource and apply filters on this. For example, /matches/upcoming/:id or /lol/leagues/:id endpoints will be removed on the next major release. The right endpoints are now respectively /matches/:id and /leagues/:id.


  • Adding /leagues/:league_id/matches endpoint, to list all matches on a league.
  • Adding /lol/matches/:match_id/games, /ow/matches/:match_id/games, /dota2/matches/:match_id/games endpoint, to list all games on a match.
  • Embed series on leagues endpoint.
  • Embed series on videogames endpoint.
  • Added a full_name field on series, which is a simple concatenation of name, season and year.
  • Added a opponents endpoint on matches, which will display opponents for this match. They could be players (Hearthstone...) or teams (League of legends, Overwatch...).

When the opponents are teams:

  • The list of players in each team is included.
  • If the match has been already played, the players are the actual players which played this match.
  • If the match hasn't been played yet, the players are the current roster of the team for this tournament.


  • past filter on matches no longer shows currently running matches.
  • Api similar calls are grouped by resource in documentation.
  • Performance fixes.


  • Added faction field in dota2 games, which can be radiant or dire.
  • Added shortcuts to list resources scoped on a particular videogame:
    • players (ex: /dota2/players)
    • teams (ex: /ow/teams)
    • matches (ex: /dota2/matches)
    • tournaments (ex: /lol/tournaments)
    • series (ex: /dota2/series)
    • leagues (ex: /ow/leagues)
  • Added live_supported field in leagues, which is true for the leagues that PandaScore support with live API. Theses are usually the major leagues.
  • Added a live_supported filter for leagues, allowing filtering on live supported games.

This filter is also compatible with the videogame scope above. If you want to get all the League of legends leagues we support, you can hit the endpoint:[live_supported]=true.

  • Added an unscheduled filter for matches, allowing filtering on matches without begin_at dates.

  • Added matches status scopes over videogames scopes above. If you want to get all the upcoming League of legends matches, you can hit the endpoint:


  • Fixed bugs in champions images URI's
  • Small performance improvements

Breaking changes

  • For advanced dota2 accounts only: Dota2 games now only have parent match informations, and no longer have tournament, serie and league informations, because the game list is generally filtered by match of tournament, and this information is redundant and useless.


  • Added a endpoint to get all matches per serie (/series/:serie_id/matches).
  • Added year field in series.
  • Added acronym field in teams.
  • Added unlocalized raw names in dota2 heroes.
  • Rate limit for free plans is now on a per hour basis, and has been increased to 1000 requests per hour.
  • We now support conditional requests on most of our calls. Making a conditional request and receiving a 304 response does not count against your Rate Limit, so we encourage you to use it whenever possible.

Overwatch release

  • Adding overwatch API calls
  • Adding overwatch live channels


  • Adding team key in games hash (with the team color in game).
  • Adding API calls shortcuts to get past, running and upcoming matches. See in the documentation.

Major updates

  • Releasing beta pricing, see the pricing page.
  • Releasing Dota 2 REST and live API.
  • Adding a live reference for Dota2 and Lol, with frames specification and examples.
  • Adding a finished and winner_id field in live lol frames.
  • Connecting to a live endpoint sends an information payload with the hello message.
  • The live endpoints should now be open earlier (from 10 minutes to one hour before a match)


  • Adding image_url and url to league objects in /matches and /tournaments calls
  • Cleaned up a lot of minor leagues without series
  • Cleaned up a lot of strange matchups on League of Legends (some BO3 have been won 1 - 1 because a team surrended)
  • filters on dates (ex: filter[begin_at]=2017-06-22) now works only in UTC, and only with dates (not times). in filter[begin_at]=2017-06-22T14:22:54Z, the T14:22:54Z part will not be interpreted.
  • Adding videogame attribute on tournaments.


  • Lol item price is now set to null instead of 0 when item isn't purchasable.
  • A match (/matches) now includes information about it's belonging tournament, serie, league and videogame.
  • A tournament (/tournaments) now includes information about it's belonging serie and league.
  • A serie (/series) now includes information about it's league.
  • On lol games and players stats (/lol/games and /lol/players/:player_id/stats), the players/games objects have now a player_id and game_id attribute, instead of an unclear id attribute.
  • Team's players (/teams) have now additional attributes: image_url, name, first_name, last_name
  • Lol champions stats (/lol/champions) are now floats.
  • On lol player's stats (/lol/players/:player_id/stats), last_games now includes the game_id, and includes the match_id in a game object.
  • On matches (/matches), opponents attributes are smaller, and image attribute for match opponents is now image_url.
  • Adding a current_team and current_videogame fields to players (/players), which returns respectively the last team the player played a match with, and the videogame played on this match.
  • Adding a current_videogame fields to teams (/teams), which returns the videogame last played by the team.
  • Renaming start attribute of series by begin_at, and in a general way, all incoming fields representing a start and an end will be called begin_at and end_at.


  • Fixing unreachable image urls.
  • Dates are now in UTC, will always follow the iso8601 format (ex: '2017-06-18T16:36:00Z') and will always include a timezone.
  • Fixing sorting, searching and filtering issues on /lol/* api calls.

  • Opening live API in restricted alpha. Documentation is available here:, and avilable live endpoints are here:
  • Dropping API v1 support, /v2/ endpoints are now also scoped on default (/).
  • Videogames, leagues, series, tournaments, matches, teams and players are now generic and shares the same structure between games.
  • Supported videogames for Leagues are: Smash, LoL, Hearthstone, CS:GO, CoD, HotS, Dota 2, SCII, OW, SMITE, WoW, FIFA16, HoN.
  • All index routes can now be filtered with the filter parameter. For example, to get only the league with the **LCK** name, GET /leagues?filter[name]=LCK.
  • All index routes can now be sorted with the sort parameter. For example, to sort the leagues by name, GET /leagues?sort=name.
  • Adding Link and pagination headers (X-Page, X-Per-Page and X-Total)
  • Adding granularity in games, for League of Legends (/lol/games and /lol/games/:id):
    • Champions names and images
    • Items names and images when available
    • Masteries names and images when available
    • Runes names and images when available
    • Spells names and images when available
  • Adding performance stats per player, for League of Legends, with games_count and averages:
    • /lol/players/:player/stats: for each serie (ex: /players/cuvee/stats).
    • /lol/series/:serie_id/players/:player/stats: Return all the stats for the requested serie.
    • /lol/tournaments/:tournament_id/players/:player/stats: Return all the stats for the requested tournament (ex: /lol/tournaments/worlds-the-2016-world-championship-elimination/players/cuvee/stats).

  • More detailed MatchList
  • Get N match
  • More Length
  • You can now check some basic info of the games inside a match in the matchList query!
  • Select in the matchList query the number of match your willing to handle.
  • Game length is finally set

Minor fixes:

  • We added support for Dota 2 major tournaments. We will add more and more tournaments in the future. Stats are quite deep already ;)
  • How the hell could you follow PandaScore's evolution without a changelog?!
  • A bunch of small fixes have been done.

API Launch

  • New Documentation.
  • The addition of League of Legends and FIFA 16 games with schedule and match detailed stats. Plus an advanced tournament schedule on many...many e-sports.
  • Simple and clear documentation detailed view of the JSON response.
  • A bunch of bugs may be hidden, capture them all and add them to your Pokemon trainer collection...