Esports viewership API.
Streams and audience numbers on match ids.
Why this surface exists
Viewership data lives and dies by the join to the match. Channel-level numbers with no fixture id can't answer 'which match pulled this audience'.
What the record represents
Stream and audience fields ride on match rows: kr_match_id, status, competition, and the broadcast entries reported for it.
Core endpoints
GET /v7/{sport}/uav?include=streams for broadcast links, /matches for the fixture index, /research for context.
| Endpoint | Purpose | Key filters |
|---|---|---|
| GET /v7/{sport}/uav | Prematch + live bundle | include=streams |
| GET /v7/{sport}/matches | Fixture index | status, competition |
| GET /v7/{sport}/research | Tournament context | query |
| WS /v7/live/ws | Live match push | Builder+ |
Canonical IDs
- : kr_match_id
- : kr_tm_*
- : slug
Sample payload
An LoL fixture with its official broadcast stream entry.
| Field | Example | Used for |
|---|---|---|
| kr_match_id | kr_lol_… | Joins broadcast to fixture |
| streams[] | platform, channel | Official broadcast links |
| status | upcoming|live|finished | When the audience counts |
{
"available": true,
"kr_match_id": "kr_lol_t1-vs-geng-04-11-2026",
"match": {
"team1": "T1",
"team2": "Gen.G",
"status": "live"
},
"streams": [
{
"platform": "twitch",
"channel": "riotgames",
"language": "en",
"official": true
}
]
}Comparing sources
Broadcast and organizer sources, normalized to KR ids.
| Source | Schema | Best use |
|---|---|---|
| Charts blogs | Manual, stale weekly | Reports |
| Raw Twitch API | Channel-level, no match join | Partial |
| KashRock viewership | Streams on match ids | Products |
How to use it
Finished series keep their broadcast record alongside the boxscore.
Operational practices
- : include=streams on the fixture
- : status=live for in-play audiences
- : Empty means unreported, not zero
Quick reference
GET /v7/lol/uav?match={kr_match_id}&include=streams returns broadcast links for the fixture. 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.