Live player stats API.
Kills, deaths, assists — mid-map.

Quick answer: Yes — KashRock's live player stats API returns nickname, side, kills, deaths, assists, and an alive flag for every player on the map, updated in under 2 seconds on Builder+.

Live player kills, deaths, and assists updated in under 2 seconds. Each boxscore row carries nickname, side, K/D/A, headshots, ADR, and an alive flag so you can render a live scoreboard without guessing. CS2, Valorant, LoL, Dota 2, Rainbow Six, Call of Duty, and Deadlock tournament games publish live boards; Mobile Legends live lists stay empty until a feed is wired.

What the live feed carries

One boxscore call returns the full player board for a map — both teams, ten rows, with the stats a scoreboard actually renders. Player rows are keyed by canonical kr_pl_* ids, so a live row joins straight onto player profiles, gamelogs, and props.

Live endpoints

The boxscore is the scoreboard: one call per game, everything on it. Events and frame endpoints sit beside it when you need play-by-play or economy detail.

EndpointWhat it returnsKey param
GET /v6/esports/{sport}/live/gamesEvery game currently on the live boardsport
GET /v6/esports/{sport}/live/{game_id}/boxscorePer-player K/D/A plus map, round, and clockgame_id (kr_match_id)
GET /v6/esports/{sport}/live/{game_id}/frameRound phase, economy, and board stategame_id
GET /v6/esports/{sport}/live/{game_id}/eventsKILL, ROUND_WIN, BOMB_PLANT, BOMB_DEFUSE, ROUND_STARTgame_id
WS /v6/esports/live/wsPush updates under 2 seconds after Redis write — Builder and Pro onlysubscribe by sport or kr_match_id
GET /v6/esports/live/healthMeasured p50/p95 latency per live gamenone

A real live boxscore

Every field on the player row, on a real capture — Vitality vs magic, map 1 Mirage:

FieldWhat it is
nicknameThe player's in-game name for that match
sideblue or red (CS2), or the sport-native team side
killsKills so far on the current map
deathsDeaths so far on the current map
assistsAssists so far on the current map
headshotsHeadshot kills so far on the current map
adrAverage damage per round on the current map
aliveWhether the player is alive right now, this round
GET /v6/esports/cs2/live/kr_cs2_vitality-vs-magic-ru-17-09-2026/boxscore
{
  "sport": "cs2",
  "game_id": "kr_cs2_vitality-vs-magic-ru-17-09-2026",
  "boxscore": {
    "map_name": "Mirage",
    "map_number": 1,
    "round": 19,
    "blue": {
      "kills": 82,
      "map_score": 13,
      "series_score": 1
    },
    "red": {
      "kills": 52,
      "map_score": 6,
      "series_score": 0
    },
    "players": [
      {
        "player_id": "kr_pl_5ea13ced730e",
        "nickname": "ropz",
        "side": "blue",
        "kills": 23,
        "deaths": 10,
        "assists": 3,
        "headshots": 12,
        "adr": 114.19999694824219
      },
      {
        "player_id": "kr_pl_a9020751a3a8",
        "nickname": "apEX",
        "side": "blue",
        "kills": 22,
        "deaths": 11,
        "assists": 7,
        "headshots": 10,
        "adr": 133.1999969482422
      },
      {
        "player_id": "kr_pl_fd87dbd9d1c1",
        "nickname": "flameZ",
        "side": "blue",
        "kills": 16,
        "deaths": 13,
        "assists": 8,
        "headshots": 7,
        "adr": 89.5
      },
      {
        "player_id": "kr_pl_4764e4b8d73a",
        "nickname": "ZywOo",
        "side": "blue",
        "kills": 11,
        "deaths": 9,
        "assists": 7,
        "headshots": 3,
        "adr": 57.400001525878906
      },
      {
        "player_id": "kr_pl_36c966f11204",
        "nickname": "mezii",
        "side": "blue",
        "kills": 10,
        "deaths": 9,
        "assists": 5,
        "headshots": 8,
        "adr": 54.5
      },
      {
        "player_id": "kr_pl_2cc82eb14944",
        "nickname": "MaSvAl",
        "side": "red",
        "kills": 17,
        "deaths": 15,
        "assists": 1,
        "headshots": 13,
        "adr": 87.9000015258789
      },
      {
        "player_id": "kr_pl_5e5e69089419",
        "nickname": "sFade8",
        "side": "red",
        "kills": 11,
        "deaths": 17,
        "assists": 4,
        "headshots": 6,
        "adr": 67.0999984741211
      },
      {
        "player_id": "kr_pl_64ea67e35230",
        "nickname": "eksiver",
        "side": "red",
        "kills": 10,
        "deaths": 16,
        "assists": 0,
        "headshots": 2,
        "adr": 45.20000076293945
      },
      {
        "player_id": "kr_pl_218807e67435",
        "nickname": "mo0n",
        "side": "red",
        "kills": 9,
        "deaths": 15,
        "assists": 6,
        "headshots": 4,
        "adr": 51.099998474121094
      },
      {
        "player_id": "kr_pl_630e7229e428",
        "nickname": "tENZY",
        "side": "red",
        "kills": 5,
        "deaths": 19,
        "assists": 7,
        "headshots": 5,
        "adr": 48.900001525878906
      }
    ]
  }
}

