Esports match API.
Fixtures to boxscores on one match id.

One match index from fixture to finished series: schedules, live state, map scores, and full boxscores, all keyed by kr_match_id so odds, props, and results join cleanly.

Why this surface exists

A match id is the spine of an esports product. If fixture, odds, and score feeds use different ids, every feature downstream pays a mapping tax.

What the record represents

Match rows lead with kr_match_id, status, teams with kr_tm_* ids, competition, and series plus map scores.

Core endpoints

GET /v7/{sport}/matches for the index and /matches/{ref} for a single match with includes.

EndpointPurposeKey filters
GET /v7/{sport}/matchesFixture indexstatus, from, to
GET /v7/{sport}/matches/{ref}One match + boxscoreinclude=boxscore
GET /v7/{sport}/uavPrematch + live bundlematch=
GET /v7/{sport}/resultsSettled prop gradesmatch, grade

Canonical IDs

  • : kr_match_id
  • : kr_tm_*
  • : slug
  • : game_id

Sample payload

A live CS2 fixture with kr_match_id and series score.

FieldExampleUsed for
kr_match_idkr_cs2_…Every endpoint joins on it
statusupcoming|live|finishedState machine
series + map scoresnumbersOriented to the home team
GET /v7/cs2/matches?status=live
{
  "available": true,
  "sport": "cs2",
  "matches": [
    {
      "kr_match_id": "kr_cs2_vitality-vs-mouz-04-11-2026",
      "team1": "Vitality",
      "team2": "MOUZ",
      "status": "live",
      "series_score": "1-0"
    }
  ]
}

Comparing sources

Match workers across titles, normalized to KR ids.

SourceSchemaBest use
Wiki match pagesManual scraping, no odds joinFans
Per-book fixturesBook-local idsSiloed
KashRock match APIOne id end to endProducts

How to use it

Finished series expose boxscores, and props graded on the match land on /results.

Operational practices

  • : Join everything on kr_match_id
  • : include=boxscore for detail
  • : status=live for in-play

Quick reference

GET /v7/cs2/matches?status=live returns in-play fixtures with canonical ids. Get your free key.

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 fresh are live scores?

Live REST starts at Hobby with a 15-second delay. Builder and Pro stream real-time boxscores and events over WebSocket, usually inside 2 seconds of the in-game play.

Can I try it free?

Sandbox is $0 with an instant key: CS2 props and match discovery, 1,500 credits per UTC day, no card. Every title starts at Hobby ($29.99/mo).

What titles are covered?

CS2, Valorant, League of Legends, Dota 2, Call of Duty, Rainbow Six, Mobile Legends, Deadlock, and Apex Legends on the same schema.