Documentation

Documentation

  • Technical reference

›Documentation

Documentation

  • Introduction
  • Concept
  • Tutorials

    • Request Conditions
    • CS:GO
    • Dota 2
    • League of Legends
    • Overwatch
    • Incidents
    • The Match Lifecycle
    • Tournaments

REST

  • Getting Started

LIVE

  • Getting Started
  • CS:GO
  • Dota 2
  • League of Legends
  • Overwatch
  • Events Recovery

Introduction

PandaScore provides live and static data through different types of data offerings:

  • Fixture statistics: available to everyone, that's where you'll find static data for every videogame, calendar information, as well as pre-match data on tournaments, teams and players.
  • Historical data statistics: Available in the Historical Data plan and above, this data contains all of the post-match statistics, such as the players and teams stats per games, but also aggregated per serie or tournament.
  • Live statistics: Available in both Live plans, these statistics will be delivered to you in real time as matches are running live.

📖 Read more about PandaScore Coverage

Static data

Static data is available through our API. With HTTP requests, you can obtain any of our prematch or post-match (Fixture and Historical data plan or higher) data. Access is granted through the use of your personal token which is uniquely generated for you.

When making an HTTP request, you can provide your token in one of two ways, either directly in the URL:

https://api.pandascore.co/lol/champions?token=YOUR_TOKEN

Or through the use of the Authorization header.

This is primarily to simplify the integration of our API into your own programs and applications, and not really intended for manual use. However, it can be easily tested in your terminal: with curl you can set headers by using the -H flag.

curl -H 'Authorization: Bearer YOUR_TOKEN' 'https://api.pandascore.co/lol/champions'

Live data

Available only to those with the Basic live plan and up, live data is handled quite differently from static data.

The data is sent to you in real time during the progression of a match, and cannot be recovered or repeated once the event has ended. The basic summary of the match, of course, can be found in our API once the event has ended. The real-time data feed is delivered from a WebSocket endpoint.

Through these WebSockets we send data in packets called frames. Each frame is a snapshot of the match.

{
  "blue": {
    "gold": 41300,
    "acronym": "RNG",
    "herald": 1,
    "drakes": 2,
    "nashors": 0,
    "inhibitors": 0,
    "towers": 4,
    "name": "Royal Never Give Up",
    "players": {
      "top": {
        "items": [
          {
            "id": 686,
            "name": "Warding Totem (Trinket)"
          },
          null,
          {
            "id": 608,
            "name": "Stopwatch"
          },
          {
            "id": 831,
            "name": "Ionian Boots of Lucidity"
          },
          {
            "id": 736,
            "name": "Needlessly Large Rod"
          },
          {
            "id": 795,
            "name": "Shurelya's Reverie"
          },
          {
            "id": 821,
            "name": "Morellonomicon"
          }
        ],
        "level": 13,
        "hp": 98,
        "champion": {
          "id": 685,
          "name": "Vladimir",
          "image_url": IMAGE_URL
        },
        "assists": 2,
        "name": "Zz1tai",
        "cs": 195,
        "kills": 1,
        "id": 368,

Live plans

The Pro Live plan differs from the Basic Live plan in a few ways.

First, those with the Pro Live plan receive more detailed live data. The Basic Live plan WebSockets works the same way, but the Pro Live plan offers more in-depth data. More data will be added to the Pro Live plan live feed as we perfect new features.

Furthermore, the Pro Live plan gives you access to the play-by-play feed, which is a second WebSocket parallel to the main WebSocket for each match.

This feed will not send frames with the "snapshot" of the current game, instead describing key "events" when they occur, such as player kills, towers/inhibitors destructions, nashors/herald kills, etc.

{
  "type": "kill_feed",
  "payload": {
    "type": "tower",
    "killer": {
      "type": "player",
      "object": {
        "id": 2508,
        "name": "Ning",
        "team": "red",
        "role": "jun",
        "champion": {
          "id": 693,
          "name": "Zac"
        }
      }
    },
    "killed": {
      "type": "tower",
      "object": {
        "name": "tower blue",
        "team": "blue"
      }
    }
  },
  "match": {
    "id": 38670
  },
  "game": {
    "id": 182803
  },
  "ingame_timestamp": 954,
  "ts": 1524827233278,
  "id": "470eb9f9a18387ed6a9c3a9fd24112d5"
}
Concept →
  • Static data
  • Live data
  • Live plans
Documentation
Developers
Getting StartedRest APILive APIDev Slack
Product
PricingStatus
The Company
AboutTermsPrivacyHelp
Copyright © 2021 PandaScore