Coverage levels - ESL and SSL
Two parameters decide how much data you actually get, and they are the ones integrators misread most often. Neither is a quality rating - both are contracts about what is guaranteed.
- Event Stats Level (ESL) applies to a single match
- Season Stats Level (SSL) applies to a whole season
Event Stats Level
Section titled “Event Stats Level”Four levels, each guaranteeing a floor of detail:
| Level | What is guaranteed |
|---|---|
| VIP | the deepest set collectable for the sport; live coverage often by two scouts in team sports |
| GOLD | solid team statistics and basic player statistics; lineups and player names added live on key incidents |
| SILVER | basic team statistics, often collected on a phone from the venue; lineups and player names not guaranteed |
| BRONZE | live score and match time only; a full-time-only result when there is no live coverage |
Two sub-parameters split that timeline explicitly:
- ESL Live - the level aimed at during the match. Drives what you get from play-by-play products and livescore add-ons.
- ESL After - the level aimed at post-match. Lets you know, days ahead, how deep the statistics will be once the match is over.
The + marker
Section titled “The + marker”GOLD+ does not mean "almost VIP". It means: everything guaranteed at GOLD, plus at least one
extra statistic that normally belongs to a higher level.
A scout covering Manchester United - Liverpool from TV can deliver everything GOLD guarantees, and
additionally Assists, which is a VIP-level statistic. That is not enough to raise the match to
VIP, because VIP requires the whole set. The result is GOLD+ with a note about the add-on.
Do not treat + as a level in a comparison. Sort by the base level; use + only to know that
something extra might be present.
Season Stats Level
Section titled “Season Stats Level”| Level | What is guaranteed |
|---|---|
| LEGEND | fixtures, results, basic and extended standings, plus the deepest stats collectable in the sport, per team and per player |
| ELITE | as above, minus the requirement that everything be scouted live; data must exist on an official or verified source |
| EDGE | fixtures, results, basic standings, basic team statistics; limited player statistics such as goalscorers |
| STARTER | fixtures, results, basic standings |
Season statistics are the sum of every match protocol in the season, so the season level implies a floor on every match in it:
| SSL | Every match must reach |
|---|---|
| LEGEND | ESL VIP, verified within 24 h of the final whistle |
| ELITE | ESL GOLD or VIP, verified within 24 h |
| EDGE | ESL SILVER, GOLD or VIP, verified within 24 h |
| STARTER | any ESL, no protocol verification |
One match covered below the floor makes the whole season's aggregates incomplete - which is why the floor is a hard requirement rather than an average.
Reading it from the API
Section titled “Reading it from the API”stats_lvl on a competition carries the same value as the SSL of its currently active season.
The source documentation says to ignore the competition-level field and read the season instead -
otherwise a competition with a finished LEGEND season and a new STARTER season reports the wrong
level for whichever one you are actually looking at.
- Time, clocks and timezones - the other parameter set that is routinely misread
- Data reference - which statistics exist per sport, generated from the API