Vitality vs magic, map 1 Mirage, 17 Sep 2026. Same KashRock ids and KDA fields as live REST.

Which sports publish live boards

Live K/D/A comes from in-game feeds on tournament matches. Where a title has no feed wired, the board stays empty — KashRock does not invent stats.

TitleLive statusWhat the board carries
CS2LiveKills, deaths, assists, headshots, ADR per map
ValorantLiveK/D/A per map on tournament games
League of LegendsLiveK/D/A per map on tournament games
Dota 2LiveK/D/A per map on tournament games
Rainbow SixLiveK/D/A per map on tournament games
Call of DutyLiveK/D/A per map on tournament games
DeadlockLiveK/D/A per map on tournament games
Mobile LegendsWaiting on feedLive boards stay empty until a feed is wired

How the latency SLA is enforced

Player stats move at the same SLA as the rest of the live board: live player kills, deaths, and assists updated in under 2 seconds on Builder and Pro. GET /v6/esports/live/health shows the measured p50 and p95 for every live game.

Speed by plan

Live speed is a plan feature, not a different pipeline. Every tier reads the same Redis boards — cheaper plans are served a genuinely older snapshot instead of a relabeled real-time read.

PlanPriceLive speedMonthly requests
Sandbox$0Live scores, 30-60 second delay on REST500 requests / UTC day
Hobby$29Live scores, 5-second delay on REST2,160,000 requests / month
Builder$99Live player kills, deaths, and assists updated in under 2 seconds + WebSocket push4,320,000 requests / month
Pro$199Live player kills, deaths, and assists updated in under 2 seconds + WebSocket push10,800,000 requests / month

Start in minutes

  • —Create a free Sandbox key on Pricing — $0, no card, 500 requests every UTC day
  • —List what is live: GET /v6/esports/{sport}/live/games and copy the kr_match_id off a game
  • —Pull the board: GET /v6/esports/{sport}/live/{game_id}/boxscore
  • —Upgrade to Builder when you need real-time (no delay) or WebSocket push — Sandbox and Hobby are rejected at the WS handshake

If you need a normalized feed instead of another UI wrapper, the Esports API exposes live boards, schedules, and history on one schema — with the IDs and outcome patterns that keep backtests and grading honest. Start free on Sandbox, or see published pricing.

Frequently asked questions

How fast are live player stats?

Live player kills, deaths, and assists updated in under 2 seconds on Builder and Pro. Sandbox REST is live scores, 30-60 second delay, and Hobby is live scores, 5-second delay.

REST or WebSocket?

Both. REST reads Redis. WebSocket: Push updates under 2 seconds after Redis write — Builder and Pro only.

Which sports have live K/D/A today?

CS2, Valorant, LoL, Dota 2, Rainbow Six, Call of Duty, and Deadlock tournament games publish live K/D/A. Mobile Legends live boards stay empty until a feed is connected. We do not invent stats.

What ID do the live endpoints take?

The KashRock match id — kr_match_id — returned by GET /v6/esports/{sport}/live/games or any match listing. You never pass a provider's numeric id.

What fields does the live player stats API return?

Each player row on the live boxscore returns nickname, side, kills, deaths, assists, headshots, ADR, and an alive flag for the current map — plus map name, round number, round phase, and round clock alongside the rows.

Do live stats use the same player ids as props?

Yes. Player rows carry canonical kr_pl_* ids, so a live scoreboard row joins to the player's profile, gamelogs, and props without a mapping table.