PandaScore REST API for All Videogames
Whether you're looking to build an official Pandascore integration for your service, or you just want to build something awesome, we can help you get started.
The API works over the HTTPS protocol, and is accessed from the api.pandascore.co domain.
The current endpoint is https://api.pandascore.co.
All data is sent and received as JSON by default.
Blank fields are included with null values instead of being omitted.
All timestamps are returned in ISO-8601 format
About this documentation
Clicking on a query parameter like filter or search will show you the available options: filter
You can also click on a response to see the detailed response schema: response
The PandaScore API allows you to access data about eSports events by using a certain structure detailed below.
Leagues are the top level events. They don't have a date and represent a regular competition. A League is composed of one or several series.
Some League of Legends leagues are: EU LCS, NA LCS, LCK, etc.
Some Dota 2 leagues are: ESL One, GESC, The International, PGL, etc.
A Serie represents an occurrence of a league event.
The EU LCS league has two series per year: spring 2017, summer 2017, spring 2016, summer 2016 etc.
Some Dota2 Series examples would be: Changsha Major, Open Bucharest, Frankfurt, i-League Invitational etc.
Tournaments groups all the matches of a serie under "stages" and "groups".
The tournaments of the EU LCS of summer 2017 are: Group A, Group B, Playoffs, etc.
Some Dota 2 tournaments are: Group A, Group B, Playoffs, etc.
Finally we have matches which have two players or teams (depending on the played videogame) and several games (the rounds of the match).
Matches of the group A in the EU LCS of summer 2017 are: G2 vs FNC, MSF vs NIP, etc.
Matches of the group A in the ESL One, Genting tournamnet are: Lower Round 1, Quarterfinal, Upper Final, etc.
Please note that some matches may be listed as "TBD vs TBD" if the matchup is not announced yet, for example the date of the Final match is known but the quarterfinal is still being played.
The API currently supports the JSON format by default.
Other formats may be added depending on user needs.
The Pandascore API paginates all resources on the index method.
Requests that return multiple items will be paginated to 50 items by default. You can specify further pages with the page[number] parameter. You can also set a custom page size (up to 100) with the page[size] parameter.
The Link HTTP response header contains pagination data with first, previous, next and last raw page links when available, under the format
All index endpoints support multiple sort fields with comma-separation (,); the fields are applied in the order specified.
The sort order for each field is ascending unless it is prefixed with a minus (U+002D HYPHEN-MINUS, “-“), in which case it is descending.
For example, GET /lol/champions?sort=attackdamage,-name&token=YOURACCESSTOKEN will return all the champions sorted by attack damage.
Any champions with the same attack damage will then be sorted by their names in descending alphabetical order.
Depending on your current plan, you will have a different rate limit. Your plan and your current request count are available on your dashboard.
With the free plan, you have a limit of 1000 requests per hour, others plans have a limit of 4000 requests per hour. The number of remaining requests is available in the X-Rate-Limit-Remaining response header.
Your API key is included in all the examples on this page, so you can test any example right away. Only you can see this value.
The authentication on the Pandascore API works with access tokens.
All developers need to create an account before getting started, in order to get an access token. The access token should not be shared.
Your token can be found and regenerated from your dashboard.
The access token can be passed in the URL with the token query string parameter, or in the Authorization: Bearer header field.