Upcoming, live and finished matches for CS2, Valorant, LoL, Dota 2, COD, R6, MLBB, Deadlock and Apex — one kr_match_id per series that joins props, lines, boxscores and results without a mapping layer.
A real fixture from the board — CCT Europe Group A, with the canonical id your props, lines and results will all join on.
One match id carries the whole lifecycle: provisional when books post the fixture before the schedule does, redirected with X-Match-Redirected-From if the record is ever corrected, and permanent after it finishes.
{
"available": true,
"sport": "cs2",
"total": 160,
"matches": [
{
"kr_match_id": "kr_cs2_banda-chuya-vs-morrow-esports-07-10-2026",
"slug": "banda-chuya-vs-morrow-esports-07-10-2026",
"status": "not_started",
"event_time": "2026-10-07T08:00:00Z",
"team1": "Morrow Esports",
"team2": "Banda Chuya",
"team1_id": "kr_tm_7b8290ae28dd",
"team2_id": "kr_tm_8622b1bf77f8",
"competition": "CCT Europe",
"stage_name": "Group A",
"lan": false,
"boxscore_available": true
}
]
}Teams on kr_tm_* ids, event time, competition, stage, BO format and LAN flag — filter by status, date, team or q.
include= attaches boxscore, prep, veto, maps, player board, lines, streams or H2H — a match page is one request.
Provisional ids for book-first fixtures, redirect headers for corrected records, never a dead link.
Every fixture, live series and finished match across nine titles on stable kr_match_ids. Filter by status (live, upcoming, finished), date (YYYY-MM-DD), team name, free-text q, or a list of ids. A finished match keeps its id permanently — it never becomes a 404.
Yes — include= takes boxscore, prep, veto, maps, player_board, lines, streams and h2h, so a fixture view or a model feature pull is one request instead of a crawl.
GET /v7/{sport}/live returns matches in progress — sport=all covers every title in one call — and /v7/live/ws streams scores over websocket on Builder and up.
If two or more books list a fixture before the schedule does, it gets a provisional kr_match_id that stays valid on every route. When the schedule confirms it, the id serves the official match — ids never silently die.
Matches and live are on the free Sandbox tier — 500 requests every UTC day. Line history and the websocket are on paid plans from $29/mo.