Changelogs

Summary

This patch includes some updates and fixes on Dota2 live API along with improved view of data changes through the /changes and /additions calls.

Deprecations

  • removing winner_type field for dota2 games.
  • removing updated_at field.
  • removing team hash from dota2 games.
  • removing game_id, kda, runes_activated, support_gold_spent, wards_bought and barracks_kills fields from dota2 games.

Changes

  • Adding players and teams (roster updates) to the /changes endpoint.
  • Adding a /additions endpoint for leagues, series, tournaments and matches creations.
  • Adding a preventive rate limit of 4000 requests per hour for all API calls.
  • Adding heroes to dota2 basic live.
  • Adding game's rounds to overwatch live.
  • Fixing the tower count on the start of a game on dota2 basic live.

Summary

This patch includes a lot of new fields. It also includes a new call that fetch the recent updates.

Deprecations

  • Renaming kill and death fields to kills and deaths for dota2 games
  • In the next release (2.4.0), removing winner_type field for dota2 games.
  • In the next release (2.4.0), removing updated_at field.
  • In the next release (2.4.0), removing team hash from dota2 games.
  • In the next release (2.4.0), removing game_id, kda, runes_activated, support_gold_spent, wards_bought and barracks_kills fields from dota2 games.

Changes

  • Add a /changes endpoint, returning the latest updates on matches, tournaments and series.
  • Add bans to lol games.
  • Add first_blood boolean (does the team get the first blood) to lol games (/lol/games/{id}).
  • Add first_tower boolean (does the team get the first tower) to lol games (/lol/games/{id}).
  • Add hero_final_gold to lol games (/lol/games/{id}).
  • Add hero_final_dmg_dealt to lol games (/lol/games/{id}).
  • Add hero_final_dmg_dealt_to_champ to lol games (/lol/games/{id}).
  • Add hero_final_dmg_taken to lol games (/lol/games/{id}).
  • Add team nashor_kill to lol games (/lol/games/{id}).
  • Add modified_at to leagues (/leagues).
  • Add winner_type, modified_at to tournaments (/tournaments).
  • Add winner_id, winner_type, end_at, modified_at to series (/series).
  • Add draw, status, modified_at, match_type to matches (/matches).
  • Add first_blood, end_at, forfeit to dota2 games (/dota2/games/{id}).
  • Add picks and bans (picked and banned heroes ids) to dota2 games (/dota2/games/{id}).
  • Add tower_status and barracks_status (state of towers and barracks) to dota2 games (/dota2/games/{id}).
  • Add first_blood boolean (does the team get the first blood ?) to dota2 teams in a game (/dota2/games/{id}).
  • Adding expected_roster to tournaments show (/tournaments/{id}).

Summary

Our live plan has been divided into two live plans: the Basic Live, which is essentially the live plan as it existed before, and the Pro Live, which includes a lot of new stats, as well as a real time Play by Play feed sending you all the events occurring during a match. For now, the Pro Live plan is only available for League of Legends.

Breaking changes

All plans:

  • /teams and /players endpoints has been removed for matches. The /opponents endpoint is the right endpoint to use.
  • All routes for a single item (ex: /matches/:id) do not work with any scope or filter anymore.

Advanced plans:

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

Lol basic live plan:

  • Moved hp stat to the new pro live plan.

Changes

Lol basic live plan:

  • Adding team total kills (kills key).
  • Adding team number of nashors killed (nashors key).
  • Adding team number of drakes killed (drakes key).
  • Adding summoner spells for each players (summoner_spells key).

Lol pro live plan:

  • Adding a websocket play by play feed for league of legends events, which send all events occurring during a match (kills, tower destructions etc...). This new feed comes with a new live plan, the pro plan, and is now available along other feeds under the /lives API endpoint.
  • Adding team number of herald killed (herald key).
  • Adding team number of inhibitors destroyed (inhibitors key).
  • Adding items for each players (items key).
  • Adding current hp for each players (hp key).

Fixes

  • Trying so see overwatch matches games under lol namespace (ex: /lol/matches/1234/games) no longer works and return a 404 response code.
  • Performance fixes.

Deprecations

  • ⚠️ 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.

Changes

  • 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.

Fixes

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

Changes

  • 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: https://api.pandascore.co/lol/leagues?token=TOKEN&filter[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: https://api.pandascore.co/lol/matches/upcoming?token=TOKEN

Fixes

  • 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.


Changes

  • 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

Changes

  • 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)

Changes

  • 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.

Changes

  • 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.

Fixes

  • 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: https://api.pandascore.co/ws, and avilable live endpoints are here: https://api.pandascore.co/lives.
  • 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...