Reference

Data reference

View as Markdown
234 entries, folded

Objects

Every object the API returns, field by field — generated from the same schemas the API validates its output against (also published as OpenAPI 3.1). Every field is always present: null when the source has no value, never absent (fields marked ? appear only in WebSocket patches). Units are in the field name or shown next to it; instants are ISO-8601 UTC, dates YYYY-MM-DD.

FixtureA match. The same object on every endpoint and in WebSocket snapshots.36 fields
FieldTypeMeaning
idintegerOur fixture id.
sportstringSport slug (as in /v2/sports).
statusStatusMatch status.
startTimestring (ISO-8601 UTC) | nullStart time: the scheduled start, replaced by the recorded kick-off once the source records it (the live feed sends it a few minutes after the start). The same value on every endpoint and in WebSocket deltas.
leagueLeagueRef | nullThe competition. null when the source files the fixture under a competition it has no league for — seen on minor regional football (South Africa’s National Second Division, 2026-10-23); season and round are then null too.
seasonSeason | nullThe season.
roundRound | nullThe round, when the competition has rounds.
homeTeamRef | nullHome side; null while the side is not decided yet (the source’s placeholder such as "WQF1", winner of quarter-final 1).
awayTeamRef | nullAway side; null while the side is not decided yet (the source’s placeholder such as "WQF1").
homeScoreScoreSideOne side’s score.
awayScoreScoreSideOne side’s score.
winnerWinner | nullNull until status.type is finished, and for a fight ruled a no contest (`fightResult.method` noContest). A match finished on penalties: the shoot-out winner, whatever the source says (on a second leg the source names the side that won the 90 minutes). Named from the score when the source leaves it out, or calls a match draw in a sport that cannot draw (regular time or overtime finishes; not cricket).
venueVenue | nullVenue, when known (often null in lower tiers). Filled on /fixtures/{id} and, when the source lists it, in date lists; the source’s round, team, player and live lists carry no venue, so null there means "not included", not "unknown" — read /fixtures/{id} for it.
clockClock | nullMatch clock; null when the source has none for the fixture and once it is over.
firstToServeSide | nullDeprecated (2026-10-23): the same value as `serving`. The source updates this field every game / leg, so it is the side serving (throwing) NOW, not who served first — read `serving`.
servingSide | nullTennis / darts / other serve sports: the side serving (throwing) now, as the source updates it every game / leg. Null when the source does not say.
homeSeedstring | nullSeeded competitions — tennis draws, playoff seeding (basketball, …): the home side’s seed ("1", "12") or entry status ("WC" wild card, "Q" qualifier, "LL" lucky loser, "PR" protected ranking, …), as the draw prints it. Null when unseeded.
awaySeedstring | nullThe away side’s seed or entry status, like homeSeed.
notestring | nullCricket: the source’s match note — the result line once finished ("Pakistan beat Sri Lanka by 37 runs"). Display only.
battingSideSide | nullCricket: the side batting now. Null when no innings is in progress and for other sports.
fightResultFightResult | nullMMA / boxing: method, round and time of the finish. Null until status.type is finished, and when the source has no method.
fightDisciplineFightDiscipline | nullCombat sports (sport `mma`, which also carries boxing, kickboxing and Muay Thai cards): the discipline of this fight, when the source tags it. The source tags only some cards (ONE, Queensbury, some OKTAGON fights; not UFC or PFL), so null does not mean MMA.
refereeReferee | nullThe referee, when the source names one (football and some other sports; cricket: the match referee). Filled on /fixtures/{id}; lists carry null (not included).
homeManagerManagerRef | nullThe home side’s manager / head coach for this fixture, when the source names one. Filled on /fixtures/{id}; lists carry null.
awayManagerManagerRef | nullThe away side’s manager / head coach, like homeManager.
surfaceSurface | nullTennis: the court surface. Filled on /fixtures/{id} and live lists; null for other sports.
tossCricketToss | nullCricket: the toss, once made. Filled on /fixtures/{id}; null for other sports.
umpiresstring[] | nullCricket: the on-field umpires as the source names them (often with a country code: "Asif Yaqoob (PAK)"); null when not listed and for other sports.
tvUmpirestring | nullCricket: the TV (third) umpire, like umpires.
previousLegFixtureIdinteger | nullTwo-legged ties and playoff series: our id of the previous leg / game of the tie, when the source links it. Read /fixtures/{id} of it for the first-leg score.
aggregateWinnerSide | nullSecond leg of a two-legged tie: the side that went through, once finished — the source’s verdict, else read from `aggregated` (higher wins) or, level on aggregate, the shoot-out. Null otherwise, and on a level aggregate the source does not settle (an away-goals rule). `winner` is this match’s winner: on a second leg decided on penalties both name the shoot-out winner; otherwise the two can differ (a side can win the second leg and go out). Filled on /fixtures/{id}; lists and live snapshots may carry null (not included).
fightCardFightCard | nullMMA / boxing: card section, order and weight class of the bout, when the source lists them.
attendanceinteger | nullSpectators, when the source reports it (seen on NBA and MLB games, often only once the game is under way). Filled on /fixtures/{id}; lists carry null (not included).
matchFormatMatchFormat | nullDarts and esports: the match format (best of N sets / legs / games), when the source gives it; null for other sports.
inningStateInningState | nullBaseball: the game state in play (inning, half, balls, strikes, outs, runners on base). Null unless the game is in progress (or interrupted), and for other sports. Live: in WebSocket deltas.
timeoutsTimeouts | nullBasketball: timeouts left per side. Null unless the game is in progress (or interrupted), and when the source does not track them. Live: in WebSocket deltas.
StatusMatch status.6 fields
FieldTypeMeaning
typeStatusTypeCoarse state: derived from `phase` (see the StatusPhase table).
phaseStatusPhaseFine state, derived from `code`.
codeinteger | nullThe source’s status code — the full table is in the data dictionary. `phase`, `period` and `finish` already decode it.
descriptionstring | nullEnglish label for display, from our status table (the data dictionary’s status codes), sport-aware: e.g. "2nd half", "Halftime", "After extra time" (football), "After overtime" (basketball, ice hockey, …), "After extra innings" (baseball), "After penalties", "1st innings" (cricket), "Coverage canceled". The source’s own text only for a code we do not know. Do not branch on it.
periodPeriodKey | nullThe period in play (or, during a break, the one just played). Null before the start and once over.
finishFinishType | nullHow the match was decided; null unless `type` is finished.
ScoreSideOne side’s score.12 fields
FieldTypeMeaning
currentnumber | nullThe score as a scoreboard shows it: goals, points, sets won (tennis / volleyball), runs (cricket, baseball), extra time / overtime included. A penalty shoot-out is NOT included — it is in `penalties` — except in ice hockey, whose scoring credits the shoot-out winner with one goal (3-3 after overtime → 3-4). Null before the start, and on a fixture whose coverage was canceled.
periodsRecord<PeriodKey, number>Score per period, keyed by PeriodKey: goals per half / quarter / period, games per set (tennis), points per set (volleyball, table tennis), runs per inning (baseball). Extra time is here too: `extra1` / `extra2` (football, futsal), `overtime` (basketball, ice hockey, handball, American football, water polo, …), `period10`… (baseball extra innings; `overtime` only when the source gives the extra-innings runs as a total). The values add up to `current` when the source’s breakdown is complete (it sometimes is not: some baseball leagues send no innings, a few futsal matches miss a half) — ice hockey after a shoot-out is one goal short by design (see `current`). Esports: one key per game (map), and what the source counts there depends on the title — Counter-Strike 1 for the side that won map N and 0 otherwise (maps not played 0, up to period5 in a best of 3), League of Legends the side’s kills in game N (so they do not add up to `current`, which counts games won); read /fixtures/{id}/games for each game’s winner and score. Empty when the source has none.
tieBreaksRecord<PeriodKey, number>Tennis: tie-break points of a set, keyed like `periods` (e.g. { "period2": 7 }).
normalTimenumber | nullScore at the end of regulation time, when the source gives it.
penaltiesnumber | nullPenalty shoot-out score (goals scored in the shoot-out). Ice hockey: 1 for the shoot-out winner and 0 for the loser — the goal `current` credits.
aggregatednumber | nullAggregate over a two-legged tie.
seriesnumber | nullPlayoff series: games won in the series so far (basketball, baseball, ice hockey, water polo).
pointstring | nullTennis: the current game score, "0" | "15" | "30" | "40" | "A" (tie-break points as numbers, "0"–"N"). Null unless play is in progress or interrupted.
redCardsinteger | nullFootball: red cards shown to the side (second yellows included).
inningsRecord<PeriodKey, CricketInnings>Cricket: the side’s innings, keyed inning1…N. Empty for other sports.
hitsinteger | nullBaseball: hits (the H of the R/H/E line).
errorsinteger | nullBaseball: errors (the E of the R/H/E line).
CricketInningsOne innings of a side in cricket.5 fields
FieldTypeMeaning
runsinteger | nullRuns scored.
wicketsinteger | nullWickets lost.
oversnumber | nullOvers bowled, cricket notation (49.5 = 49 overs and 5 balls).
runRatenumber | nullRuns per over.
targetRunRatenumber | nullRequired run rate to reach the target (chasing side).
ClockThe match clock. Running clock (football, rugby, …): elapsed = periodOffsetSeconds + (now − periodStartedAt); minute = floor(elapsed / 60) + 1; past periodEndSeconds show periodEndSeconds / 60 + "+" + the extra minutes. Only while status.phase is inprogress. Stop clock (basketball, handball, ice hockey, …): playedSeconds as of playedAt, ticking only while `running` is true. Set / map sports (tennis, table tennis, badminton, esports): only `periodStartedAt` (when the current set or map started), when the source sends it — often the whole clock is null. Every field is null when the source does not supply it for the sport; the whole clock is null when there is none and once the match is over. Lists other than /fixtures/{id} may carry fewer clock fields (the static ones such as periodLengthSeconds can be null there).12 fields
FieldTypeMeaning
periodStartedAtstring (ISO-8601 UTC) | nullWhen the current period’s clock started.
periodOffsetSecondsnumber | nullRunning clock: clock seconds already elapsed when the period started (football 2nd half: 2700).seconds
periodEndSecondsnumber | nullRunning clock: the clock second at which the period’s regulation time ends (football 1st half: 2700).seconds
maxExtraSecondsnumber | nullRunning clock: the most added time the source’s display allows beyond periodEndSeconds.seconds
injuryTimeMinutesnumber | nullAdded time announced for the period in play.minutes
playedSecondsnumber | nullStop clock: seconds played, as of `playedAt`.seconds
playedAtstring (ISO-8601 UTC) | nullWhen `playedSeconds` was read.
runningboolean | nullStop clock: whether the game clock is running.
runningUpdatedAtstring (ISO-8601 UTC) | nullWhen `running` was last updated.
periodLengthSecondsnumber | nullStop clock: regulation length of one period.seconds
overtimeLengthSecondsnumber | nullLength of one overtime period.seconds
periodCountinteger | nullNumber of regulation periods (combat sports: scheduled rounds).
FightResultMMA / boxing: how a finished fight was decided.3 fields
FieldTypeMeaning
methodFightMethodHow it was won.
roundinteger | nullThe round it ended in.
roundTimeSecondsinteger | nullTime into that round when the fight was stopped (KO, TKO, submission, disqualification, …), when the source has it. Null for a decision (unanimous, split, majority, technical — draws by decision included): the fight was not stopped, and the source’s figure for it is unreliable.seconds
RefereeThe match referee (cricket: the match referee), with the career totals the source keeps — divide by `games` for a per-match rate.9 fields
FieldTypeMeaning
idintegerOur referee id.
namestringReferee name.
slugstring | nullURL slug.
countryCountry | nullThe referee’s country, when the source gives it.
gamesinteger | nullMatches the source has recorded the referee in charge of (career, all competitions).
yellowCardsinteger | nullYellow cards shown over those matches; null in sports without cards (cricket).
redCardsinteger | nullStraight red cards shown over those matches; null in sports without cards.
yellowRedCardsinteger | nullSecond-yellow sending-offs over those matches; null in sports without cards.
imagestring (URL) | nullPhoto on our CDN; null when the referee has no image (or it is not uploaded yet). Since 2026-11-04.
SurfaceTennis: the court the match is played on.3 fields
FieldTypeMeaning
typeSurfaceTypeA tennis court surface.
indoorboolean | nullTrue indoors, false outdoors; null when the source does not say.
namestringThe source’s text, e.g. "Hardcourt outdoor". Display only.
CricketTossCricket: the toss.2 fields
FieldTypeMeaning
winnerSide | nullThe side that won the toss; null when the source’s team name matches neither side.
decisionTossDecision | nullWhat it chose.
FightCardMMA / boxing: where a bout sits on its card.3 fields
FieldTypeMeaning
sectionFightCardSection | nullMain card, prelims, …, when the source says.
orderinteger | nullThe bout’s place on the card as the source numbers it (higher = later; the main event has the highest number).
weightClassstring | nullThe bout’s weight class as the source names it ("light", "bantam", "feather", …).
FixturePatchThe `changes` of a WebSocket delta: a partial Fixture with the same names and nesting. Deep-merge it onto the Fixture you hold — objects merge key by key, any other value (null included) replaces. Only these fields are ever sent.13 fields
FieldTypeMeaning
status?{ type?: StatusType; phase?: StatusPhase; code?: integer | null; description?: string | null; period?: PeriodKey | null; finish?: FinishType | null }The status fields that changed (a status change always re-sends type, phase, finish and, when known, period).
startTime?string (ISO-8601 UTC) | nullNew start time: a reschedule, or the recorded kick-off once the source records it (see Fixture.startTime).
winner?Winner | nullSet when the match finishes.
homeScore?ScoreSidePatchThe changed part of a ScoreSide.
awayScore?ScoreSidePatchThe changed part of a ScoreSide.
clock?{ periodStartedAt?: string (ISO-8601 UTC) | null; periodOffsetSeconds?: number | null; periodEndSeconds?: number | null; maxExtraSeconds?: number | null; injuryTimeMinutes?: number | null; playedSeconds?: number | null; playedAt?: string (ISO-8601 UTC) | null; running?: boolean | null; runningUpdatedAt?: string (ISO-8601 UTC) | null; periodLengthSeconds?: number | null; overtimeLengthSeconds?: number | null; periodCount?: integer | null } | nullnull = the match is over: drop the clock.
firstToServe?Side | nullDeprecated: the same value as `serving`.
serving?Side | nullThe side serving (throwing) now.
note?string | nullCricket: new match note.
battingSide?Side | nullCricket: the side now batting (null = none).
inningState?InningState | nullBaseball: the new game state, always sent whole; null = no longer in play.
timeouts?{ homeRemaining?: integer | null; awayRemaining?: integer | null; perTeam?: integer | null } | nullBasketball: the timeout counts that changed; null = no longer in play.
fightResult?FightResult | nullMMA / boxing: the method, round and time of the finish, sent whole once the source has it — usually in a delta after the finishing one (the source publishes it ~20–60 s after the winner).
ScoreSidePatchThe changed part of a ScoreSide.12 fields
FieldTypeMeaning
current?number | nullThe score as a scoreboard shows it: goals, points, sets won (tennis / volleyball), runs (cricket, baseball), extra time / overtime included. A penalty shoot-out is NOT included — it is in `penalties` — except in ice hockey, whose scoring credits the shoot-out winner with one goal (3-3 after overtime → 3-4). Null before the start, and on a fixture whose coverage was canceled.
normalTime?number | nullScore at the end of regulation time, when the source gives it.
penalties?number | nullPenalty shoot-out score (goals scored in the shoot-out). Ice hockey: 1 for the shoot-out winner and 0 for the loser — the goal `current` credits.
aggregated?number | nullAggregate over a two-legged tie.
series?number | nullPlayoff series: games won in the series so far (basketball, baseball, ice hockey, water polo).
point?string | nullTennis: the current game score, "0" | "15" | "30" | "40" | "A" (tie-break points as numbers, "0"–"N"). Null unless play is in progress or interrupted.
redCards?integer | nullFootball: red cards shown to the side (second yellows included).
hits?integer | nullBaseball: hits (the H of the R/H/E line).
errors?integer | nullBaseball: errors (the E of the R/H/E line).
periods?Record<PeriodKey, number | null>Only the periods that changed; null = the period was removed upstream (delete it).
tieBreaks?Record<PeriodKey, number | null>Only the tie-breaks that changed; null = removed.
innings?Record<PeriodKey, CricketInnings>Only the innings that changed; merge key by key (like periods) — an innings not named is unchanged.
TeamRefA team as referenced from any other object (fixtures, standings, players, leaders).6 fields
FieldTypeMeaning
idintegerOur team id.
namestringTeam name. In individual sports (tennis, table tennis, darts, MMA, …) a competitor is a team too: the player, or the pair in doubles.
slugstring | nullURL slug.
shortNamestring | nullShort display name, when the source has one.
codestring | nullScoreboard abbreviation, 1–4 characters (e.g. "ARS", "LA"); synthetic in individual sports.
imagestring (URL) | nullLogo on our CDN; null when the team has no image.
TeamDetailA team profile.16 fields
FieldTypeMeaning
idintegerOur team id.
namestringTeam name. In individual sports (tennis, table tennis, darts, MMA, …) a competitor is a team too: the player, or the pair in doubles.
slugstring | nullURL slug.
shortNamestring | nullShort display name, when the source has one.
codestring | nullScoreboard abbreviation, 1–4 characters (e.g. "ARS", "LA"); synthetic in individual sports.
imagestring (URL) | nullLogo on our CDN; null when the team has no image.
sportstring | nullSport slug.
countryCountry | nullCountry the team represents / is based in.
venueVenue | nullHome venue.
colors{ primary: string | null; secondary: string | null; text: string | null } | nullKit colours as #rrggbb; null when the source has none of its own (it sends a placeholder blue for most minor teams and every individual competitor).
genderTeamGender | nullMen’s, women’s or mixed; null when the source does not say.
nationalboolean | nullTrue for a national side, false for a club; null when the source does not say.
kindTeamKind | nullA team, one competitor of an individual sport, or a doubles pair; null when the source does not say.
managerManagerRef | nullThe current manager / head coach, when the source names one.
personPerson | nullIndividual competitors: date of birth, height, weight, … where the source profiles them (tennis, MMA); null otherwise.
recordFighterRecord | nullMMA / boxing fighters: the career win-draw-loss record and the last fights’ methods; null for everyone else.
PersonThe person behind an individual competitor (`kind: individual`), where the source profiles one (tennis players, MMA fighters). Same names and units as Player.12 fields
FieldTypeMeaning
dateOfBirthstring (YYYY-MM-DD) | nullDate of birth.
heightCminteger | nullHeight.cm
weightKgnumber | nullWeight in kilograms (MMA: the fighter’s listed weight).
reachCminteger | nullReach (MMA).cm
nicknamestring | nullRing name / nickname (MMA), e.g. "Storm".
weightClassstring | nullWeight class as the source names it (MMA: "feather", "light", "bantam", …).
birthplacestring | nullWhere they were born, as the source writes it ("San Candido, Italy").
residencestring | nullWhere they live, as the source writes it ("Monte Carlo, Monaco").
handednessHandedness | nullTennis: the playing hand.
turnedProinteger | nullTennis: the year they turned professional.
prizeMoneySeasonMoney | nullTennis: prize money won this season.
prizeMoneyCareerMoney | nullTennis: career prize money.
LeagueRefA league / competition (also the shape of /v2/leagues/{id} and of every league list).7 fields
FieldTypeMeaning
idintegerOur league id.
namestringLeague / competition name.
slugstring | nullURL slug.
sportstring | nullSport slug (as in /v2/sports).
categorystring | nullThe source’s grouping of the league: a country ("England"), a region ("International", "North America", "World"), a tour ("ATP", "WTA") or a game (esports: "Counter Strike"). Not always a country — see `country`.
countryCountry | nullThe league’s country, when its category is one; null for regions, tours and games.
imagestring (URL) | nullLogo on our CDN; null when the league has no image.
CountryA country.2 fields
FieldTypeMeaning
codestring | nullTwo-letter code as the source gives it (ISO 3166-1 alpha-2, except the UK home nations: EN England, SX Scotland, WA Wales, NI Northern Ireland). Null when unknown.
namestringEnglish country name.
SeasonA season of a league.5 fields
FieldTypeMeaning
idintegerOur season id.
namestring | nullSeason name, e.g. "Premier League 26/27".
yearstring | nullSeason label as the source writes it, for display: "26/27" or "2026/2027" for a season across two years, "2026" for a calendar-year one. Sort and filter by startYear / endYear.
startYearinteger | nullThe year the season starts (2026 for "26/27" and for "2026"); null when the label cannot be read.
endYearinteger | nullThe year the season ends (2027 for "26/27"; the same as startYear for a calendar-year season); null when the label cannot be read.
RoundA round of a league season.4 fields
FieldTypeMeaning
numberintegerThe source’s round number. An opaque key, not a sequence: cups use the number of remaining entrants (tennis "Round of 64" = 32) and playoff rounds large numbers (636). Pass it to /v2/leagues/{id}/fixtures. Some competitions are not organized in rounds at the source (NBA and NHL regular seasons, NCAA, single tennis / MMA events): a fixture there may still carry a round, while /rounds is empty and the round filter returns no fixtures — list them by date instead.
namestring | nullRound name, when the round has one ("Quarterfinals", "Playoff round").
slugstring | nullDisambiguates rounds that reuse a number across phases; pass it to /fixtures when set.
prefixstring | nullSecond disambiguator (e.g. "Qualification"); pass it to /fixtures together with slug.
RoundsThe rounds of a season and the current one. Empty (`current: null`, `rounds: []`) for a competition the source does not organize in rounds — see Round.number.2 fields
FieldTypeMeaning
currentRound | null
roundsRound[]
VenueWhere a fixture is played or a team plays its home games.5 fields
FieldTypeMeaning
idinteger | nullOur venue id; null when the source gives the venue without one.
namestring | nullStadium / arena name.
citystring | nullCity.
countryCountry | nullCountry of the venue.
capacityinteger | nullSeating capacity.
PlayerRefA player as referenced from any other object.5 fields
FieldTypeMeaning
idintegerOur player id.
namestringPlayer name.
slugstring | nullURL slug.
shortNamestring | nullShort display name, e.g. "B. Saka", when the source has one.
imagestring (URL) | nullPhoto on our CDN; null when the player has no image.
ManagerRefA team’s manager (head coach) as referenced from another object.5 fields
FieldTypeMeaning
idintegerOur manager id.
namestringManager / head coach name.
slugstring | nullURL slug.
shortNamestring | nullShort name, e.g. "F. Hurzeler".
imagestring (URL) | nullPhoto on our CDN; null when the manager has no image (or it is not uploaded yet). Since 2026-11-04.
PlayerA player profile.17 fields
FieldTypeMeaning
idintegerOur player id.
namestringFull name.
slugstring | nullURL slug.
shortNamestring | nullShort name, e.g. "B. Saka".
positionPosition | nullMain position.
positionCodestring | nullThe source’s position code.
jerseyNumberstring | nullShirt number (a string: "0" and "00" are real numbers in basketball and American football); null when unknown — rugby squads list "0" as a placeholder, which is dropped.
heightCminteger | nullHeight.cm
preferredFoot"left" | "right" | "both" | nullFootball: left, right or both.
dateOfBirthstring (YYYY-MM-DD) | nullDate of birth.
countryCountry | nullNationality.
marketValueMoney | nullEstimated transfer market value; null when unknown.
contractUntilstring (YYYY-MM-DD) | nullContract end; null when unknown.
imagestring (URL) | nullPhoto on our CDN.
injuryInjury | nullThe current injury, when the source lists one (football, mostly covered leagues); null = none listed.
detailedPositionsDetailedPosition[]Football: the detailed positions the player plays, main one first (e.g. ["striker"], ["rightWinger", "attackingMidfielder"]); [] where the source has none (other sports, minor leagues). `position` stays the broad line.
teamTeamRef | nullCurrent team.
InjuryA player’s current injury.5 fields
FieldTypeMeaning
descriptionstring | nullThe injury, e.g. "Hamstring Injury".
statusInjuryStatus | nullOut, day to day, …
sincestring (YYYY-MM-DD) | nullWhen it started (UTC day).
expectedReturnstring (YYYY-MM-DD) | nullExpected return (UTC day), when the source estimates one.
updatedAtstring (ISO-8601 UTC) | nullWhen the source last updated it.
SquadPlayerA squad member: a Player without `team` (it is the squad’s team).16 fields
FieldTypeMeaning
idintegerOur player id.
namestringFull name.
slugstring | nullURL slug.
shortNamestring | nullShort name, e.g. "B. Saka".
positionPosition | nullMain position.
positionCodestring | nullThe source’s position code.
jerseyNumberstring | nullShirt number (a string: "0" and "00" are real numbers in basketball and American football); null when unknown — rugby squads list "0" as a placeholder, which is dropped.
heightCminteger | nullHeight.cm
preferredFoot"left" | "right" | "both" | nullFootball: left, right or both.
dateOfBirthstring (YYYY-MM-DD) | nullDate of birth.
countryCountry | nullNationality.
marketValueMoney | nullEstimated transfer market value; null when unknown.
contractUntilstring (YYYY-MM-DD) | nullContract end; null when unknown.
imagestring (URL) | nullPhoto on our CDN.
injuryInjury | nullThe current injury, when the source lists one (football, mostly covered leagues); null = none listed.
detailedPositionsDetailedPosition[]Football: the detailed positions the player plays, main one first (e.g. ["striker"], ["rightWinger", "attackingMidfielder"]); [] where the source has none (other sports, minor leagues). `position` stays the broad line.
TransferOne move of a player between teams — a transfer, a loan, a signing, a trade, a release, … No id: a move is identified by player + type + date.10 fields
FieldTypeMeaning
playerPlayerRefThe player who moved.
typeTransferTypeWhat kind of move a transfer is.
datestring (YYYY-MM-DD) | nullWhen it took effect (UTC day); null when the source has no date.
fromTeamRef | nullThe team he left; null for a free agent, or a side the source does not list as a team (see `fromName`).
fromNamestring | nullThe source’s name of the team he left — set even when `from` is null (e.g. "Bryne FK Yth.").
toTeamRef | nullThe team he joined; null when waived, released or retired, or a side the source does not list (see `toName`).
toNamestring | nullThe source’s name of the team he joined, as for `fromName`.
feeMoney | nullThe fee, when the source states one; null for a free, undisclosed or unknown fee and for every non-transfer move.
freeTransferbooleanTrue when the source records the move as free (no fee was paid).
draft{ round: integer | null; pick: integer | null } | nulltype draft: the round and pick, when listed; null otherwise.
TeamTransfersA team’s recent moves in and out, as the source lists them (about the last year).2 fields
FieldTypeMeaning
arrivalsTransfer[]Moves INTO the team, newest first.
departuresTransfer[]Moves OUT of the team, newest first.
MoneyAn amount of money.2 fields
FieldTypeMeaning
amountnumberAmount in `currency` units.
currencystringISO 4217 currency code, e.g. "EUR".
LineupsLineups of both sides.3 fields
FieldTypeMeaning
confirmedbooleanTrue once the official lineups are out (false = predicted / not yet published).
homeTeamLineupOne side’s lineup.
awayTeamLineupOne side’s lineup.
TeamLineupOne side’s lineup.3 fields
FieldTypeMeaning
formationstring | nullFormation, e.g. "4-2-3-1" (football).
playersLineupPlayer[]
missingMissingPlayer[]
LineupPlayerOne player of a lineup.12 fields
FieldTypeMeaning
playerPlayerRef | nullThe player.
positionPosition | nullPosition in this lineup.
positionCodestring | nullThe source’s position code, as a lineup card prints it ("G", "LW", "QB", "1B").
jerseyNumberstring | nullShirt number — a string ("00" exists).
substitutebooleanOn the bench at the start.
captainbooleanTeam captain.
ratingnumber | nullMatch rating (e.g. 7.4), rounded to 2 decimals; null when the player has none.
avgRatingnumber | nullFootball: the player’s average match rating this season, rounded to 2 decimals, when the source lists it with the lineup (usually before and around kick-off).
ratingVersions{ original: number | null; alternative: number | null } | nullFootball: the original rating and the source’s alternative model’s rating.
star1 | 2 | 3 | nullIce hockey: the game’s first, second or third star.
battingOrderinteger | nullBaseball: place in the batting order.
statisticsRecord<string, number> | nullPer-player match statistics, sport-specific camelCase keys in the same vocabulary as the team statistics — a key that counts the same quantity as a team StatItem has the team key (football minutesPlayed, passes, accuratePasses, shotsOnGoal, expectedGoals …; basketball points, fieldGoalsMade, fieldGoalsAttempted, secondsPlayed …; ice hockey goals, shotsOnGoal, penalties, plusMinus, savePercentage …). Every …Percentage is a 0–100 share (ice-hockey save percentages included: 94.1, not 0.941). Seconds where the key says so. Null when the player has none.
MissingPlayerA player missing a fixture.5 fields
FieldTypeMeaning
playerPlayerRef | nullThe player.
availabilityAvailability | nullRuled out or doubtful.
reasonMissingReason | nullWhy.
descriptionstring | nullThe source’s detail, e.g. "Hamstring Injury", "Red card suspension".
expectedReturnAtstring (ISO-8601 UTC) | nullExpected return, when known.
StatisticsMatch statistics, per period.1 field
FieldTypeMeaning
periods({ period: "all" | PeriodKey; groups: StatGroup[] })[]One entry per period the source has statistics for, "all" first.
StatGroupA group of statistics.3 fields
FieldTypeMeaning
keystringStable group key from a table per sport (not derived from the display name), e.g. "matchOverview", "attack", "other".
namestring | nullGroup display name, e.g. "Match overview".
itemsStatItem[]
StatItemOne match statistic for both sides.6 fields
FieldTypeMeaning
keystringStable camelCase key; the same key always means the same quantity, in every sport and in lineup player statistics (it can appear in two groups). A ratio key names the success its `value` counts (`aerialDuelsWon`, `fieldGoalsMade`, `accurateCrosses`, `firstServesIn`, `powerPlayConversion`) — never `…Percentage`; `…Percentage` is a `value` that is itself a 0–100 share (`duelsWonPercentage`, `corsiPercentage`). `blocks` = attempts this side blocked, `shotsBlocked` = this side’s own shots that were blocked. Catalogue per sport in the data dictionary.
namestring | nullThe source’s English display name.
kindStatKindHow to read a statistic’s value and total.
higherIsHigherIs | nullWhether more is better — use it to highlight the leading side.
homeStatSideOne side of a statistic.
awayStatSideOne side of a statistic.
StatSideOne side of a statistic.3 fields
FieldTypeMeaning
displaystring | nullWhat to print, e.g. "57%", "33/53 (62%)", "1:22".
valuenumber | nullThe number behind it — see the item’s `kind`.
totalnumber | nullkind ratio: attempts; kind time: seconds available; null otherwise.
IncidentA match event. Lists are oldest first (chronological), like every timeline list.23 fields
FieldTypeMeaning
typeIncidentTypeWhat happened.
detailIncidentDetail | nullKind within the type; null for period and injuryTime rows.
sideSide | nullThe side the incident counts for (an own goal counts for the side credited with it); null for period / injuryTime rows.
minuteinteger | nullMatch minute. Null off the clock: before kick-off, at half-time, after full time, on the bench, in a shoot-out.minutes
addedMinuteinteger | nullMinutes into added time (90+3 → minute 90, addedMinute 3). injuryTime rows: the minutes announced.minutes
secondinteger | nullMatch clock in seconds, when the source gives it: on every row in ice hockey, basketball, handball and rugby; football only on period rows.seconds
periodPeriodKey | nullThe period it happened in. Period rows: the period that ended (football FT → period2, basketball FT → period4, ET → extra2, PEN → penalties). Other rows: the period between the period rows around it (the source’s own value when it gives one); shoot-out kicks: penalties. Null only when it cannot be told (no period row yet and the sport’s period length unknown).
playerPlayerRef | nullThe player: scorer, booked player, penalised player, VAR subject, shoot-out taker.
playerNamestring | nullThe player’s name — also set when the source gives a name but no player record (some own goals).
assistsPlayerRef[]Goal assists in order (ice hockey has up to two).
playerInPlayerRef | nullsubstitution: the player coming on.
playerOutPlayerRef | nullsubstitution: the player going off.
drawnByPlayerRef | nullsuspension (ice hockey): the player who drew the penalty.
homeScorenumber | nullRunning home score after the incident (goals, period rows, shoot-out kicks). Set sports’ period rows (volleyball, table tennis, badminton): sets won so far — the set’s own points are in the fixture’s `periods` and in /points.
awayScorenumber | nullRunning away score after the incident (sets won on set sports’ period rows).
textstring | nullperiod rows: the scoreboard label ("HT", "FT", "Q4", "3rd period", "Overtime", "PEN"). Display only.
reasonstring | nullcard: the reason ("Foul", "Violent conduct"); suspension: the infraction ("Holding"); missed penalty: how ("Goalkeeper save", "Off target").
rescindedboolean | nullcard: the card was rescinded later.
confirmedboolean | nullvarDecision: true = the original decision stood.
shootoutSequenceinteger | nullshootoutPenalty: overall kick order, both sides counted (1 = the first kick of the shoot-out).
shootoutRoundinteger | nullshootoutPenalty: the round — the taker’s side’s 1st, 2nd, … kick.
durationSecondsinteger | nullsuspension: length of the exclusion.seconds
buildUpBuildUpStep[]football goal: the passes and shots that led to it, in order, the goal last (covered leagues; empty otherwise and for every other incident).
KeyedIncidentAn incident with its stable key (events frames).2 fields
FieldTypeMeaning
keystringStable key of the incident within its fixture: `type:side:minute:addedMinute` ("goal:home:34:0", "-" for a null side or minute), with `#2`, `#3` for further incidents in the same slot, in list order. Not the player: a corrected scorer or goal type keeps the key (an update). A corrected minute is a new key (the old one is removed).
incidentIncidentA match event. Lists are oldest first (chronological), like every timeline list.
IncidentChangesWhat an events frame changed against the previous one.3 fields
FieldTypeMeaning
addedstring[]Keys of incidents that are new since the previous events frame (or since the copy the server held).
updatedstring[]Keys of incidents whose content changed (scorer, assist, build-up, card rescinded, …).
removedKeyedIncident[]Incidents the source no longer lists, with their last content — e.g. a goal chalked off by VAR (the score goes back in a delta; the goal is removed here once REST confirms it).
BuildUpStepOne action of a goal’s build-up, as the source maps it (football, covered leagues).11 fields
FieldTypeMeaning
actionBuildUpActionWhat one step of a goal’s build-up was.
sideSide | nullThe side of the player who made it (an own goal’s last step is the defending side).
playerPlayerRef | nullWho made it.
minuteinteger | nullMatch minute.minutes
positionPitchSpot | nullWhere the action started.
endPositionPitchSpot | nullpass / cross: where the ball went; null otherwise.
assistbooleanThe pass credited as the assist.
bodyPartBodyPart | nullgoal: what it was struck with.
expectedGoalsnumber | nullgoal / savedShot: expected goals of the chance, 0–1, when the source has it.
expectedGoalsOnTargetnumber | nullgoal / savedShot: expected goals on target (xGOT), when it has it.
goalMouthLocationGoalMouthLocation | nullgoal: zone of the goal mouth.
PitchSpotA spot on a football pitch.2 fields
FieldTypeMeaning
xnumberAlong the pitch, 0–100 in the SCORING side’s direction of attack (100 = the goal the goal went into, own goals included). Away goals come rotated from the source’s frame, where the home side always attacks towards 100 (fixed 2026-10-23).percent
ynumberAcross the pitch, 0–100, rotated with x (the scoring side’s view).percent
H2HHead-to-head record of the two teams (the endpoint returns null when they have none).4 fields
FieldTypeMeaning
homeWinsintegerWins of this fixture’s home team in their meetings.
awayWinsintegerWins of this fixture’s away team.
drawsintegerDraws.
managerDuelManagerDuel | nullThe managers’ own record against each other (football and other sports with managers); null when they never met or the source has none.
ManagerDuelHead-to-head record of the two managers, across every team they managed.5 fields
FieldTypeMeaning
homeManagerManagerRef | nullThe home team’s manager for this fixture.
awayManagerManagerRef | nullThe away team’s manager.
homeWinsintegerWins of the home manager’s teams against the away manager’s.
awayWinsintegerWins of the away manager’s teams.
drawsintegerDraws.
PregameFormBoth sides’ form before a fixture. A side is null when the source has none.2 fields
FieldTypeMeaning
homeTeamForm | null
awayTeamForm | null
TeamFormOne side’s form going into a fixture.7 fields
FieldTypeMeaning
resultsFormResult[]The side’s last results in this competition before this fixture (up to five), oldest first, most recent last.
positioninteger | nullLeague position going into the fixture.
pointsinteger | nullTable points going into the fixture, where the competition’s table counts points (football, ice hockey, handball, rugby, …); else null.
winsinteger | nullWins going into the fixture, where the table counts wins and losses instead of points (basketball, baseball: W-L; MMA: W-D-L); else null. MMA: the source’s figure for the event’s competition (Volkanovski 8-0-3 before UFC 333, while his career record is 28-0-4) — NOT the career record, which is TeamDetail.record on /v2/teams/{id}.
drawsinteger | nullDraws, where the record has them (MMA W-D-L); else null.
lossesinteger | nullLosses, with `wins`; else null.
avgRatingnumber | nullThe side’s average player rating over its recent matches, rounded to 2 decimals.
StreaksTeam streaks before a fixture.2 fields
FieldTypeMeaning
generalStreak[]Each side’s streaks over its recent matches in all competitions, up to this fixture (a finished fixture still shows the streaks it was played with).
headToHeadStreak[]Streaks over the two sides’ meetings.
StreakA team streak worth a headline before a fixture.8 fields
FieldTypeMeaning
namestringThe streak in English, e.g. "Wins", "No losses", "More than 2.5 goals". Display text — the source has no stable key for it.
kindStreakKindWhat a streak’s figure is: a run in a row, x of the last y, or an average.
valuestringAs the source prints it: "5" (five in a row), "7/8" (seven of the last eight) or "83" (an average).
countinteger | nullThe number of matches the streak holds for (the 5 of "5", the 7 of "7/8"); null for an average.
outOfinteger | nullFor an "x of the last y" streak: y; null for a run in a row and for an average.
averagenumber | nullkind average: the figure (83 points a game); else null.
sideStreakSideWhose streak it is.
continuedboolean | nullWhether the streak is still running.
BestPlayersThe best performers of each side.3 fields
FieldTypeMeaning
playerOfTheMatchBestPlayer | nullPlayer of the match, where the sport has one.
homeBestPlayer[]
awayBestPlayer[]
BestPlayerA top performer of the match.4 fields
FieldTypeMeaning
playerPlayerRef | nullThe player.
valuenumber | nullThe ranking value (a rating, points, goals, yards).
labelBestPlayerLabel | nullWhat `value` is.
statisticsRecord<string, number> | nullBasketball: the player’s line, in the lineup-statistics vocabulary (points, rebounds, assists, steals, blocks, rating). Null in sports whose source lists none.
MomentumMomentum graph: per minute (football, basketball, handball, ice hockey, …) or per game (tennis).6 fields
FieldTypeMeaning
points{ minute: number; value: number }[]One point per minute.
periodLengthMinutesnumber | nullRegulation length of one period (football 45, basketball 10, ice hockey 20).minutes
periodCountinteger | nullRegulation periods.
overtimeLengthMinutesnumber | nullLength of one overtime period.minutes
overtimeCountinteger | nullOvertime periods played, when the source says.
games{ period: PeriodKey; game: integer; value: number; breakOfServe: boolean }[]Tennis: one value per game, in order (the minute points are empty). Empty for other sports.
ShotOne shot (football, ice hockey, basketball field goals). Lists are oldest first (chronological; shoot-out kicks last, in kick order) — except basketball, where the source gives no time: home shots then away shots, in the source’s order, with only side, outcome and position set.21 fields
FieldTypeMeaning
sideSide | nullThe shooting side.
playerPlayerRef | nullThe shooter.
goalkeeperPlayerRef | nullFootball: the goalkeeper faced.
outcomeShotOutcome | nullWhat came of it.
techniqueShotTechnique | nullIce hockey: the shot type.
goalTypeShotGoalType | nullFor goals: regular, ownGoal or penalty.
situationShotSituation | nullFootball: the play it came from.
bodyPartBodyPart | nullFootball: what it was struck with.
strengthShotStrength | nullIce hockey: manpower situation.
expectedGoalsnumber | nullExpected goals (xG) of the chance, 0–1.
expectedGoalsOnTargetnumber | nullFootball: expected goals on target (xGOT, post-shot), when on target.
minuteinteger | nullMatch minute.minutes
addedMinuteinteger | nullMinutes into added time.minutes
secondinteger | nullMatch clock in seconds.seconds
periodPeriodKey | nullThe period. Football: read from the minute (45+2 → period1, 92 → extra1; shoot-out kicks: penalties); basketball: null (no time).
positionPoint | nullShot origin. Football: 0–100 pitch percentages, x from the goal line being attacked, y across the pitch. Ice hockey: rink units as the source gives them (x ≈ 0–240 along the rink — each side attacks one end, y 0–100 across). Basketball: tenths of a foot from the basket attacked — x across the court (−250…250, sidelines), y out from the basket (0 at the rim; the NBA three-point arc is 237.5).
goalMouthPoint | nullFootball: where it crossed the goal line (y across the mouth 0–100, z height).
goalMouthLocationGoalMouthLocation | nullFootball: zone of the goal mouth (or near miss).
blockPositionPoint | nullFootball: where a blocked / saved shot was stopped.
shootoutSequenceinteger | nullFootball shoot-out kicks: overall kick order, both sides counted (as on the shoot-out incidents).
shootoutRoundinteger | nullFootball shoot-out kicks: the round — the shooting side’s 1st, 2nd, … kick.
PointA coordinate (see Shot for the system per sport).3 fields
FieldTypeMeaning
xnumber | null
ynumber | null
znumber | null
HeatmapWhere one player was active during a fixture (football, covered leagues).1 field
FieldTypeMeaning
pointsHeatPoint[]Every sample; render them as a density. Empty (200, not 404) when the source has no heatmap for the player in this fixture — also for sports that never have one (only football is covered).
HeatPointOne touch / position sample of a heatmap.2 fields
FieldTypeMeaning
xnumberAlong the pitch, 0–100, in the player’s direction of attack (100 = the goal attacked).percent
ynumberAcross the pitch, 0–100.percent
AveragePositionsAverage positions of each side’s players (football, covered leagues).2 fields
FieldTypeMeaning
homeAveragePosition[]
awayAveragePosition[]
AveragePositionA player’s average position in a fixture.7 fields
FieldTypeMeaning
playerPlayerRef | nullThe player.
jerseyNumberstring | nullShirt number.
positionPosition | nullPlaying position, as on lineups (from `positionCode`).
positionCodestring | nullThe source’s position letter ("G", "D", "M", "F").
xnumber | nullAverage position along the pitch, 0–100 in the team’s direction of attack.percent
ynumber | nullAverage position across the pitch, 0–100.percent
pointsCountinteger | nullHow many position samples the average is over.
PointsA fixture point by point: tennis (sets → games → points), rally sports (sets → rallies), cricket (innings → overs → balls), baseball (at-bats), darts (sets → legs → visits).5 fields
FieldTypeMeaning
formatPointsFormat | nullWhich of `sets` / `innings` / `atBats` / `darts` is filled; null when none is available yet — and for sports that never have point by point (200 with empty lists, not 404).
setsPointSet[]Tennis and rally sports: one entry per set, in order.
inningsInningsBalls[]Cricket: one entry per innings, in order.
atBatsAtBat[]Baseball: every plate appearance in order, oldest first.
dartsDartsSet[]Darts: sets → legs → visits, in order.
PointSetOne set, point by point.5 fields
FieldTypeMeaning
periodPeriodKeyThe set: period1, period2, …
homeScoreinteger | nullHome games (tennis) or points (rally sports) in the set — the last score listed. A tennis match tie-break counts its points (10-8), as the fixture’s period score does.
awayScoreinteger | nullAway games / points in the set.
gamesTennisGame[]Tennis: the games in order. Empty for rally sports.
pointsRallyPoint[]Rally sports: the rallies in order, as the source recorded them — lower-tier coverage can miss a rally (the running score shows the gap). Empty for tennis.
TennisGameOne game of a tennis set.6 fields
FieldTypeMeaning
numberintegerGame number in the set (13 = the tie-break; a match tie-break played instead of a deciding set is game 1 of that set, its points counted to 10).
serverSide | nullWho served. In a tie-break the source names the server of its LAST point, not its first (checked on real tie-breaks 2026-10-19).
winnerSide | nullWho won the game (winner ≠ server = a break of serve). A finished tie-break’s winner is read from its last point (the source’s game winner was wrong on 3 of 8 match tie-breaks checked 2026-10-19).
homeGamesinteger | nullHome games in the set after this game.
awayGamesinteger | nullAway games in the set after this game.
pointsTennisPoint[]The points in order. In a game that is over the last point is the one that won it (`winner` = the game’s winner); in a game still in play, the points so far.
TennisPointOne point of a tennis game.6 fields
FieldTypeMeaning
homeScorestring | nullHome game score after the point: "0", "15", "30", "40", "A" (tie-break: points as numbers). Text because of "A". Null on the point that won a regular game — the game is over, there is no score after it.
awayScorestring | nullAway game score after the point (null as for `homeScore`).
winnerSide | nullWho won the point, read from the score change; null when it cannot be read.
descriptionTennisPointDescription | nullAce or double fault; null for any other point, and on the appended game-winning point (the source does not list it, so an ace that won a game is not marked).
homeTypeTennisPointType | nullWhat the point meant for the home side (won it, now has a break / set point, a tie-break mini-break). Null on the appended game-winning point.
awayTypeTennisPointType | nullThe same for the away side.
RallyPointOne rally of a set (volleyball, table tennis, badminton).3 fields
FieldTypeMeaning
winnerSide | nullWho won the rally.
homeScoreinteger | nullHome points in the set after the rally.
awayScoreinteger | nullAway points in the set after the rally.
InningsBallsOne cricket innings, ball by ball.3 fields
FieldTypeMeaning
inningPeriodKeyinning1, inning2, … — the same keys as ScoreSide.innings.
battingSideSide | nullThe side batting in this innings.
oversOver[]The overs in order.
OverOne over.2 fields
FieldTypeMeaning
numberintegerThe over, counted from 1 (the first over is 1; in cricket notation the 3rd ball of over 46 is "45.3").
ballsBall[]The deliveries in order.
BallOne cricket delivery.13 fields
FieldTypeMeaning
sequenceinteger | nullThe source’s running delivery number in the match (orders deliveries across overs).
ballinteger | nullDelivery number within the over (extras push it past 6).
outcomeBallOutcomeWhat a cricket delivery produced.
runsinteger | nullRuns off the bat.
totalRunsinteger | nullEvery run the delivery added, extras included.
wicketbooleanA wicket fell on this delivery.
dismissalDismissal | nullHow, when a wicket fell.
batterPlayerRef | nullThe batter on strike.
bowlerPlayerRef | nullThe bowler.
fielderPlayerRef | nullThe fielder involved in a dismissal (catch, run-out, stumping).
dismissedBatterPlayerRef | nullThe batter out (not always the striker: run-outs).
scoreRunsinteger | nullThe batting side’s total after the delivery.
scoreWicketsinteger | nullWickets down after the delivery.
AtBatOne baseball plate appearance. The source gives no outcome (hit, out, walk) for it.8 fields
FieldTypeMeaning
inningintegerThe inning (10, 11, … = extra innings).
half"top" | "bottom"top: the away side bats; bottom: the home side bats.
battingSideSideThe side batting (from the half).
batterPlayerRef | nullThe batter.
pitcherPlayerRef | nullThe pitcher.
homeWinProbabilityBeforenumber | nullThe SOURCE’s home win probability before the at-bat, 0–100 (not our model; no bookmaker odds).percent
homeWinProbabilityAfternumber | nullThe source’s home win probability after it, 0–100 (away = 100 − home).percent
atstring (ISO-8601 UTC) | nullWhen it was recorded.
DartsSetOne darts set (a legs match has a single set).5 fields
FieldTypeMeaning
numberintegerSet number (1 for a legs match).
winnerSide | nullWho won the set; null in a legs match and while the set is in play.
homeSetsinteger | nullHome sets won after this set; null in a legs match.
awaySetsinteger | nullAway sets won after this set; null in a legs match.
legsDartsLeg[]The legs in order.
DartsLegOne darts leg, visit by visit.8 fields
FieldTypeMeaning
numberintegerLeg number within the set (a legs match is one set).
startScoreinteger | nullThe score each player starts the leg from (501), as the source lists it.
throwingFirstSide | nullWho threw first in the leg, as the source says (the throw alternates leg by leg). The visit list can start with the other player — seen once on a first leg.
winnerSide | nullWho won the leg; null while it is in play.
homeLegsinteger | nullHome legs won in the set after this leg.
awayLegsinteger | nullAway legs won in the set after this leg.
checkoutinteger | nullThe winning visit’s score (the checkout); null while in play, or when the last visit is not listed.
visitsDartsVisit[]The visits in order.
DartsVisitOne darts visit (up to three darts). The source gives no darts-thrown count.5 fields
FieldTypeMeaning
sideSideWho threw.
scoredinteger | nullPoints the visit scored: the thrower’s remaining score before − after. 0 = nothing scored or a bust (the source does not tell them apart). Null when the drop is not a possible visit (more than 180 — the source skipped a visit).
homeRemainingintegerHome’s remaining score after the visit.
awayRemainingintegerAway’s remaining score after the visit.
checkoutbooleanThe visit won the leg (the thrower reached 0); its `scored` is the checkout.
BasesBaseball: which bases are occupied.3 fields
FieldTypeMeaning
firstbooleanA runner is on first base.
secondbooleanA runner is on second base.
thirdbooleanA runner is on third base.
InningStateBaseball: the game state in play — inning, half, count, outs, runners. The source gives no batter or pitcher with it (the current at-bat’s are in /points `atBats`). Its live feed re-sends the state about once a minute, not after every pitch, so the count can lag the game by up to a minute.7 fields
FieldTypeMeaning
inningintegerThe inning in play (10, 11, … = extra innings).
half"top" | "bottom"top: the away side bats; bottom: the home side bats.
battingSideSideThe side batting (from the half).
ballsinteger | nullBalls in the current count.
strikesinteger | nullStrikes in the current count.
outsinteger | nullOuts in the half-inning (3 = the half just ended).
basesBasesBaseball: which bases are occupied.
TimeoutsBasketball: timeouts left per side, as the source tracks them.3 fields
FieldTypeMeaning
homeRemaininginteger | nullTimeouts the home side has left.
awayRemaininginteger | nullTimeouts the away side has left.
perTeaminteger | nullTimeouts each side has for the game (NBA: 7).
MatchFormatHow many sets / legs / games the match is played over, when the source says.3 fields
FieldTypeMeaning
bestOfSetsinteger | nullDarts: sets in the match format ("best of 5 sets"); 1 = a legs match with no sets.
bestOfLegsinteger | nullDarts: legs per set when `bestOfSets` > 1, else legs in the match ("best of 7 legs").
bestOfGamesinteger | nullEsports: games (maps) in the series ("best of 3").
UmpiresBaseball: the game’s umpire crew.1 field
FieldTypeMeaning
umpiresUmpire[]The crew, home plate first, as the source lists it; empty when it has none, and for other sports.
UmpireOne umpire of a baseball game.3 fields
FieldTypeMeaning
namestringFull name as the source writes it.
positionUmpirePositionWhere the umpire works this game.
experienceYearsinteger | nullYears of experience, as the source counts them.
WeatherBaseball: the weather at the ballpark (the source reports it for baseball only; other sports answer an empty list). Metric units — the source’s figures are converted from °F and mph (14.44 °C = 58 °F, 8.05 km/h = 5 mph). A roofed stadium reports the outside weather too.1 field
FieldTypeMeaning
observationsWeatherObservation[]Observations and forecasts, as the source lists them (observation first); empty when it has none, and for other sports.
WeatherObservationThe weather at a venue at one time.10 fields
FieldTypeMeaning
atstring (ISO-8601 UTC) | nullWhen it was observed (or, for a forecast, the time it was issued).
forecastbooleanTrue for a forecast, false for an observation.
conditionWeatherConditionThe weather, grouped.
descriptionstring | nullThe source’s own words ("Overcast"). Display only.
temperatureCnumber | nullAir temperature in °C.celsius
dewPointCnumber | nullDew point in °C.celsius
humidityPercentnumber | nullRelative humidity, 0–100.percent
cloudCoverPercentnumber | nullCloud cover, 0–100.percent
windSpeedKmhnumber | nullWind speed in km/h.kilometersPerHour
windDirectionstring | nullWhere the wind comes from, as a compass point ("SE", "SSE").
EsportsGamesEsports: an esports fixture game by game — map, winner, score, lineups with K/D/A, bans, objectives.1 field
FieldTypeMeaning
gamesEsportsGame[]The games in order; empty before the first game, and for other sports.
EsportsGameOne game (map) of an esports series.8 fields
FieldTypeMeaning
numberintegerGame number in the series (1, 2, …).
status"notstarted" | "inprogress" | "interrupted" | "willcontinue" | "postponed" | "canceled" | "finished"The game’s status type (finished, inprogress, notstarted, …).
mapstring | nullThe map ("Dust2"); null for titles with one map (League of Legends).
startedAtstring (ISO-8601 UTC) | nullWhen the game started.
durationSecondsinteger | nullGame length.seconds
winnerSide | nullWho won the game; null until it is over.
homeEsportsGameSideOne side of one esports game.
awayEsportsGameSideOne side of one esports game.
EsportsGameSideOne side of one esports game.5 fields
FieldTypeMeaning
scorenumber | nullThe side’s score in the game: rounds (Counter-Strike), kills (League of Legends, Dota 2).
periodsRecord<PeriodKey, number>Counter-Strike: rounds per half (period1, period2) and the overtime rounds together under `overtime`, so they add up to the game score. Empty when the source has none.
playersEsportsGamePlayer[]The side’s players; empty when the source has no lineup.
bansEsportsCharacter[]Characters the side banned, in order; empty when none are listed.
statisticsEsportsTeamStats | nullObjectives; null when the source has none.
EsportsGamePlayerOne player’s line in one esports game. Each title fills its own fields and leaves the others null: League of Legends gold / creepScore / level; Dota 2 creepScore (last hits) / level / denies / netWorth / goldPerMinute / experiencePerMinute; Counter-Strike averageDamagePerRound / headshotKills / kastPercentage / killDeathDifference / firstKillDifference / flashAssists.19 fields
FieldTypeMeaning
playerPlayerRef | nullThe player.
roleEsportsRoleThe player’s role in this game.
characterEsportsCharacter | nullThe champion / hero played.
killsinteger | nullKills.
deathsinteger | nullDeaths.
assistsinteger | nullAssists.
goldinteger | nullLeague of Legends: gold earned.
creepScoreinteger | nullCreeps killed: minions and monsters (League of Legends), last hits (Dota 2).
levelinteger | nullChampion / hero level at the end (League of Legends, Dota 2).
deniesinteger | nullDota 2: own creeps denied (last-hit by the player so the opponent gets no gold).
netWorthinteger | nullDota 2: net worth at the end (gold held + items), in gold.
goldPerMinutenumber | nullDota 2: gold earned per minute of the game.
experiencePerMinutenumber | nullDota 2: experience earned per minute of the game.
averageDamagePerRoundnumber | nullCounter-Strike: average damage dealt per round (ADR), in hit points.
headshotKillsinteger | nullCounter-Strike: kills made with a headshot (a count, at most `kills` — not a percentage).
kastPercentagenumber | nullCounter-Strike: KAST — share of rounds in which the player got a kill or an assist, survived or was traded, 0–100.percent
killDeathDifferenceinteger | nullCounter-Strike: kills − deaths (negative when the player died more).
firstKillDifferenceinteger | nullCounter-Strike: opening kills − opening deaths (the first kill of a round, for or against the player); the players of a map add up to 0.
flashAssistsinteger | nullCounter-Strike: kills by a teammate on an opponent the player had flashed.
EsportsCharacterA champion / hero / agent picked or banned.2 fields
FieldTypeMeaning
namestringName ("Viktor").
slugstring | nullURL slug.
EsportsTeamStatsOne side’s objectives in one game — League of Legends and Dota 2 (kills, towers; Dota 2 barracks and first blood); a field the title has not is null. Counter-Strike has none (null object).10 fields
FieldTypeMeaning
killsinteger | nullKills.
goldinteger | nullGold earned.
towersinteger | nullEnemy towers destroyed (Dota 2: the towers the opponent lost).
inhibitorsinteger | nullInhibitors destroyed.
dragonsinteger | nullDragons (drakes) slain, as the source counts them (`elderDragons` apart).
elderDragonsinteger | nullElder dragons slain.
baronsinteger | nullBarons (Nashor) slain.
heraldTakenboolean | nullWhether the side took the Rift Herald.
barracksinteger | nullDota 2: enemy barracks destroyed (the barracks the opponent lost).
firstBloodboolean | nullDota 2: whether the side drew first blood (the game’s first kill).
ScorecardA cricket fixture’s full scorecard. Other sports: 200 with `{ innings: [], current: null }`, not 404.2 fields
FieldTypeMeaning
inningsScorecardInnings[]The innings in match order; empty before the first ball and for other sports.
currentCricketState | nullThe innings in play: striker, non-striker, bowler, over and ball. Null when no innings is in progress (not started, between innings, finished) and for other sports.
CricketStateWho is at the crease in a live innings — DERIVED by us from the ball-by-ball (the last ball’s batter, swapped on an odd number of runs run and at the end of an over; a wicket brings in the new batter), not the source’s own current-batsman field. Checked against the next ball on 3,000+ deliveries.7 fields
FieldTypeMeaning
inningPeriodKeyThe innings in play (inning1, inning2, …).
battingSideSide | nullThe side batting.
strikerPlayerRef | nullThe batter who will face the next ball. Null when it cannot be told right now (no ball bowled in the innings yet, or the ball-by-ball and the scorecard briefly disagree after a delivery).
nonStrikerPlayerRef | nullThe other batter at the crease. Null when unknown, as for striker.
bowlerPlayerRef | nullThe bowler of the over in play; null between overs — the next bowler is known only once he bowls.
overintegerThe over in play, 1-based like Points (the next over once one is complete).
ballintegerLegal balls bowled in that over so far (0–5; wides and no-balls do not count).
ScorecardInningsOne cricket innings: totals, batting and bowling cards, falls of wicket, partnerships.12 fields
FieldTypeMeaning
inningPeriodKeyinning1, inning2, … in match order (the match’s second innings is inning2, whoever bats) — the same keys as Points.innings.
battingSideSide | nullThe side batting.
battingTeamTeamRef | nullThe team batting.
bowlingTeamTeamRef | nullThe team bowling.
runsinteger | nullTotal: the batters’ runs plus extras.
wicketsinteger | nullWickets down (a batter retired hurt who cannot return counts).
oversnumber | nullOvers faced, cricket notation (19.3 = 19 overs and 3 balls).
extrasExtrasRuns not scored off the bat.
battingScorecardBatter[]The batting card in batting order, did-not-bat lines included.
bowlingScorecardBowler[]The bowling card in bowling order.
fallOfWicketsFallOfWicket[]Falls of wicket in order (a retirement is not a fall).
partnershipsPartnership[]Partnerships in order.
ScorecardBatterOne line of a batting card, in batting order.11 fields
FieldTypeMeaning
batterPlayerRef | nullThe batter.
stateBatterStateWhere a batter’s innings stands.
dismissalDismissal | nullHow the batter was out; null unless `state` is out.
descriptionstring | nullThe source’s wording of the state ("Caught & Bowled", "LBW", "Not out", "Did not bat"). Display only.
bowlerPlayerRef | nullThe bowler of the dismissal (credited with the wicket, except for a run out). The source also names him on a retired-hurt line.
fielderPlayerRef | nullThe fielder in the dismissal: the catcher (the bowler on caught & bowled), the keeper on a stumping, the fielder on a run out.
runsinteger | nullRuns scored.
ballsinteger | nullBalls faced.
foursinteger | nullFours hit.
sixesinteger | nullSixes hit.
strikeRatenumber | nullRuns per 100 balls, 2 decimals; null before the first ball faced.
ScorecardBowlerOne line of a bowling card, in bowling order.8 fields
FieldTypeMeaning
bowlerPlayerRef | nullThe bowler.
oversnumber | nullOvers bowled, cricket notation (3.4 = 3 overs and 4 balls).
maidensinteger | nullMaiden overs.
runsinteger | nullRuns conceded (wides and no-balls included, byes and leg byes not).
wicketsinteger | nullWickets credited (run outs and retirements are not).
widesinteger | nullWides bowled.
noBallsinteger | nullNo-balls bowled.
economynumber | nullRuns per over (6 balls), 2 decimals; null before the first ball.
FallOfWicketOne fall of wicket.4 fields
FieldTypeMeaning
wicketintegerWhich wicket: 1 = the first to fall.
runsinteger | nullThe batting side’s total when it fell.
oversnumber | nullWhen it fell, cricket notation (4.2 = the 2nd ball of the 5th over; the 6th ball of the 5th over is 5, never 4.6).
batterPlayerRef | nullThe batter out.
PartnershipOne batting partnership. The source lists them for limited-overs matches; multi-day matches often have none.4 fields
FieldTypeMeaning
batter1PlayerRef | nullOne batter of the partnership.
batter2PlayerRef | nullThe other batter.
runsinteger | nullRuns added together.
ballsinteger | nullBalls it lasted.
ExtrasRuns not scored off the bat.6 fields
FieldTypeMeaning
totalinteger | nullAll extras: wides + noBalls + byes + legByes + penalties.
widesinteger | nullWides.
noBallsinteger | nullNo-balls.
byesinteger | nullByes.
legByesinteger | nullLeg byes.
penaltiesinteger | nullPenalty runs.
StandingsGroupOne table of a season (a conference, a division, a group, or the overall table).6 fields
FieldTypeMeaning
namestring | nullTable name, e.g. "Eastern Conference", "Group A", "NHL".
primarybooleanTrue for the table /standings returns by default — exactly one per season: the overall table when there is one, else the largest (the first group of a group stage).
overallbooleanTrue when the table holds every team of the season (a league table); false for a conference, a division or one group of a group stage.
tieBreakRulestring | nullThe source’s explanation of the tie-break order.
scoreUnitStandingsScoreUnit | nullWhat scoresFor / scoresAgainst count in this table; null when the table has no score columns (cricket).
rowsStandingsRow[]
StandingsRowOne row of a standings table. Columns that do not apply to the sport are null.17 fields
FieldTypeMeaning
positioninteger | nullRank in this table, 1..n. Where the source’s positions are not 1..n (its NBA tables early in a season) the rows are ranked by us: win share, wins, fewer losses — or points, score difference, scores for.
teamTeamRef | nullThe team.
playedinteger | nullGames played.
winsinteger | nullWins (all wins, overtime ones included).
drawsinteger | nullDraws. Null in sports whose tables cannot hold a draw (basketball, ice hockey, baseball, volleyball, esports, water polo, …) — "no draws column", not "none yet"; a number in football, futsal, handball, rugby, American football and cricket.
lossesinteger | nullLosses (all, overtime losses included).
overtimeWinsinteger | nullIce hockey: overtime wins as the source counts them — overtime only where it also counts shoot-outs apart (the KHL, the NHL’s league table), overtime + shoot-out otherwise; null where it lists none.
overtimeLossesinteger | nullIce hockey: overtime + shoot-out losses (the NHL’s OTL, a point each) in every NHL table — league, conference, division and computed home / away; elsewhere the source’s overtime-loss count (the KHL lists overtime only).
scoresFornumber | nullScored, in the table’s `scoreUnit` (goals, points, runs, sets, …).
scoresAgainstnumber | nullConceded, in the table’s `scoreUnit`.
scoreDifferencenumber | nullscoresFor − scoresAgainst.
pointsnumber | nullTable points; null where the table ranks by win percentage (NBA).
winPercentagenumber | nullBasketball / baseball / American football: share of games won, 0–1, as the league computes it (the NFL counts a tie as half a win).ratio
gamesBehindnumber | nullBasketball / baseball: games behind the table’s leader (best wins − losses): ((leader wins − wins) + (losses − leader losses)) / 2. The source prints 0 on every row of its EuroLeague tables; computed NBA home / away tables compute it per table.
streakinteger | nullCurrent run of results in this competition: +3 = three straight wins, −2 = two straight losses. Set where the source’s table carries it (NBA, EuroLeague, Liga ACB, …); null elsewhere and on home / away tables.
zonestring | nullThe qualification / relegation zone the row is in, e.g. "Champions League", "Playoffs", "Relegation".
formFormResult[] | nullThe team’s last results in this competition season (up to five), oldest first, most recent last — on a home / away table its last home / away results. Null when the source has no form for the table (computed tables, older stored rows, a failed read).
CupTreeA knockout bracket of a league season (cup knockout stage, playoffs, a tennis draw).3 fields
FieldTypeMeaning
namestring | nullThe bracket’s name, e.g. "CONMEBOL Libertadores 2026, Knockout stage", "NBA 25/26, Playoffs".
currentRoundinteger | nullThe `order` of the round in play (or next to be played); null when the source gives none, or when the tree is over (the source then names a round past the last one).
roundsCupRound[]First round first.
CupRoundA round of a knockout bracket.3 fields
FieldTypeMeaning
orderintegerRound order in the bracket, first round 1.
namestring | nullRound name as the source writes it ("1/8", "Quarterfinals", "Round of 32", "Conference finals").
blocksCupBlock[]The round’s ties, top to bottom.
CupBlockOne tie of a knockout round (a single match, two legs or a series).10 fields
FieldTypeMeaning
orderintegerThe tie’s slot in its round, top to bottom, as the source draws the bracket: ascending, but not always 1..n — a round with byes or teams entering later leaves gaps (UCL qualifiers 15, 16, 19, …).
homeCupParticipant | nullThe first-listed participant (home in the first leg / higher seed); null when the slot is empty.
awayCupParticipant | nullThe second-listed participant; null when the slot is empty (a bye).
finishedbooleanWhether the tie is decided (a participant is marked winner, or the source says it is over).
inProgressbooleanWhether one of its fixtures is being played now.
startTimestring (ISO-8601 UTC) | nullKick-off of the tie’s first fixture (UTC); null when not scheduled.
matchCountinteger | nullHow many fixtures the tie is played over (2 legs, best-of-7 → 7, 1); 0 for a bye.
fixtureIdsinteger[]Our ids of the tie’s fixtures (/v2/fixtures/{id}), as the source lists them.
automaticProgressionbooleanThe source’s flag: the participant goes through without a fixture.
venueVenue | nullThe tie’s venue when the source gives one (a single-match final, the first leg’s ground).
CupParticipantOne side of a knockout tie.6 fields
FieldTypeMeaning
teamTeamRef | nullThe team (or competitor). Null while the slot is a placeholder (“winner of quarter-final 1”) — see `fromBlock`.
seedstring | nullSeed or entry label as the source writes it ("1", "Q" qualifier, "WC" wild card); null when none.
winnerbooleanWhether this participant won the tie / went through.
scoreinteger | nullIts score in the tie, the source’s figure: aggregate goals over the legs (football), games won in a series (basketball, ice hockey), sets in a single match (tennis). Null before the tie is played.
penaltiesinteger | nullFootball: its penalty shoot-out goals when the tie went to one; null otherwise.
fromBlockinteger | nullThe `order` of the block in the PREVIOUS round this participant came from; null in the first round or when neither the source links it nor the team played in the previous round (a new entrant).
SearchResultOne search hit, in the source’s relevance order. Tennis and other individual-sport competitors are `team` results; managers, referees, racing series and races since 2026-10-24; fixtures and venues, and a player’s `team`, since 2026-11-04.9 fields
FieldTypeMeaning
typeSearchTypeWhat a search hit is — and so which endpoint its id belongs to.
idintegerOur id of the hit — use it with the endpoint its `type` names (/v2/teams, /v2/players, /v2/leagues, /v2/managers, /v2/referees, /v2/series, /v2/races, /v2/fixtures). A venue has no endpoint: its id is the one Fixture.venue and TeamDetail.venue carry.
namestringDisplay name; a fixture’s is the source’s "Home - Away".
slugstring | null
sportstring | nullSport slug; null for venues (a venue is not tied to one sport).
imagestring (URL) | nullLogo (team, league) or photo (player, manager, referee) on our CDN; null when the entity has no image (or it is not uploaded yet), and always for series, races, fixtures and venues.
teamTeamRef | nullA player’s current team, as the source lists it (since 2026-11-04); null for every other type and for a player without one (free agent, retired).
fixtureSearchFixture | nullThe match facts of a `fixture` hit (since 2026-11-04); null for every other type.
venueVenue | nullThe venue of a `venue` hit — city, country, capacity (since 2026-11-04); null for every other type.
SearchFixtureWhat a `fixture` search hit says about the match (since 2026-11-04). Status, score and the rest: /v2/fixtures/{id}.5 fields
FieldTypeMeaning
homeTeamRef | nullHome team; null while the side is not decided yet.
awayTeamRef | nullAway team; null while the side is not decided yet.
leagueLeagueRef | nullThe competition; null when the source gives none.
startTimestring (ISO-8601 UTC) | nullScheduled start (UTC); null when the source gives none.
statusStatusType | nullCoarse match state at the time of the search (the source gives no finer state here); null when the source gives none.
TopPlayersCategoryA season leaderboard.3 fields
FieldTypeMeaning
categorystringThe leaderboard, e.g. averageRating, goals, expectedGoals (football), points, rebounds (basketball), points, savePercentage (ice hockey). The same as `statistic` except football `mostConceded` / `leastConceded` (goalkeepers by goals conceded, most / least first).
statisticstringThe key in each entry’s `statistics` the leaderboard ranks (its value is the entry’s `value`, a season total). The order is the source’s: a counting statistic is usually ranked PER APPEARANCE (value ÷ appearances — NBA points 104 in 3 games above 115 in 4), a rating or a share by its value; read the order, not `value`, as the rank.
playersTopPlayerEntry[]
TopPlayerEntryOne ranked player.6 fields
FieldTypeMeaning
playerPlayerRef | null
teamTeamRef | null
valuenumber | nullThe ranked statistic for the player: `statistics[statistic]`.
appearancesinteger | nullAppearances.
playedEnoughboolean | nullEnough minutes / games to qualify for the ranking.
statisticsRecord<string, number>Every numeric statistic the entry was ranked with — v2 keys, the same as the per-match statistic for the same quantity (season rules: `…PerMatch` = total ÷ matches, `…Per90` per 90 minutes, `average…` a season mean, `…Percentage` 0–100, `<key>Against` the opponents’ value, units in the name — `…Seconds`, `…Kmh`).
TopTeamsCategoryA season team leaderboard.3 fields
FieldTypeMeaning
categorystringThe leaderboard, e.g. averageRating, goalsScored, cleanSheets (football).
statisticstringThe key in each entry’s `statistics` the leaderboard ranks (its value is the entry’s `value`, a season total). The order is the source’s: a counting statistic is usually ranked PER APPEARANCE (value ÷ appearances — NBA points 104 in 3 games above 115 in 4), a rating or a share by its value; read the order, not `value`, as the rank.
teamsTopTeamEntry[]The ranked teams, best first.
TopTeamEntryOne ranked team.4 fields
FieldTypeMeaning
teamTeamRef | null
valuenumber | nullThe ranked statistic for the team: `statistics[statistic]`.
matchesinteger | nullMatches played.
statisticsRecord<string, number>Every numeric statistic the entry was ranked with — v2 keys, the same as the per-match statistic for the same quantity (season rules: `…PerMatch` = total ÷ matches, `…Per90` per 90 minutes, `average…` a season mean, `…Percentage` 0–100, `<key>Against` the opponents’ value, units in the name — `…Seconds`, `…Kmh`).
TeamSeasonStatisticsA team’s statistics for one league, season and type.1 field
FieldTypeMeaning
statisticsRecord<string, number>Season totals and averages — v2 keys, the same as the per-match statistic for the same quantity (season rules: `…PerMatch` = total ÷ matches, `…Per90` per 90 minutes, `average…` a season mean, `…Percentage` 0–100, `<key>Against` the opponents’ value, units in the name — `…Seconds`, `…Kmh`) (football: matches, goalsScored, goalsConceded, totalShots, averageBallPossession, averageRating, cleanSheets, …). Ratings rounded to 2 decimals.
SeasonInfoSeason facts: totals so far and the newcomers.5 fields
FieldTypeMeaning
statisticsRecord<string, number>Season totals as the source names them (football: goals, homeTeamWins, awayTeamWins, draws, yellowCards, redCards, numberOfCompetitors; other sports may only have numberOfCompetitors).
newcomersUpperDivisionTeamRef[]Teams new this season, relegated from the division above.
newcomersLowerDivisionTeamRef[]Teams new this season, promoted from the division below.
newcomersOtherTeamRef[]Other new teams.
hostCountriesCountry[]The host countries of a tournament held in named countries (World Cup 2026: Canada, Mexico, USA; EURO 2020: eleven), in the source’s order. Usually empty for a league season, though the source names the country for some (Bundesliga: Germany; MLS, NFL: USA). `code` is null for a name the source’s country list does not carry.
PlayerLeagueSeasonsA league the player has statistics in, with the seasons.2 fields
FieldTypeMeaning
leagueLeagueRefA league / competition (also the shape of /v2/leagues/{id} and of every league list).
seasons({ id: integer; name: string | null; year: string | null; startYear: integer | null; endYear: integer | null; types: SeasonStatsType[] })[]
PlayerStatisticsA player’s statistics for one league, season and type.2 fields
FieldTypeMeaning
teamTeamRef | null
statisticsRecord<string, number>Season totals and averages — v2 keys, the same as the per-match statistic for the same quantity (season rules: `…PerMatch` = total ÷ matches, `…Per90` per 90 minutes, `average…` a season mean, `…Percentage` 0–100, `<key>Against` the opponents’ value, units in the name — `…Seconds`, `…Kmh`) (football: appearances, minutesPlayed, goals, averageRating, expectedGoals, …). Ratings rounded to 2 decimals.
PlayerFixtureA Fixture from a player’s fixture list, with the player’s own part in it (`playerMatch`).37 fields
FieldTypeMeaning
idintegerOur fixture id.
sportstringSport slug (as in /v2/sports).
statusStatusMatch status.
startTimestring (ISO-8601 UTC) | nullStart time: the scheduled start, replaced by the recorded kick-off once the source records it (the live feed sends it a few minutes after the start). The same value on every endpoint and in WebSocket deltas.
leagueLeagueRef | nullThe competition. null when the source files the fixture under a competition it has no league for — seen on minor regional football (South Africa’s National Second Division, 2026-10-23); season and round are then null too.
seasonSeason | nullThe season.
roundRound | nullThe round, when the competition has rounds.
homeTeamRef | nullHome side; null while the side is not decided yet (the source’s placeholder such as "WQF1", winner of quarter-final 1).
awayTeamRef | nullAway side; null while the side is not decided yet (the source’s placeholder such as "WQF1").
homeScoreScoreSideOne side’s score.
awayScoreScoreSideOne side’s score.
winnerWinner | nullNull until status.type is finished, and for a fight ruled a no contest (`fightResult.method` noContest). A match finished on penalties: the shoot-out winner, whatever the source says (on a second leg the source names the side that won the 90 minutes). Named from the score when the source leaves it out, or calls a match draw in a sport that cannot draw (regular time or overtime finishes; not cricket).
venueVenue | nullVenue, when known (often null in lower tiers). Filled on /fixtures/{id} and, when the source lists it, in date lists; the source’s round, team, player and live lists carry no venue, so null there means "not included", not "unknown" — read /fixtures/{id} for it.
clockClock | nullMatch clock; null when the source has none for the fixture and once it is over.
firstToServeSide | nullDeprecated (2026-10-23): the same value as `serving`. The source updates this field every game / leg, so it is the side serving (throwing) NOW, not who served first — read `serving`.
servingSide | nullTennis / darts / other serve sports: the side serving (throwing) now, as the source updates it every game / leg. Null when the source does not say.
homeSeedstring | nullSeeded competitions — tennis draws, playoff seeding (basketball, …): the home side’s seed ("1", "12") or entry status ("WC" wild card, "Q" qualifier, "LL" lucky loser, "PR" protected ranking, …), as the draw prints it. Null when unseeded.
awaySeedstring | nullThe away side’s seed or entry status, like homeSeed.
notestring | nullCricket: the source’s match note — the result line once finished ("Pakistan beat Sri Lanka by 37 runs"). Display only.
battingSideSide | nullCricket: the side batting now. Null when no innings is in progress and for other sports.
fightResultFightResult | nullMMA / boxing: method, round and time of the finish. Null until status.type is finished, and when the source has no method.
fightDisciplineFightDiscipline | nullCombat sports (sport `mma`, which also carries boxing, kickboxing and Muay Thai cards): the discipline of this fight, when the source tags it. The source tags only some cards (ONE, Queensbury, some OKTAGON fights; not UFC or PFL), so null does not mean MMA.
refereeReferee | nullThe referee, when the source names one (football and some other sports; cricket: the match referee). Filled on /fixtures/{id}; lists carry null (not included).
homeManagerManagerRef | nullThe home side’s manager / head coach for this fixture, when the source names one. Filled on /fixtures/{id}; lists carry null.
awayManagerManagerRef | nullThe away side’s manager / head coach, like homeManager.
surfaceSurface | nullTennis: the court surface. Filled on /fixtures/{id} and live lists; null for other sports.
tossCricketToss | nullCricket: the toss, once made. Filled on /fixtures/{id}; null for other sports.
umpiresstring[] | nullCricket: the on-field umpires as the source names them (often with a country code: "Asif Yaqoob (PAK)"); null when not listed and for other sports.
tvUmpirestring | nullCricket: the TV (third) umpire, like umpires.
previousLegFixtureIdinteger | nullTwo-legged ties and playoff series: our id of the previous leg / game of the tie, when the source links it. Read /fixtures/{id} of it for the first-leg score.
aggregateWinnerSide | nullSecond leg of a two-legged tie: the side that went through, once finished — the source’s verdict, else read from `aggregated` (higher wins) or, level on aggregate, the shoot-out. Null otherwise, and on a level aggregate the source does not settle (an away-goals rule). `winner` is this match’s winner: on a second leg decided on penalties both name the shoot-out winner; otherwise the two can differ (a side can win the second leg and go out). Filled on /fixtures/{id}; lists and live snapshots may carry null (not included).
fightCardFightCard | nullMMA / boxing: card section, order and weight class of the bout, when the source lists them.
attendanceinteger | nullSpectators, when the source reports it (seen on NBA and MLB games, often only once the game is under way). Filled on /fixtures/{id}; lists carry null (not included).
matchFormatMatchFormat | nullDarts and esports: the match format (best of N sets / legs / games), when the source gives it; null for other sports.
inningStateInningState | nullBaseball: the game state in play (inning, half, balls, strikes, outs, runners on base). Null unless the game is in progress (or interrupted), and for other sports. Live: in WebSocket deltas.
timeoutsTimeouts | nullBasketball: timeouts left per side. Null unless the game is in progress (or interrupted), and when the source does not track them. Live: in WebSocket deltas.
playerMatchPlayerMatch | nullThe player’s part in this fixture; null when the source lists nothing for it.
PlayerMatchThe player’s own part in one fixture.5 fields
FieldTypeMeaning
sideSide | nullThe side the player played for.
onBenchbooleanNamed on the bench and did not come on.
ratingnumber | nullMatch rating (e.g. 7.4), rounded to 2 decimals; null when the player has none (did not play, not rated, not played yet).
statisticsRecord<string, number>Per-match statistics listed with the player’s fixtures, with the lineup statistics’ keys — football minutesPlayed; basketball points, rebounds, assists, fieldGoalsMade, fieldGoalsAttempted, secondsPlayed, plusMinus …; ice hockey goals, assists, shotsOnGoal, secondsPlayed …. Every …Percentage is 0–100. Empty when there are none.
incidentsRecord<string, number>Counts from the match’s incidents: goals (penalties included), penaltyGoals (of those, from the spot), assists, yellowCards, redCards …. Empty when there are none.
RankingTypeInfoOne ranking table of GET /v2/rankings; pass `type` to GET /v2/rankings/{type}.5 fields
FieldTypeMeaning
typeRankingTypeSlugA ranking table we serve — the list with names is GET /v2/rankings.
namestringDisplay name, e.g. "ATP singles ranking".
sportstringSport slug (as in /v2/sports).
genderTeamGender | nullMen’s or women’s ranking; null when it ranks countries.
entryRankingEntryWhat one row of a ranking stands for.
RankingA ranking table (GET /v2/rankings/{type}).3 fields
FieldTypeMeaning
typeRankingTypeSlugA ranking table we serve — the list with names is GET /v2/rankings.
updatedAtstring (ISO-8601 UTC) | nullWhen the source last updated the table.
rowsRankingRow[]Every row, best first.
RankingRowOne row of a ranking table.9 fields
FieldTypeMeaning
positionintegerPlace in the ranking, 1 = first. MMA division rankings list the champion first with position 0.
previousPositioninteger | nullPlace in the previous edition of the ranking (0 = the champion, MMA); null when the source does not give one.
pointsnumber | nullRanking points (coefficients for UEFA); null for rankings without points (MMA).
previousPointsnumber | nullPoints in the previous edition; null when the source does not give them.
bestPositioninteger | nullCareer-best place (tennis); null otherwise.
tournamentsPlayedinteger | nullTournaments counted (ATP); null otherwise.
teamTeamRef | nullThe ranked team or competitor (tennis players and fighters are team objects); null in a ranking of countries.
leagueLeagueRef | nullA ranking of countries (UEFA): the country’s top league; null otherwise.
countryCountry | nullThe country of the team, competitor or (UEFA countries) the ranked country; null when unknown.
CategoryA grouping of leagues within a sport — the top level of the league directory.5 fields
FieldTypeMeaning
idintegerOur category id — pass it as `category` to GET /v2/leagues.
namestringCategory name: a country ("England"), a region ("International", "World"), a tour ("ATP") or a game (esports).
slugstring | nullURL slug.
sportstring | nullSport slug (as in /v2/sports).
countryCountry | nullThe category’s country, when it is one; null for regions, tours and games. Its `code` is what GET /v2/leagues takes as `country`.
PlayerStatisticsRowOne player in a league season’s player-statistics explorer.3 fields
FieldTypeMeaning
playerPlayerRefA player as referenced from any other object.
teamTeamRef | nullThe team the player played for in this league season (the latest one after a mid-season move).
statisticsRecord<string, number>Season totals of the requested group — v2 season-statistic keys (the same as /v2/players/{id}/statistics: averageRating, goals, expectedGoals, shotsOnGoal, cleanSheets, …; `…Percentage` 0–100). A key the source leaves out for a player is absent; averageRating is absent for a player without a rating (the source sends 0).
SeriesRefA racing series — the race sports’ counterpart of a league (motorsport championships; in cycling the whole men’s or women’s road calendar). Its seasons hold the races; /v2/series/{id}/standings ranks the competitors over a season.4 fields
FieldTypeMeaning
idintegerOur series id.
namestringSeries name ("Formula 1", "MotoGP", "NASCAR Cup Series"). Cycling: the source groups every road race of one gender under one series ("Cycling Men", "Cycling Women").
slugstring | nullURL slug.
sportstring | nullSport slug (as in /v2/sports).
CircuitWhere a motorsport race is held.4 fields
FieldTypeMeaning
namestring | nullCircuit name ("Circuit of the Americas").
citystring | nullCity.
countryCountry | nullCountry.
lengthMetersinteger | nullLap length in metres.meters
RaceA race: a motorsport race weekend (practice, qualifying, sprint, race) or a cycling race (one-day race or stage race).17 fields
FieldTypeMeaning
idintegerOur race id.
namestringRace name ("USA GP", "Tour de France", "Gran Piemonte").
slugstring | nullURL slug.
sportstring | nullSport slug (as in /v2/sports).
seriesSeriesRef | nullThe series the race belongs to.
seasonSeason | nullThe series season ("Formula 1 2026"); pass its id to the /v2/series/{id}/… endpoints.
roundinteger | nullRound of the championship, as the source numbers it (canceled races can leave the numbering uneven).
statusStatusType | nullRace state: notstarted until its first session, inprogress, finished once every session is over, canceled, postponed.
startDatestring (YYYY-MM-DD) | nullFirst day of the race (UTC). Sessions carry exact times. On /v2/races and /v2/races/{id} it is never later than the first session’s day; a season’s race list (/v2/series/{id}/races) has the source’s own days.
endDatestring (YYYY-MM-DD) | nullLast day of the race (UTC); on /v2/races and /v2/races/{id} never earlier than the last session’s day.
countryCountry | nullHost country.
circuitCircuit | nullThe circuit (motorsport; null in cycling).
lapsinteger | nullScheduled laps of the main race (motorsport).
distanceMetersinteger | nullDistance of the main race in metres (motorsport).meters
categorystring | nullThe source’s category label of the race (cycling, e.g. "World Tour 1 Grand Tour").
winnerTeamRef | nullWinner of the race (motorsport: of the main race; a cycling stage race: of the general classification), only once finished. A driver / rider is a TeamRef (kind individual), like a tennis player.
sessionsRaceSession[]The sessions in start order (oldest first).
RaceSnapshotrace:{id} snapshot: the race with its sessions and the current session’s results.3 fields
FieldTypeMeaning
raceRaceA race: a motorsport race weekend (practice, qualifying, sprint, race) or a cycling race (one-day race or stage race).
sessioninteger | nullThe session the results are of: the one in progress, else the last one that finished; null before any session ran.
resultsRaceResult[]That session’s classification (as /v2/races/{id}/results?session=); [] when there is none yet.
RaceSummaryA race as listed in a season (no sessions; /v2/races/{id} has them).16 fields
FieldTypeMeaning
idintegerOur race id.
namestringRace name ("USA GP", "Tour de France", "Gran Piemonte").
slugstring | nullURL slug.
sportstring | nullSport slug (as in /v2/sports).
seriesSeriesRef | nullThe series the race belongs to.
seasonSeason | nullThe series season ("Formula 1 2026"); pass its id to the /v2/series/{id}/… endpoints.
roundinteger | nullRound of the championship, as the source numbers it (canceled races can leave the numbering uneven).
statusStatusType | nullRace state: notstarted until its first session, inprogress, finished once every session is over, canceled, postponed.
startDatestring (YYYY-MM-DD) | nullFirst day of the race (UTC). Sessions carry exact times. On /v2/races and /v2/races/{id} it is never later than the first session’s day; a season’s race list (/v2/series/{id}/races) has the source’s own days.
endDatestring (YYYY-MM-DD) | nullLast day of the race (UTC); on /v2/races and /v2/races/{id} never earlier than the last session’s day.
countryCountry | nullHost country.
circuitCircuit | nullThe circuit (motorsport; null in cycling).
lapsinteger | nullScheduled laps of the main race (motorsport).
distanceMetersinteger | nullDistance of the main race in metres (motorsport).meters
categorystring | nullThe source’s category label of the race (cycling, e.g. "World Tour 1 Grand Tour").
winnerTeamRef | nullWinner of the race (motorsport: of the main race; a cycling stage race: of the general classification), only once finished. A driver / rider is a TeamRef (kind individual), like a tennis player.
RaceSessionOne timed part of a race: a practice, qualifying, sprint or the race in motorsport; a stage of a cycling stage race (a one-day race has one session, the race).19 fields
FieldTypeMeaning
idintegerOur session id (pass it to /v2/races/{id}/results?session=).
namestringSession name as the source gives it ("Practice 1", "Qualification", "Grand Prix", "Stage 5").
typeRaceSessionTypeWhat the session is.
statusStatusType | nullSession state (the fixture status types; null when the source gives none).
startTimestring (ISO-8601 UTC) | nullScheduled start (UTC).
lapsinteger | nullScheduled laps (motorsport races).
lapsCompletedinteger | nullLaps run (a shortened race has fewer than `laps`).
distanceMetersinteger | nullRace distance in metres (a cycling stage’s length).meters
departureCitystring | nullStart town (cycling).
arrivalCitystring | nullFinish town (cycling).
profileStageProfile | nullTerrain (cycling).
weatherRaceWeather | nullWeather (once the session has run).
trackConditionTrackCondition | nullDry or wet.
airTemperatureCnumber | nullAir temperature in °C.celsius
trackTemperatureCnumber | nullTrack temperature in °C (motorsport).celsius
humidityPercentnumber | nullRelative humidity, 0–100.percent
safetyCarboolean | nullTrue when a safety car came out (null: not reported).
winnerTeamRef | nullThe session’s winner (fastest in practice / qualifying), only once the session is finished.
partsRaceSessionPart[]The parts of a knock-out qualifying or sprint qualifying session (Q1, Q2…), in run order; empty for every other session and where the source lists none.
RaceSessionPartOne part of a knock-out qualifying session (MotoGP Q1 / Q2, Formula 1 Q1–Q3), in run order.4 fields
FieldTypeMeaning
idintegerOur id of the part (pass it to /v2/races/{id}/results?session= for that part alone).
namestringThe part’s label in the series’ own terms: "Q1", "Q2", "Q3" (qualifying), "SQ1"… (sprint qualifying), numbered in run order.
statusStatusType | nullPart state (null when the source gives none — Formula 1 parts).
startTimestring (ISO-8601 UTC) | nullScheduled start (UTC; null when the source gives none).
RaceResultOne competitor’s line in a session’s or a race’s classification.22 fields
FieldTypeMeaning
positioninteger | nullPlace; null for a competitor out of the classification (see `state`).
competitorTeamRef | nullThe driver / rider (a TeamRef, kind individual).
teamTeamRef | nullThe competitor’s team (constructor, cycling team).
stateRaceResultStateClassified, or why not.
outReasonstring | nullWhy the competitor is out, as the source words it ("Retired"); null when classified.
carNumberinteger | nullCar / bike number (motorsport).
gridPositioninteger | nullStarting position (races; null from the pit lane or unknown).
startedFromPitLaneboolean | nullTrue when the competitor started from the pit lane.
lapsinteger | nullLaps as the source counts them.
lapsBehindinteger | nullLaps behind the winner (lapped cars); null when on the lead lap.
lapsLedinteger | nullLaps led.
pitStopsinteger | nullPit stops.
timeMsinteger | nullTotal time in ms (race / stage), or the best lap (practice, qualifying). Null for the lapped and the out, and when the source recorded no time for a classified rider.milliseconds
gapMsinteger | nullBehind the winner in ms; null for the winner, the lapped and the out, and when the source recorded no time for a classified rider.milliseconds
intervalMsinteger | nullBehind the competitor one place ahead in ms; null for the winner, the lapped and the out, and when the source recorded no time for a classified rider.milliseconds
bestLapMsinteger | nullThe competitor’s fastest lap in ms (races).milliseconds
bestLapNumberinteger | nullLap on which it was set.
fastestLapboolean | nullTrue for the fastest lap of the session.
pointsnumber | nullChampionship points scored here.
tyreStintsTyreStint[]Tyre stints in order (Formula 1 races; empty otherwise).
cyclingCyclingStanding | nullSide classifications (a cycling stage race’s overall result; null otherwise).
partstring | nullThe qualifying part this line comes from ("Q2", "Q1") when the classification is assembled from the parts (MotoGP qualifying: the source has no table of its own) — timeMs / gapMs / intervalMs are then that part’s; null otherwise.
TyreStintOne stint on one set of tyres.2 fields
FieldTypeMeaning
compoundTyreCompoundThe compound.
lapsinteger | nullLaps on this set.
CyclingStandingA rider’s side classifications in a stage race’s overall result.7 fields
FieldTypeMeaning
jerseyCyclingJersey | nullThe leader’s jersey this rider holds, if any.
pointsPositioninteger | nullPlace in the points classification.
pointsnumber | nullPoints-classification points.
mountainsPositioninteger | nullPlace in the mountains classification.
mountainsPointsnumber | nullMountains-classification points.
youngRiderPositioninteger | nullPlace in the young-rider classification.
youngRiderTimeMsinteger | nullTotal time counted for the young-rider classification, in ms.milliseconds
SeriesStandingsRowA row of a series’ championship table.10 fields
FieldTypeMeaning
positioninteger | nullChampionship place.
competitorTeamRef | nullWho is ranked: the driver / rider (`type=competitors`) or the team (`type=teams`).
teamTeamRef | nullThe driver’s / rider’s team; null in the teams’ table.
pointsnumber | nullChampionship points.
winsinteger | nullRace wins.
podiumsinteger | nullPodium finishes.
polePositionsinteger | nullPole positions.
fastestLapsinteger | nullFastest laps.
racesStartedinteger | nullRaces started.
racesWithPointsinteger | nullRaces that scored points.
WinProbabilityOur own in-play win-probability model for a football fixture (documented in the docs): pre-match expected goals (v2: from both teams’ recent matches in all competitions, their domestic tables and league-strength coefficients, blended with the competition’s table and form), then updated by time left, score, red cards and momentum. An analysis indicator — not betting advice; no bookmaker odds are used.7 fields
FieldTypeMeaning
fixtureIdintegerOur fixture id.
modelWinProbabilityModelModel version (the docs describe each). A new version is announced in the changelog.
updatedAtstring (ISO-8601 UTC)When this estimate was computed.
prematchWinProbabilityPrematchThe pre-match estimate and the inputs it was built from. Fixed once computed (it does not move when the table is updated after the match).
currentWinProbabilityStateThe latest estimate: the pre-match one before kick-off, certainty (1 / 0 / 0) once finished.
seriesWinProbabilityPoint[]The curve, oldest first (by `at`): a point at kick-off, one per match minute, and one right after every goal, red card, period start / end and big missed chance. Empty before kick-off. History: a point is stored once it is two minutes old (or the match is over) and is not changed after, so the curve shows what the model said at the time; kept for good. With `?since=` only the points after that instant.
inputs{ shotmap: boolean; momentum: boolean; events: boolean }Which live inputs the in-play estimate used.
WinProbabilityPrematchThe pre-match estimate and the inputs it was built from. Fixed once computed (it does not move when the table is updated after the match).9 fields
FieldTypeMeaning
homenumberPre-match probability of a home win, 0–1.ratio
drawnumberPre-match probability of a draw, 0–1.ratio
awaynumberPre-match probability of an away win, 0–1.ratio
homeExpectedGoalsnumberThe model’s expected goals for the home side over the whole match (λ home).
awayExpectedGoalsnumberThe model’s expected goals for the away side over the whole match (λ away).
standingsbooleanWhether the league table was available (attack / defence ratings); false = league or global averages were used.
formbooleanWhether the pre-match form guide was available.
allCompetitionsboolean | nullModel v2: whether the teams’ recent matches in all competitions were available (strength from up to their last 20 results, weighted by age and by the opponent’s strength). Null for model v1.
domesticTablesboolean | nullModel v2: whether the teams’ domestic league tables were available (for a cup or European match: their own leagues’ tables, put on one scale by our league-strength coefficients). Null for model v1.
WinProbabilityStateOne estimate of the result: home / draw / away probabilities at a moment of the match.8 fields
FieldTypeMeaning
homenumberProbability that the home side ends the match ahead on the scoreboard, 0–1.ratio
drawnumberProbability that the match ends level on the scoreboard (a penalty shoot-out is not counted), 0–1. home + draw + away = 1.ratio
awaynumberProbability that the away side ends the match ahead on the scoreboard, 0–1.ratio
minuteinteger | nullMatch minute of the estimate, as incidents count it (a goal in the 23rd minute is minute 23; 45+2 is minute 45, addedMinute 2). Null before kick-off.minutes
addedMinuteinteger | nullMinutes into added time, else null.minutes
homeScoreinteger | nullHome goals at that moment. Null before kick-off.
awayScoreinteger | nullAway goals at that moment. Null before kick-off.
atstring (ISO-8601 UTC) | nullUTC instant of the estimate. A curve point: the moment of the match it describes (the end of that minute, the goal, the whistle) — measured from the match clock while it runs, else estimated from kick-off (15 min half-time). `current`: when it was computed (in play / before kick-off) or the end of the match (finished). Non-decreasing along the series. Null only for points stored before 2026-10-22 whose kick-off time is unknown.
WinProbabilityPointA point of the win-probability curve: an estimate and why it was emitted.9 fields
FieldTypeMeaning
homenumberProbability that the home side ends the match ahead on the scoreboard, 0–1.ratio
drawnumberProbability that the match ends level on the scoreboard (a penalty shoot-out is not counted), 0–1. home + draw + away = 1.ratio
awaynumberProbability that the away side ends the match ahead on the scoreboard, 0–1.ratio
minuteinteger | nullMatch minute of the estimate, as incidents count it (a goal in the 23rd minute is minute 23; 45+2 is minute 45, addedMinute 2). Null before kick-off.minutes
addedMinuteinteger | nullMinutes into added time, else null.minutes
homeScoreinteger | nullHome goals at that moment. Null before kick-off.
awayScoreinteger | nullAway goals at that moment. Null before kick-off.
atstring (ISO-8601 UTC) | nullUTC instant of the estimate. A curve point: the moment of the match it describes (the end of that minute, the goal, the whistle) — measured from the match clock while it runs, else estimated from kick-off (15 min half-time). `current`: when it was computed (in play / before kick-off) or the end of the match (finished). Non-decreasing along the series. Null only for points stored before 2026-10-22 whose kick-off time is unknown.
reasonWinProbabilityReasonWhy a win-probability point was emitted.
CommentaryAI match commentary for a football fixture, written by SportsAPI AI from our own data only: one short entry per goal, red card, missed penalty, VAR decision, period start / end, big chance and sustained momentum swing, plus half-time and full-time summaries. Written once and shared by every client.2 fields
FieldTypeMeaning
fixtureIdintegerOur fixture id.
entriesCommentaryEntry[]Oldest first (by `seq`), like every timeline list. Empty until something has been written — commentary is generated only while someone follows the match (this endpoint or the fixture:{id} channel; a featured match on sportsapi.app always has it), so a match nobody watched has none.
CommentaryEntryOne AI commentary entry.7 fields
FieldTypeMeaning
seqintegerPosition in the fixture’s commentary: 1, 2, 3, … in the order written. Never reused.
kindCommentaryKindWhat the entry is about — the most important event when it covers several.
minuteinteger | nullMatch minute of the newest event it covers (as incidents count it: 45+2 is minute 45, addedMinute 2). Summaries: the whistle — halfTime 45, fullTime 90 (120 after extra time); null on a fullTime entry written before 2026-10-23.minutes
addedMinuteinteger | nullMinutes into added time, else null.minutes
textstringOne or two English sentences (summaries: up to three), written by SportsAPI AI from our own data of the match only — events, score, clock, statistics and our win-probability model. No betting language. Plain text.
modelstringThe model that wrote it: "sportsapi-ai" (SportsAPI AI). Entries served before 2026-11-02 named the underlying provider model.
createdAtstring (ISO-8601 UTC)When it was written.
PlayByPlayThe source’s text commentary, one entry per action (football, basketball, …): written by the source’s data provider, not by us — our own AI commentary is /commentary.1 field
FieldTypeMeaning
entriesPlayByPlayEntry[]Oldest first, like every timeline list.
PlayByPlayEntryOne line of the source’s text commentary (play by play).21 fields
FieldTypeMeaning
typePlayByPlayTypeWhat a play-by-play entry records.
sideSide | nullThe side of `player` (or of the team the entry is about); null for match-level entries (kick-off, period ends, delays).
periodPeriodKey | nullThe period it happened in; null when the source gives none (football’s final whistle).
minuteinteger | nullFootball: match minute (added time apart: 45+6 → minute 45, addedMinute 6). Null in clock sports (basketball: see `periodSecond`) and when the source gives no time.minutes
addedMinuteinteger | nullFootball: minutes into added time (45+6 → 6); null otherwise.minutes
periodSecondinteger | nullClock sports (basketball): seconds played in the period; null in football.seconds
periodSecondsLeftinteger | nullClock sports (basketball): the game clock — seconds left in the period; null in football.seconds
atstring (ISO-8601 UTC) | nullWhen the action was recorded (UTC), where the source stamps it (basketball); null otherwise.
textstringThe commentary line, in English, as the source writes it.
playerPlayerRef | nullThe player the entry is about: shooter, scorer, booked player, fouling player, rebounder, …
assistPlayerRef | nullThe player who assisted it, when the source names one (basketball baskets).
playerInPlayerRef | nullsubstitution: the player coming on.
playerOutPlayerRef | nullsubstitution: the player going off.
drawnByPlayerRef | nullfoul (basketball): the player who drew the foul.
stolenByPlayerRef | nullpossessionChange (basketball): the player who stole the ball.
goalkeeperPlayerRef | nullThe goalkeeper the source attaches to a shot (football); the source also sets it on a few basketball shots, meaning not verified.
homeScorenumber | nullscoreChange / penaltyScored: the home score after it; null on other entries.
awayScorenumber | nullscoreChange / penaltyScored: the away score after it; null on other entries.
scoreTypePlayByPlayScoreType | nullscoreChange (basketball): what the basket was worth; null in football and on other entries.
positionCourtPosition | nullBasketball: where on the court; null when the source gives no location.
zoneCourtZone | nullBasketball: the court zone; null when the source gives none.
CourtPositionWhere on the court an action happened (basketball), in the source’s court units.2 fields
FieldTypeMeaning
xnumberHorizontal court coordinate, in the source’s court units.
ynumberVertical court coordinate, in the source’s court units.
LeagueDetailA league profile (/v2/leagues/{id}): the LeagueRef fields plus level, title holder, record holders and the divisions above and below. Host countries are per season (/v2/leagues/{id}/seasons/{seasonId}).17 fields
FieldTypeMeaning
idintegerOur league id.
namestringLeague / competition name.
slugstring | nullURL slug.
sportstring | nullSport slug (as in /v2/sports).
categorystring | nullThe source’s grouping of the league: a country ("England"), a region ("International", "North America", "World"), a tour ("ATP", "WTA") or a game (esports: "Counter Strike"). Not always a country — see `country`.
countryCountry | nullThe league’s country, when its category is one; null for regions, tours and games.
imagestring (URL) | nullLogo on our CDN; null when the league has no image.
tierinteger | nullLevel in its country’s pyramid: 1 = top flight (Premier League), 2 = second tier (Championship); null for cups, international and non-pyramid competitions.
genderTeamGender | nullMen’s or women’s competition; null when the source does not say.
titleHolderTeamRef | nullThe reigning champion (the last completed season’s winner), when the source names one.
titleHolderTitlesinteger | nullHow many times the title holder has won the competition.
mostTitlesinteger | nullThe record number of titles won by one team.
mostTitlesTeamsTeamRef[]The team(s) holding that record (several on a tie); [] when the source names none.
upperDivisionsLeagueRef[]The league(s) one level up (where promoted teams go); [] for a top flight or a cup.
lowerDivisionsLeagueRef[]The league(s) one level down (where relegated teams go); [] when none is listed.
currentSeasonStartstring (YYYY-MM-DD) | nullFirst day of the current (or upcoming) season, UTC.
currentSeasonEndstring (YYYY-MM-DD) | nullLast day of the current season, UTC (planned).
RefereeProfileA referee (/v2/referees/{id}): career totals over every competition the source covers (`games`, cards) and the figures per competition.11 fields
FieldTypeMeaning
idintegerOur referee id.
namestringReferee name.
slugstring | nullURL slug.
countryCountry | nullThe referee’s country, when the source gives it.
gamesinteger | nullMatches the source has recorded the referee in charge of (career, all competitions).
yellowCardsinteger | nullYellow cards shown over those matches; null in sports without cards (cricket).
redCardsinteger | nullStraight red cards shown over those matches; null in sports without cards.
yellowRedCardsinteger | nullSecond-yellow sending-offs over those matches; null in sports without cards.
imagestring (URL) | nullPhoto on our CDN; null when the referee has no image (or it is not uploaded yet). Since 2026-11-04.
sportstring | nullSport slug.
competitionsRefereeCompetition[]Career figures per competition, in the source’s order; [] when the source has none.
RefereeCompetitionA referee’s career figures in one competition — divide by `appearances` for a per-match rate.6 fields
FieldTypeMeaning
leagueLeagueRefThe competition.
appearancesintegerMatches refereed in it.
yellowCardsinteger | nullYellow cards shown in those matches.
redCardsinteger | nullStraight red cards shown.
yellowRedCardsinteger | nullSecond-yellow sending-offs.
penaltiesinteger | nullPenalties awarded.
ManagerProfileA manager / head coach (/v2/managers/{id}): profile, career record and the jobs behind it.12 fields
FieldTypeMeaning
idintegerOur manager id (the same id as ManagerRef on fixtures and teams).
namestringName.
slugstring | nullURL slug.
shortNamestring | nullShort name, e.g. "J. Mourinho".
imagestring (URL) | nullPhoto on our CDN; null when the manager has no image (or it is not uploaded yet). Since 2026-11-04.
sportstring | nullSport slug.
countryCountry | nullNationality.
dateOfBirthstring (YYYY-MM-DD) | nullDate of birth.
preferredFormationstring | nullFootball: his preferred formation as the source writes it ("4-2-3-1").
teamTeamRef | nullThe team he manages now; null when without a job.
careerManagerRecord | nullCareer results over every job the source covers.
stintsManagerStint[]His jobs, newest first (like transfer lists); [] when the source has no history.
ManagerRecordA manager’s results over a period (a whole career or one job). Points per game = points / games.7 fields
FieldTypeMeaning
gamesintegerMatches in charge.
winsintegerWon.
drawsinteger | nullDrawn; null in sports without draws.
lossesintegerLost.
scoresFornumber | nullGoals (points, …) scored by his teams; null when the source does not give them.
scoresAgainstnumber | nullConceded.
pointsnumber | nullTable points won (football: 3 a win, 1 a draw); null when the source does not give them.
ManagerStintOne job in a manager’s career.4 fields
FieldTypeMeaning
teamTeamRef | nullThe team he managed.
fromstring (YYYY-MM-DD) | nullFirst day in charge (UTC).
tostring (YYYY-MM-DD) | nullLast day in charge (UTC). For the current job the source gives a FUTURE date (the end of his contract as it has it), not null.
recordManagerRecord | nullResults in that job; null when the source has none (youth teams, old spells).
TrophyOne competition in a team’s trophy cabinet.5 fields
FieldTypeMeaning
leagueLeagueRefThe competition won.
competitionTypeCompetitionType | nullNational league, national cup or international competition.
majorboolean | nullWhether the source counts it as a major trophy (a league or cup, not a super cup).
countintegerTimes won.
seasonsTrophySeason[]The seasons it was won in, newest first (like season lists). May be shorter than `count` for very old titles the source does not date.
TrophySeasonA season a trophy was won in (the source gives the label only — no season id).3 fields
FieldTypeMeaning
yearstringSeason label as the source writes it ("23/24", "1932/1933", "2026").
startYearinteger | nullThe year that season started; null when the label cannot be read.
endYearinteger | nullThe year it ended.
PositionHistoryPointWhere a team stood in the table at the end of one week of the season.5 fields
FieldTypeMeaning
weekintegerWeek of the season, 1-based (the source’s weekly buckets).
fromstring (YYYY-MM-DD)First day of that week (UTC).
tostring (YYYY-MM-DD)Last day of that week (UTC, inclusive).
positioninteger | nullThe team’s league position at the end of that week.
fixtureIdsinteger[]The team’s fixtures of the competition in that week (our ids; usually one, none in a blank week).
FighterCareerStatisticsAn MMA fighter’s career statistics as the source computes them over the fights it has detailed data for (not necessarily the whole career): per-round and per-15-minute rates, shares 0–100 and time in position. Keys follow the match-statistics vocabulary (`significantStrikesHeadLanded`, `takedownsSucceeded`, …) with the rate in the name. Null = the source has no figure.50 fields
FieldTypeMeaning
strikesLandedPerRoundnumber | nullStrikes landed per round (all strikes).
strikesDistanceLandedPerRoundnumber | nullStrikes landed at distance per round.
strikesDistancePercentagenumber | nullShare of his strikes landed at distance, 0–100.percent
strikesClinchLandedPerRoundnumber | nullStrikes landed in the clinch per round.
strikesClinchPercentagenumber | nullShare landed in the clinch, 0–100.percent
strikesGroundLandedPerRoundnumber | nullStrikes landed on the ground per round.
strikesGroundPercentagenumber | nullShare landed on the ground, 0–100.percent
strikesReceivedPerRoundnumber | nullStrikes absorbed per round.
significantStrikesLandedPerRoundnumber | nullSignificant strikes landed per round.
significantStrikesPercentagenumber | nullShare of his landed strikes that were significant, 0–100.percent
significantStrikesHeadLandedPerRoundnumber | nullSignificant strikes to the head per round.
significantStrikesHeadPercentagenumber | nullShare of significant strikes to the head, 0–100.percent
significantStrikesBodyLandedPerRoundnumber | nullSignificant strikes to the body per round.
significantStrikesBodyPercentagenumber | nullShare to the body, 0–100.percent
significantStrikesLegsLandedPerRoundnumber | nullSignificant strikes to the legs per round.
significantStrikesLegsPercentagenumber | nullShare to the legs, 0–100.percent
significantStrikesDistanceLandedPerRoundnumber | nullSignificant strikes at distance per round.
significantStrikesDistancePercentagenumber | nullShare at distance, 0–100.percent
significantStrikesClinchLandedPerRoundnumber | nullSignificant strikes in the clinch per round.
significantStrikesClinchPercentagenumber | nullShare in the clinch, 0–100.percent
significantStrikesGroundLandedPerRoundnumber | nullSignificant strikes on the ground per round.
significantStrikesGroundPercentagenumber | nullShare on the ground, 0–100.percent
significantStrikesReceivedPerRoundnumber | nullSignificant strikes absorbed per round.
takedownsAttemptedPer15Minnumber | nullTakedowns attempted per 15 minutes of fighting.
takedownsSucceededPer15Minnumber | nullTakedowns landed per 15 minutes.
takedownsSucceededPercentagenumber | nullTakedown accuracy: landed / attempted, 0–100.percent
takedownsReceivedPer15Minnumber | nullTakedowns his opponents attempted per 15 minutes.
takedownsDefendedPer15Minnumber | nullOf those, defended per 15 minutes.
takedownsDefendedPercentagenumber | nullTakedown defence: defended / attempted against him, 0–100.percent
transitionsSucceededPer15Minnumber | nullPositional transitions (ground advances) made per 15 minutes.
transitionsReceivedPer15Minnumber | nullTransitions his opponents made per 15 minutes.
submissionsAttemptedPer15Minnumber | nullSubmission attempts per 15 minutes.
submissionsSucceededPer15Minnumber | nullSubmissions finished per 15 minutes.
submissionsSucceededPercentagenumber | nullSubmissions finished / attempted, 0–100.percent
submissionsReceivedPer15Minnumber | nullSubmission attempts against him per 15 minutes.
submissionsDefendedPer15Minnumber | nullOf those, defended per 15 minutes.
submissionsDefendedPercentagenumber | nullSubmission defence, 0–100.percent
distanceSecondsnumber | nullTime fought at distance, career total.seconds
distanceSecondsPerRoundnumber | nullTime at distance per round.seconds
distancePercentagenumber | nullShare of fight time at distance, averaged per round, 0–100 — the source’s figure: it can pass 100 by a fraction (100.2 seen), and the distance / clinch / ground shares need not add up to 100.percent
clinchSecondsnumber | nullTime in the clinch, career total.seconds
clinchSecondsPerRoundnumber | nullTime in the clinch per round.seconds
clinchPercentagenumber | nullShare of fight time in the clinch, averaged per round, 0–100 (see `distancePercentage`).percent
clinchControlSecondsnumber | nullTime controlling the opponent in the clinch, career total.seconds
clinchControlPercentagenumber | nullShare of fight time in clinch control, 0–100.percent
groundSecondsnumber | nullTime on the ground, career total.seconds
groundSecondsPerRoundnumber | nullTime on the ground per round.seconds
groundPercentagenumber | nullShare of fight time on the ground, averaged per round, 0–100 (see `distancePercentage`).percent
groundControlSecondsnumber | nullTime in control on the ground, career total.seconds
groundControlPercentagenumber | nullShare of fight time in ground control, 0–100.percent
FighterRecordAn MMA / boxing fighter’s CAREER record (e.g. 28-0-4). Not the same figure as /v2/fixtures/{id}/form, which is the source’s pre-fight form in that event’s competition (e.g. 8-0-3 for the same fighter).4 fields
FieldTypeMeaning
winsintegerCareer wins (professional, every promotion — the source’s career record).
drawsintegerCareer draws.
lossesintegerCareer losses.
recentRecentFight[]The last fights (up to five), oldest first, with the method. The source keeps no career breakdown by method (and lists only the recent fights it covers), so there is none here.
RecentFightOne of a fighter’s most recent fights, as the source’s record lists it.2 fields
FieldTypeMeaning
resultFormResultWin, draw or loss for this fighter.
methodFightMethod | nullHow the fight was decided (KO, TKO, submission, decisions, …); null when the source gives no method.

Enums

Every closed value set, with what each value means. A value not listed here is never sent — when the source introduces one we do not classify yet, the field reads other (or null) until this list grows.

SideA side of the fixture.2 values
homeThe fixture’s home side.
awayThe fixture’s away side.
WinnerResult of a finished fixture.3 values
homeHome side won.
awayAway side won.
drawDraw.
StatusTypeCoarse match state — what to filter on.7 values
notstartedNot started yet (scheduled, or its start is delayed).
inprogressBeing played — including breaks such as half-time and a fight awaiting its decision.
interruptedStopped mid-match (weather, crowd, …) and expected to resume.
willcontinueA multi-day match between days (cricket Tests: end of day N).
postponedMoved to a later date; the fixture keeps its id.
canceledWill not be played (canceled, abandoned, removed).
finishedOver, with a result.
StatusPhaseFiner match state — what a scoreboard shows.12 values
notstartedScheduled, not started.
delayedPast its start time, start delayed.
inprogressA period is being played (status.period says which).
breakA scheduled pause inside the match: half-time, pause between sets, awaiting extra time or penalties, cricket lunch / tea / drinks.
awaitingResultPlay is over, the result is not announced yet (combat sports judges’ decision).
interruptedStopped unexpectedly, expected to resume.
suspendedSuspended by the organiser; may resume another day.
willcontinueA multi-day match between days.
postponedMoved to a later date.
canceledCanceled before it started, or removed.
abandonedStarted and called off without a result.
finishedOver — status.finish says how it was decided.
FinishTypeHow a finished match was decided.7 values
regularDecided in regulation (also every set / frame / game sport’s normal finish).
overtimeDecided in overtime / extra time / extra innings (upstream “AET”).
penaltiesDecided by a penalty shoot-out (upstream “AP”).
goldenSetDecided by a golden set (volleyball).
walkoverAwarded without being played.
retiredOne side retired during the match (tennis).
defaultedOne side was defaulted / disqualified.
FightMethodHow a fight was won.11 values
koKnockout.
tkoTechnical knockout (referee or doctor stoppage).
submissionSubmission.
unanimousDecisionJudges’ decision, all judges agreeing.
splitDecisionJudges’ decision, split.
majorityDecisionJudges’ decision by a majority: two judges for the winner and one scoring a draw — or, with `winner: "draw"`, a majority draw (two judges scoring a draw; real boxing capture 2026-10-19).
technicalDecisionDecision on the scorecards after a stoppage.
pointsDecisionBoxing: a points decision (the source’s PTS — scored by the referee alone, as in British small-hall bouts; a draw comes with `winner: "draw"`).
disqualificationDisqualification.
noContestNo contest.
otherA method not classified yet (the source’s code is logged).
FightDisciplineThe combat discipline of a fight.6 values
mmaMixed martial arts.
boxingBoxing.
kickboxingKickboxing.
muayThaiMuay Thai.
grapplingSubmission grappling.
otherA discipline not classified yet (the source’s value is logged).
SurfaceTypeA tennis court surface.5 values
hardHard court.
clayClay (red or green).
grassGrass.
carpetCarpet (indoor synthetic).
otherA surface not classified yet (the source’s text is in `name`).
TossDecisionWhat a cricket toss winner chose.2 values
batThe toss winner chose to bat first.
bowlThe toss winner chose to bowl (field) first.
FightCardSectionThe part of a fight card a bout is on.4 values
mainCardThe main card.
prelimsThe preliminary card.
earlyPrelimsThe early preliminary card.
otherA section not classified yet (the source’s value is logged).
PositionPlaying position, per sport (the source’s letter code is in `positionCode`).53 values
goalkeeperGoalkeeper (football, futsal, handball).
defenderDefender (football, futsal).
midfielderMidfielder (football, futsal).
forwardForward (football, futsal, basketball, ice hockey, rugby).
guardGuard (basketball).
centerCenter (basketball, ice hockey, American football).
guardForwardGuard-forward (basketball).
forwardCenterForward-center (basketball).
goalieGoalie (ice hockey).
defensemanDefenseman (ice hockey).
leftWingLeft wing (ice hockey, handball).
rightWingRight wing (ice hockey, handball).
leftBackLeft back (handball).
rightBackRight back (handball).
centreBackCentre back (handball).
pivotPivot / line player (handball).
quarterbackQuarterback (American football).
runningBackRunning back / fullback (American football).
wideReceiverWide receiver (American football).
tightEndTight end (American football).
offensiveLinemanOffensive lineman (American football).
offensiveTackleOffensive tackle (American football).
offensiveGuardOffensive guard (American football).
defensiveTackleDefensive tackle / nose tackle (American football).
defensiveEndDefensive end (American football).
defensiveLinemanDefensive lineman (American football).
linebackerLinebacker (American football).
cornerbackCornerback (American football).
safetySafety (American football).
defensiveBackDefensive back (American football).
kickerKicker (American football).
punterPunter (American football).
longSnapperLong snapper (American football).
pitcherPitcher (baseball).
startingPitcherStarting pitcher (baseball).
reliefPitcherRelief pitcher (baseball).
catcherCatcher (baseball).
firstBaseFirst baseman (baseball).
secondBaseSecond baseman (baseball).
thirdBaseThird baseman (baseball).
shortstopShortstop (baseball).
leftFieldLeft fielder (baseball).
centerFieldCenter fielder (baseball).
rightFieldRight fielder (baseball).
infielderInfielder (baseball).
outfielderOutfielder (baseball).
designatedHitterDesignated hitter (baseball).
batterBatter (cricket).
bowlerBowler (cricket).
allRounderAll-rounder (cricket).
wicketKeeperWicket-keeper (cricket).
backBack (rugby: any of the backs — the source does not say which).
otherA position code without a mapping for this sport (`positionCode` keeps it).
AvailabilityWhether a missing player is ruled out or doubtful.2 values
outRuled out of this fixture.
doubtfulMay miss this fixture.
MissingReasonWhy a player is missing.9 values
injuryInjured (`description` names it when known, e.g. "Hamstring Injury").
illnessIll.
suspensionSuspended (other than a card ban).
absentAbsent for another reason (personal, international duty, …).
yellowCardSuspensionBanned for accumulated yellow cards.
yellowRedCardSuspensionBanned after a second-yellow sending-off.
redCardSuspensionBanned after a straight red card.
onLoanOn loan and not eligible against the parent club.
otherA reason the source sent that this API does not classify yet.
StatKindHow to read a statistic’s value and total.3 values
value`value` is the number shown (57 for "57%", 2.04 for "2.04"); `total` is null.
ratio`value` successes out of `total` attempts ("33/53 (62%)" → 33 of 53; a percentage-only display such as "42%" is still value / total).
time`value` is seconds; `total` is the seconds available (the period length), e.g. time spent in the lead.
HigherIsWhether more is better.2 values
betterA higher value is good for that side (shots, possession).
worseA higher value is bad for that side (fouls, turnovers, errors).
IncidentTypeWhat happened.9 values
goalA score: goal, basket, try, touchdown, … (`detail` says which kind). Set sports (volleyball, table tennis, badminton) do not list points — their set ends are `period` rows.
cardA card shown to a player (or a team official).
substitutionA player change: playerIn replaces playerOut.
periodA period ended — only that: a period still being played has no row (since 2026-10-23). `period` names the period that ended, `text` is the scoreboard label (HT, FT, Q2, 3rd period, 2. set, …). The scores are the running match score at that moment; in set sports (volleyball, table tennis, badminton) the sets won so far (the set’s own points are in the fixture’s `periods` and in /points).
injuryTimeAdded time announced: `addedMinute` minutes after `minute`.
varDecisionA video-review decision (`detail`), `confirmed` = the original call stood.
inGamePenaltyA penalty kick during play that did not produce a goal (`detail` missed); a scored one is a `goal` with detail `penalty`.
shootoutPenaltyOne kick of a penalty shoot-out: `shootoutSequence` = the overall kick order (1, 2, 3, … both sides counted), `shootoutRound` = the round (the taker’s side’s 1st, 2nd, … kick).
suspensionA timed exclusion (ice hockey penalty, handball two minutes): `durationSeconds`, `reason`.
IncidentDetailThe kind of incident within its type.31 values
regulargoal: an ordinary goal; substitution: a tactical change.
ownGoalgoal: scored by the conceding side (`side` = the team credited with the goal).
penaltygoal: a penalty kick / 7-metre throw converted.
powerPlaygoal (ice hockey): scored with a man advantage.
shortHandedgoal (ice hockey): scored a man down.
emptyNetgoal (ice hockey): scored into an empty net.
onePointgoal (basketball): a free throw.
twoPointsgoal: basketball 2-point field goal; rugby conversion.
threePointsgoal: basketball 3-pointer; rugby penalty goal or drop goal.
trygoal (rugby): a try.
touchdowngoal (American football): a touchdown.
extraPointgoal (American football): an extra point.
fieldGoalgoal (American football): a field goal.
twoPointConversiongoal (American football): a two-point conversion.
safetygoal (American football): a safety.
yellowcard: yellow card.
secondYellowcard: second yellow, i.e. a sending-off.
redcard: straight red card.
injurysubstitution: forced by an injury.
goalAwardedvarDecision: goal given after review.
goalNotAwardedvarDecision: goal ruled out after review.
penaltyAwardedvarDecision: penalty given after review.
penaltyNotAwardedvarDecision: penalty cancelled after review.
cardUpgradevarDecision: card upgraded (e.g. yellow → red).
cardDowngradevarDecision: card downgraded.
scoredshootoutPenalty: kick scored.
missedshootoutPenalty / inGamePenalty: kick missed or saved (`reason` says which).
twoMinutessuspension: a two-minute (minor) penalty.
fiveMinutessuspension: a five-minute (major) penalty.
tenMinutessuspension: a ten-minute (misconduct) penalty.
otherA kind the source sent that this API does not classify yet.
BodyPartWhat the shot was struck with (football).4 values
rightFootRight foot.
leftFootLeft foot.
headHeader.
otherAny other body part.
GoalMouthLocationWhere a shot ended relative to the goal (football).15 values
lowLeftOn target, low left (from the shooter’s view).
lowCentreOn target, low centre.
lowRightOn target, low right.
highLeftOn target, high left.
highCentreOn target, high centre.
highRightOn target, high right.
leftWide left.
rightWide right.
highOver the bar.
closeLeftJust wide left.
closeRightJust wide right.
closeHighJust over.
closeHighLeftJust over, left.
closeHighRightJust over, right.
otherA location not classified yet.
BuildUpActionWhat one step of a goal’s build-up was.9 values
passA pass (`endPosition` = where it was received).
crossA cross (`endPosition` = where it arrived).
throwInA throw-in (`endPosition` = where it landed). Since 2026-10-25.
carryThe player moved with the ball (the source’s ball-movement; no `endPosition`). Since 2026-10-25.
touchA touch that kept the play going — a block, a deflection, a goalkeeper’s parry (the source’s ball-touch). Since 2026-10-25.
savedShotA shot the goalkeeper saved; the play went on (a rebound).
missedShotA shot that missed; the play went on. Since 2026-10-25.
goalThe shot that scored — the last step.
otherAn action not classified yet (the source’s value is logged).
BestPlayerLabelWhat a best-player value measures.5 values
ratingMatch rating (football, basketball, …).
pointsPoints (ice hockey: goals + assists).
goalsGoals (handball).
yardsYards (American football).
otherA measure not classified yet.
ShotOutcomeWhat came of a shot.5 values
goalScored (basketball: a made field goal).
saveOn target, stopped by the goalkeeper / goalie.
missOff target (basketball: a missed field goal).
blockBlocked by an outfield player / skater (basketball: a blocked field goal).
postHit the woodwork (football).
ShotTechniqueHow a shot was taken (ice hockey).10 values
wristWrist shot.
snapSnap shot.
slapSlap shot.
backhandBackhand.
tipInTip-in.
deflectedDeflection.
wrapAroundWrap-around.
pokePoke.
batBatted puck.
otherA technique not classified yet.
ShotSituationThe play a shot came from (football).10 values
regularOpen play, unassisted.
assistedOpen play, from a team-mate’s pass.
cornerFrom a corner kick.
setPieceFrom another set piece.
fastBreakOn a counter-attack.
freeKickA direct free kick.
throwInSetPieceFrom a throw-in routine.
penaltyA penalty kick in play.
shootoutA penalty shoot-out kick (`shootoutSequence` = overall kick order, `shootoutRound` = the taker’s side’s round).
otherA situation not classified yet.
ShotGoalTypeKind of goal.3 values
regularAn ordinary goal.
ownGoalAn own goal (the same name as the incident detail).
penaltyA converted penalty (in play or in the shoot-out).
ShotStrengthManpower situation (ice hockey).3 values
evenIce hockey: even strength.
powerPlayIce hockey: the shooting side had a man advantage.
shortHandedIce hockey: the shooting side was a man down.
FormResultA result in a form guide.3 values
winWon.
drawDrew.
lossLost.
StreakSideWhose streak it is.3 values
homeThe fixture’s home side has the streak.
awayThe fixture’s away side has the streak.
bothBoth sides (head-to-head streaks: their meetings).
StreakKindWhat a streak’s figure is: a run in a row, x of the last y, or an average.3 values
inARowA run in a row: `count` matches ("5").
ofLast`count` of the last `outOf` matches ("7/8").
averageAn average over recent matches, in `average` ("83" points a game); `count` and `outOf` are null.
PointsFormatWhich point-by-point shape a fixture has.5 values
tennisTennis: sets → games → points (`sets[].games`).
rallyVolleyball, table tennis, badminton: sets → points (`sets[].points`).
cricketCricket: innings → overs → balls (`innings`).
baseballBaseball: at-bat by at-bat (`atBats`) — pitcher, batter and win probability before / after each.
dartsDarts: sets → legs → visits (`darts`) — each visit’s score and both players’ remaining scores.
TennisPointDescriptionHow a tennis point was won, when the source says.3 values
aceAn ace: the server won the point on the serve.
doubleFaultA double fault: the receiver won the point.
otherA description not classified yet (the source’s code is logged).
TennisPointTypeWhat a tennis point meant for one side.6 values
wonWon the point, nothing more to mark.
noneNothing to mark for this side — mostly: lost the point (the point that ends a tie-break can be `none` for both).
breakPointAfter this point the side, receiving, has a break point (one point from breaking serve).
setPointAfter this point the side has a set point — a match point too when the set decides the match (the source does not tell them apart). Beats breakPoint and miniBreak.
miniBreakTie-break: won this point on the opponent’s serve.
otherA type not classified yet (the source’s code is logged).
BallOutcomeWhat a cricket delivery produced.10 values
dotNo run.
runsRuns off the bat other than a boundary (1, 2, 3, …).
fourA boundary four.
sixA six.
wicketA wicket fell (see `dismissal`).
wideA wide (an extra; the ball is bowled again).
noBallA no-ball (an extra; the ball is bowled again).
legByeLeg byes (extras off the body).
byeByes (extras past the keeper).
otherA delivery not classified yet (the source’s code is logged).
DismissalHow a batter was out.11 values
caughtCaught (by a fielder other than the bowler).
caughtAndBowledCaught by the bowler.
bowledBowled.
lbwLeg before wicket.
runOutRun out.
stumpedStumped.
hitWicketHit wicket.
retiredRetired (hurt or out).
obstructingTheFieldObstructing the field.
timedOutTimed out.
otherA dismissal not classified yet (the source’s text is logged).
UmpirePositionA baseball umpire’s position on the field.7 values
homePlateHome-plate umpire (calls balls and strikes).
firstBaseFirst-base umpire.
secondBaseSecond-base umpire.
thirdBaseThird-base umpire.
leftFieldLeft-field umpire (six-man postseason crews).
rightFieldRight-field umpire (six-man postseason crews).
otherAn assignment not listed here.
WeatherConditionThe weather, in a few words.7 values
clearClear or sunny.
cloudyCloudy or overcast.
fogFog or mist.
rainRain or showers.
snowSnow or sleet.
stormThunderstorm.
otherA condition not listed here (the source’s own words are in `description`).
EsportsRoleA player’s role in an esports game.10 values
topTop lane (League of Legends).
jungleJungle (League of Legends).
midMid lane (League of Legends; Dota 2 position 2).
bottomBottom-lane carry (AD carry, League of Legends).
supportSupport (League of Legends).
carryCarry, safe lane (Dota 2 position 1).
offlaneOfflane (Dota 2 position 3).
softSupportSoft support (Dota 2 position 4).
hardSupportHard support (Dota 2 position 5).
otherA role not listed here, or a title without roles (Counter-Strike).
BatterStateWhere a batter’s innings stands.6 values
outDismissed (see `dismissal`).
notOutBatted and was not out when the innings closed.
battingAt the crease now (innings in progress).
didNotBatDid not bat (or not yet, while the innings is in progress).
retiredHurtRetired hurt — left the crease injured, not dismissed.
otherA state not classified yet (the source’s code is logged).
TeamGenderWhether a team (or competitor) is a men’s, women’s or mixed one.3 values
maleA men’s team (or a male competitor).
femaleA women’s team (or a female competitor).
mixedA mixed team (mixed doubles).
TeamKindWhat a team object stands for: a team, one competitor of an individual sport, or a doubles pair.3 values
teamA team or club (also a national side).
individualOne competitor of an individual sport (a tennis player, a fighter, a darts player) — see `person`.
pairA doubles pair (tennis, badminton, table tennis, beach volleyball).
HandednessThe hand a player plays with.3 values
rightRight-handed.
leftLeft-handed.
ambidextrousPlays with both hands.
DetailedPositionA detailed playing position (football), from the source’s position codes.13 values
goalkeeperGoalkeeper (source code GK).
leftBackLeft back / left wing-back (DL).
centreBackCentre back (DC).
rightBackRight back / right wing-back (DR).
defensiveMidfielderDefensive midfielder (DM).
leftMidfielderLeft midfielder (ML).
centralMidfielderCentral midfielder (MC).
rightMidfielderRight midfielder (MR).
attackingMidfielderAttacking midfielder (AM).
leftWingerLeft winger (LW).
rightWingerRight winger (RW).
strikerStriker / centre forward (ST).
otherA code not classified yet (the source’s code is logged).
InjuryStatusHow a current injury affects selection.5 values
outRuled out until the expected return.
outForSeasonOut for the rest of the season (the source’s outForSeason, seen on NBA squads 2026-10-25).
dayToDayDay to day: may play the next match.
doubtfulDoubtful for the next match.
otherA status not classified yet (the source’s value is logged).
TransferTypeWhat kind of move a transfer is.15 values
transferA permanent move from one team to another (paid, free or undisclosed — see `fee` and `freeTransfer`).
loanA loan to another team.
loanEndThe end of a loan: back to the parent team.
signedSigned by the team, typically as a free agent (`from` is then null).
releasedReleased: the contract was terminated.
waivedWaived (US leagues): put on waivers / let go by the team (`to` is null).
claimedClaimed off waivers by another team.
tradedTraded to another team (US leagues).
draftDrafted (`draft` has the round and pick when listed).
contractExpiredThe contract ran out.
tenDayContractA 10-day contract (NBA).
secondTenDayContractA second 10-day contract with the same team (NBA).
retiredEnd of career.
deceasedThe player died.
otherA move the source sent that this API does not classify yet.
StandingsScoreUnitWhat a table’s scoresFor / scoresAgainst / scoreDifference count.7 values
goalsGoals (football, futsal, handball, ice hockey, water polo).
pointsPoints (basketball, rugby, American football).
runsRuns (baseball).
setsSets won and lost (volleyball) — not rally points.
mapsMaps won and lost (esports).
framesFrames (snooker).
legsLegs (darts).
SearchTypeWhat a search hit is — and so which endpoint its id belongs to.9 values
teamA team — or an individual-sport competitor (tennis player, fighter, driver): /v2/teams/{id}.
playerA player of a team sport: /v2/players/{id}.
leagueA league / competition: /v2/leagues/{id}.
managerA manager / head coach: /v2/managers/{id}.
refereeA referee: /v2/referees/{id}.
seriesA racing series (Formula 1, MotoGP, …): /v2/series/{id}.
raceOne race of a racing series (a Grand Prix, a cycling race): /v2/races/{id}.
fixtureA match / fixture (since 2026-11-04): /v2/fixtures/{id}; its teams, league, start and status are in `fixture`.
venueA stadium / arena (since 2026-11-04). No endpoint of its own: the id is the one Fixture.venue and TeamDetail.venue carry; city, country and capacity are in `venue`.
CompetitionTypeWhat kind of competition it is.4 values
domesticLeagueA national league (LaLiga).
domesticCupA national cup or super cup (Copa del Rey, Supercopa).
internationalCupAn international club or national-team competition (Champions League, UEFA Super Cup).
otherA type not classified yet (the source’s value is logged).
SeasonStatsTypeWhich matches season statistics cover. Without `type` the endpoints use the season’s first listed type (`overall`, else `regularSeason`).5 values
overallEvery match of the season (football, handball, rugby, European basketball, …).
homeHome matches only.
awayAway matches only.
regularSeasonThe regular season (North American leagues: NBA, NHL, … — they have no `overall`).
playoffsThe playoffs.
WinProbabilityModelModel version (the docs describe each). A new version is announced in the changelog.3 values
v1The first model (2026-10-22): pre-match from the current competition’s table and form only. Still served for fixtures whose pre-match estimate was fixed before v2 (it is kept once a match starts).
v2Since 2026-10-22: pre-match from both teams’ recent matches in all competitions, their domestic league tables and our league-strength coefficients (teams of different leagues on one scale), blended with the current competition’s table as it fills up. In play identical to v1. Still served for fixtures whose pre-match estimate was fixed before v3.
v3Since 2026-10-25: v2’s pre-match estimate, except that a league match with a newcomer (one side promoted or relegated into the competition, early in a season) uses the current table and form only, plus the Turkish 1.Lig in the league-strength coefficients; in play, v2’s formula with a calibration step that makes the curve slightly less certain (it was a little over-confident), phased in over the first 15 minutes.
WinProbabilityReasonWhy a win-probability point was emitted.8 values
kickoffThe match started: the pre-match estimate at minute 0.
minuteA regular once-a-minute point (time running down moves the estimate even when nothing happens).
goalRight after a goal (own goals count for the side credited).
redCardRight after a red card (a second yellow included).
periodStartA period started: the second half, or a half of extra time.
periodEndA period ended: half-time, the end of regulation, the end of extra time.
bigChanceRight after a big chance that was not scored (a shot of at least 0.3 expected goals) — marks the moment on the curve; the model (v1 and v2 alike) does not blend live expected goals into the estimate.
finalThe match is over: the result, as certainty (1 / 0 / 0).
CommentaryKindWhat a commentary entry is about.13 values
kickoffThe match kicked off.
goalA goal (own goals and penalties included).
redCardA sending-off (a straight red or a second yellow).
missedPenaltyA penalty during play that was missed or saved (a scored one is a goal).
varDecisionA video-review decision: goal or penalty given / ruled out, card changed.
bigChanceA big chance that was not scored (a shot of at least 0.3 expected goals).
momentumOne side has had sustained pressure for several minutes (the attack-momentum graph).
periodStartThe second half or a half of extra time started.
periodEndRegulation time or the first half of extra time ended, and play goes on.
halfTimeHalf-time summary.
fullTimeFull-time summary.
updateA summary of the match so far, written when commentary starts during a match.
correctionThe source credited a goal already commented to another player: one line naming the scorer it now gives (earlier entries stay as written). Since 2026-10-27.
PlayByPlayTypeWhat a play-by-play entry records.36 values
matchStartedFootball: a half (or a half of extra time) kicked off.
matchEndedFootball: the match is over.
endFirstHalfFootball: the first half ended.
endSecondHalfFootball: the second half ended.
periodStartBasketball and other clock sports: a period started (the opening tip is a periodStart too).
periodEndBasketball and other clock sports: a period ended.
addedTimeFootball: the fourth official announced added time (the minutes are in `text`).
scoreChangeThe score changed: a goal, or points in basketball (`scoreType` says which); `homeScore` / `awayScore` are the score after it.
shotSavedFootball: a shot on target that was saved.
shotOffTargetA shot that missed: off target (football), a missed field goal (basketball).
shotBlockedFootball: a shot blocked by a defender.
cornerKickFootball: a corner kick (`player` = the defender who conceded it; `side` is his side, so the corner was won by the other one).
freeKickWonFootball: a free kick won (`player` = the player fouled).
freeKickLostFootball: a foul conceded (`player` = the player who fouled).
offsideFootball: a player caught offside.
yellowCardFootball: a yellow card.
redCardFootball: a red card (a second yellow included).
substitutionA substitution (`playerIn` / `playerOut`).
startDelayFootball: play stopped (an injury, a delay).
endDelayFootball: play resumed after a delay.
foulBasketball: a foul (`player` = who fouled, `drawnBy` = who drew it).
freeThrowMissedBasketball: a missed free throw.
reboundBasketball: a rebound (offensive or defensive, see `text`).
possessionChangeBasketball: a turnover (`stolenBy` = the player who stole the ball, when there was a steal).
jumpBallBasketball: a jump ball.
lineupChangeBasketball: a side’s five on the floor changed (the names are in `text`).
timeoutA timeout.
stoppageBasketball: the clock stopped (out of bounds, …).
reviewAn instant-replay review and its outcome (in `text`); in football a VAR decision.
penaltyAwardedFootball: a penalty kick awarded (`player` = the player fouled, `side` = his side).
penaltyConcededFootball: a penalty kick conceded (`player` = the player who gave it away, `side` = his side).
penaltyScoredFootball: a goal from a penalty kick in play. `homeScore` / `awayScore` = the score after it, counted on from the previous goal of the list (the source gives none on this entry); null in a penalty shoot-out, which does not change the match score.
penaltyMissedFootball: a penalty kick missed (off target).
penaltySavedFootball: a penalty kick saved by the goalkeeper.
violationBasketball: a violation (kicked ball, goaltending, …; the kind is in `text`).
otherAnother kind of entry (a value the source added later — read `text`).
PlayByPlayScoreTypeWhat a basketball scoring play was worth.4 values
freeThrowA made free throw (1 point).
twoPointerA made two-point field goal.
threePointerA made three-point field goal.
otherAnother kind of score.
CourtZoneBasketball court zone of an action.14 values
underBasketRight under the basket.
inThePaintIn the paint (the lane), away from the basket.
insideLeftInside the three-point line, left baseline side.
insideRightInside the three-point line, right baseline side.
insideCenterInside the three-point line, in front of the basket (mid-range, centre).
insideLeftWingInside the three-point line, left wing.
insideRightWingInside the three-point line, right wing.
outsideLeftBeyond the three-point line, left corner.
outsideRightBeyond the three-point line, right corner.
outsideCenterBeyond the three-point line, top of the key.
outsideLeftWingBeyond the three-point line, left wing.
outsideRightWingBeyond the three-point line, right wing.
backcourtThe backcourt (the other half).
otherAnother zone (a value the source added later).
RankingTypeSlugA ranking table we serve — the list with names is GET /v2/rankings.19 values
fifa-menFIFA World Ranking (men) (football).
uefa-countriesUEFA country coefficients (football).
uefa-clubsUEFA club coefficients (football).
world-rugby-menWorld Rugby Rankings (men) (rugby).
atpATP singles ranking (tennis).
wtaWTA singles ranking (tennis).
atp-liveATP live singles ranking (moves during tournaments) (tennis).
wta-liveWTA live singles ranking (moves during tournaments) (tennis).
ufc-flyweightUFC flyweight rankings (mma).
ufc-bantamweightUFC bantamweight rankings (mma).
ufc-featherweightUFC featherweight rankings (mma).
ufc-lightweightUFC lightweight rankings (mma).
ufc-welterweightUFC welterweight rankings (mma).
ufc-middleweightUFC middleweight rankings (mma).
ufc-light-heavyweightUFC light heavyweight rankings (mma).
ufc-heavyweightUFC heavyweight rankings (mma).
ufc-womens-strawweightUFC women’s strawweight rankings (mma).
ufc-womens-flyweightUFC women’s flyweight rankings (mma).
ufc-womens-bantamweightUFC women’s bantamweight rankings (mma).
RankingEntryWhat one row of a ranking stands for.3 values
teamA team (a national side or a club): `team` is set.
competitorOne competitor of an individual sport (a tennis player, a fighter) — a team object of kind `individual`: `team` is set.
countryA country, ranked by its clubs’ results: `country` and `league` (the country’s top league) are set, `team` is null.
PlayerStatisticsGroupWhich statistics a player-statistics page carries (every group also has appearances and minutesPlayed, and the sort key).6 values
summaryGoals, expected goals, assists, dribbles, tackles, pass accuracy, rating.
attackShooting and scoring: shots, on / off target, blocked, goal conversion, penalties, set pieces, goals by body part and area, woodwork, offsides.
defenseTackles, interceptions, clearances, blocks, errors, own goals, dribbled past, clean sheets, penalties conceded.
passingBig chances created, assists, passes and their accuracy by area, key passes, crosses, long balls.
goalkeepingSaves (inside / outside the box), clean sheets, penalties faced and saved, goals conceded by area, punches, runs out, high claims.
otherCards, duels (ground, aerial, total), minutes, fouls, fouled, dispossessed, possession lost, appearances, starts.
SportKindWhich endpoint family a sport’s data lives in.2 values
fixturesMatches between two sides: /v2/fixtures, /v2/livescores, /v2/leagues/… .
racesRaces with a field of competitors (motorsport, cycling): /v2/races, /v2/series/… . The fixture endpoints have nothing for these sports.
RaceSessionTypeWhat a session of a race is.7 values
practiceA practice session (motorsport).
qualifyingQualifying — sets the grid of the race (motorsport; also a qualifying part such as Q1 when the source lists it as a session).
sprintQualifyingSprint qualifying — sets the grid of the sprint (Formula 1).
sprintA sprint race: a short race of its own, with its own points (Formula 1, MotoGP).
raceThe race (motorsport: the Grand Prix / main race; cycling: a one-day race).
stageOne stage of a cycling stage race (Tour de France stage 5).
otherA session of a kind not listed here.
RaceResultStateWhere a competitor stands in a classification.5 values
classifiedIn the classification, lapped or not (`position` is set unless the source left a gap).
didNotFinishStarted but did not finish (retired, crashed out); no position.
didNotStartEntered but did not start; no position.
disqualifiedDisqualified; no position.
notClassifiedOut of the classification for another reason (the source marks the row out without saying why); no position.
TyreCompoundA tyre compound (Formula 1).6 values
softSoft slick (the source’s "S").
mediumMedium slick ("M").
hardHard slick ("H").
intermediateIntermediate, for a damp track ("I").
wetFull wet ("W").
otherA compound letter not listed here.
CyclingJerseyA leader’s jersey in a cycling stage race.5 values
generalLeader of the general classification (the Tour’s yellow jersey).
pointsLeader of the points classification (green in the Tour).
mountainsLeader of the mountains classification (polka dot in the Tour).
youngBest young rider (white in the Tour).
otherA jersey not listed here.
StageProfileThe terrain of a cycling stage or one-day race.8 values
flatFlat — a sprinters’ day.
hillyHilly.
intermediateMedium mountains / rolling.
mountainMountains.
highMountainHigh mountains, usually a summit finish.
timeTrialIndividual time trial.
teamTimeTrialTeam time trial.
otherA profile not listed here.
RaceWeatherWeather during a session, as the source words it.7 values
sunnySunny.
hotHot.
cloudyCloudy.
lightRainLight rain.
rainRain.
nightA night session (the source gives no other weather word for it).
otherA weather word not listed here.
TrackConditionTrack / road surface during a session.3 values
dryDry track / road.
wetWet track / road.
otherA condition not listed here.
SeriesStandingsTypeWhich championship table.2 values
competitorsThe drivers’ / riders’ championship.
teamsThe teams’ (constructors’) championship.
StandingsSourceWhere a standings table comes from — `meta.source` of /standings.2 values
upstreamThe table as the data source publishes it.
computedComputed by us from the season’s finished fixtures, because the source publishes no such table (NBA and NHL home / away tables). Same columns as the source’s total table; ties ranked by our order, not head-to-head.
SeriesFiguresSourceWhere a series table’s wins / podiums / polePositions / racesStarted / racesWithPoints come from — `meta.figuresSource` of /series/{id}/standings.2 values
upstreamAs the data source publishes them (null where it has none).
computedComputed by us from the main race of every finished championship round, because the source publishes only positions and points (MotoGP): wins = 1st, podiums = top 3, polePositions = started from grid position 1, racesStarted = races started (a team: races with at least one entry started), racesWithPoints = races that scored points; a team counts every entry. Sprints are not counted. fastestLaps stays null when the races do not report them.
WsErrorCodeWebSocket error code.10 values
bad_frameThe frame was not valid JSON, not a known shape, or lacks a field it needs (`message` names the field, e.g. "channel: required").
unknown_channelNot a channel name we serve (or an unknown sport slug).
channel_forbiddenThe channel is not in your plan’s grade.
unknown_leagueleague:{id} names a league id we never issued (use the ids of /v2/leagues and of fixtures’ league) — REST answers the same id with 404 not_found.
unknown_fixturefixture:{id} names a fixture id we never issued — REST answers the same id with 404 not_found. The channel is not counted.
unknown_racerace:{id} names no race (a season or session id, or one we never issued) — /v2/races/{id} answers the same id with 404. The channel is not counted.
not_subscribedresync / unsubscribe of a channel this connection is not on.
too_many_channelsYou hit maxChannels on this connection.
snapshot_failedThe snapshot could not be built — send resync to retry (for league:{id}, when the league id could not be checked right now: subscribe again).
rate_limitedMore than 60 frames in 10 seconds on this connection; frames are dropped until the window resets.

Status codes

status.code is the source's numeric status. phase, type and finish already decode it — this table is how. An unknown code falls back to the source's type.

codedescriptionphasetypefinish
0Not startednotstartednotstarted—
11st periodinprogressinprogress—
22nd periodinprogressinprogress—
33rd periodinprogressinprogress—
44th periodinprogressinprogress—
55th periodinprogressinprogress—
61st halfinprogressinprogress—
72nd halfinprogressinprogress—
81st setinprogressinprogress—
92nd setinprogressinprogress—
103rd setinprogressinprogress—
114th setinprogressinprogress—
125th setinprogressinprogress—
131st quarterinprogressinprogress—
142nd quarterinprogressinprogress—
153rd quarterinprogressinprogress—
164th quarterinprogressinprogress—
20Startedinprogressinprogress—
211st inninginprogressinprogress—
222nd inninginprogressinprogress—
233rd inninginprogressinprogress—
244th inninginprogressinprogress—
255th inninginprogressinprogress—
266th inninginprogressinprogress—
277th inninginprogressinprogress—
288th inninginprogressinprogress—
299th inninginprogressinprogress—
30Pausebreakinprogress—
31Halftimebreakinprogress—
32Awaiting extra timebreakinprogress—
33Extra time halftimebreakinprogress—
34Awaiting penaltiesbreakinprogress—
40Overtimeinprogressinprogress—
411st extrainprogressinprogress—
422nd extrainprogressinprogress—
43Lunchbreakinprogress—
44Tea breakbreakinprogress—
45Innings breakbreakinprogress—
46Extra inningsinprogressinprogress—
47Dinnerbreakinprogress—
48Drinksbreakinprogress—
50Penaltiesinprogressinprogress—
51Penaltiesinprogressinprogress—
52Shootoutinprogressinprogress—
531st roundinprogressinprogress—
542nd roundinprogressinprogress—
553rd roundinprogressinprogress—
564th roundinprogressinprogress—
575th roundinprogressinprogress—
58Awaiting announcementawaitingResultinprogress—
60Postponedpostponedpostponed—
61Start delayeddelayednotstarted—
70Canceledcanceledcanceled—
80Interruptedinterruptedinterrupted—
81Suspendedsuspendedinterrupted—
90Abandonedabandonedcanceled—
91Walkoverfinishedfinishedwalkover
92Retiredfinishedfinishedretired
93Removedcanceledcanceled—
97Home defaultedfinishedfinisheddefaulted
98Away defaultedfinishedfinisheddefaulted
100Endedfinishedfinishedregular
110After overtimefinishedfinishedovertime
120After penaltiesfinishedfinishedpenalties
130After golden setfinishedfinishedgoldenSet
140Will continuewillcontinuewillcontinue—
141End of day 1willcontinuewillcontinue—
142End of day 2willcontinuewillcontinue—
143End of day 3willcontinuewillcontinue—
144End of day 4willcontinuewillcontinue—
301First breakbreakinprogress—
302Second breakbreakinprogress—
303Third breakbreakinprogress—
4416th setinprogressinprogress—
4427th setinprogressinprogress—
445Breakbreakinprogress—
500Not playedcanceledcanceled—
1001Game 1inprogressinprogress—
1002Game 2inprogressinprogress—
1003Game 3inprogressinprogress—
1004Game 4inprogressinprogress—
1005Game 5inprogressinprogress—
1006Game 6inprogressinprogress—
1007Game 7inprogressinprogress—

Periods

One period vocabulary (PeriodKey) for a ScoreSide's periods keys, status.period, statistics periods, incidents and shots.

periodNThe Nth regulation period: half (football, rugby, handball, futsal), quarter (basketball, American football, water polo), period (ice hockey), set (tennis, volleyball, table tennis, badminton), inning (baseball), round (combat sports), map / game (esports), leg / frame block (darts, snooker).
inningNCricket: the Nth innings.
extra1Football / futsal: first half of extra time.
extra2Football / futsal: second half of extra time.
overtimeOvertime as a whole (basketball, ice hockey, handball, American football, water polo, …; every overtime period together). Baseball: the extra-innings runs, only when the source gives no per-inning breakdown (period10, …).
penaltiesPenalty shoot-out (a `status.period` value; the shoot-out score is ScoreSide.penalties, not a `periods` key).

Positions

The same letter means different things in different sports, so position is a word and positionCode keeps the source's letter. Per sport, code → position:

football4 codes
Ggoalkeeper
Ddefender
Mmidfielder
Fforward
futsal4 codes
Ggoalkeeper
Ddefender
Mmidfielder
Fforward
basketball7 codes
Gguard
Fforward
Ccenter
GFguardForward
FGguardForward
FCforwardCenter
CFforwardCenter
ice-hockey7 codes
Ggoalie
Ddefenseman
Ccenter
LleftWing
RrightWing
Fforward
WleftWing
handball8 codes
Ggoalkeeper
LWleftWing
RWrightWing
LBleftBack
RBrightBack
CBcentreBack
Ppivot
BcentreBack
american-football27 codes
QBquarterback
RBrunningBack
FBrunningBack
WRwideReceiver
TEtightEnd
OLoffensiveLineman
ToffensiveTackle
OToffensiveTackle
GoffensiveGuard
OGoffensiveGuard
Ccenter
DTdefensiveTackle
DEdefensiveEnd
DLdefensiveLineman
NTdefensiveTackle
LBlinebacker
ILBlinebacker
OLBlinebacker
CBcornerback
SAFsafety
Ssafety
FSsafety
SSsafety
DBdefensiveBack
Kkicker
Ppunter
LSlongSnapper
baseball14 codes
Ppitcher
SPstartingPitcher
RPreliefPitcher
Ccatcher
1BfirstBase
2BsecondBase
3BthirdBase
SSshortstop
LFleftField
CFcenterField
RFrightField
IFinfielder
OFoutfielder
DHdesignatedHitter
cricket4 codes
BMbatter
Bbowler
ARallRounder
WKwicketKeeper
rugby2 codes
Fforward
Bback

Statistic keys

Match statistic keys seen per sport (/fixtures/{id}/statistics), with how to read the value (kind) and whether more is better. A key always means the same quantity; coverage varies by competition, so a match may carry fewer — or, rarely, a key not listed yet.

american-football28 keys
keynamegroupkindhigherIs
touchdownsTouchdownsOffensevaluebetter
fieldGoalsMadeField goalsOffenseratiobetter
totalYardsTotal yardsOffensevaluebetter
turnoversTurnoversOffensevalueworse
redZoneConversionRed zone efficiencyOffenseratiobetter
timeOfPossessionTime of PossessionOffensetimebetter
firstDownsFirst downsOffensevaluebetter
penaltyFirstDownsFirst downs by penaltyOffensevaluebetter
thirdDownConversionThird down efficiencyOffenseratiobetter
puntsPuntsOffensevalueworse
puntingYardsPerPuntAverage yards per puntOffensevaluebetter
yardsPerPlayAverage yards per playOffensevaluebetter
passingFirstDownsFirst downs by passingPassingvaluebetter
passingNetYardsNet yards passingPassingvaluebetter
passingYardsGross yards passingPassingvaluebetter
passingTouchdownsPassing touchdownsPassingvaluebetter
passingInterceptionsInterceptions thrownPassingvalueworse
passingYardsPerAttemptAverage passing yards per attemptPassingvaluebetter
passingRedZoneAttemptsRed zone passing attemptsPassingvaluebetter
rushingAttemptsRushing attemptsRushingvaluebetter
rushingYardsRushing yardsRushingvaluebetter
rushingYardsPerAttemptAverage rushing yards per attemptRushingvaluebetter
rushingFirstDownsFirst downs by rushingRushingvaluebetter
rushingRedZoneAttemptsRed zone rushing attemptsRushingvaluebetter
penaltiesPenaltiesOthervalueworse
penaltyYardsYards penalizedOthervalueworse
fumblesFumblesOthervalueworse
fumblesLostFumbles lostOthervalueworse
badminton5 keys
keynamegroupkindhigherIs
pointsWonPoints wonPointsvaluebetter
maxPointsInRowMax points in a rowPointsvaluebetter
matchPointsMatch pointsPointsvaluebetter
comebackToWinComeback to winPointsvaluebetter
biggestLeadBiggest leadPointsvaluebetter
baseball26 keys
keynamegroupkindhigherIs
battingRunsRunsBattingvaluebetter
battingDoublesDoublesBattingvaluebetter
battingTriplesTriplesBattingvaluebetter
battingHomeRunsHome runsBattingvaluebetter
battingStrikeOutsStrike outsBattingvalueworse
battingBaseOnBallsBase on ballsBattingvaluebetter
battingHitsHitsBattingvaluebetter
battingAvgAVGBattingvaluebetter
battingObpOBPBattingvaluebetter
battingSlgSLGBattingvaluebetter
battingOpsOPSBattingvaluebetter
battingRbiRBIBattingvaluebetter
battingAtBatsAt batsBattingvaluebetter
battingLeftOnBaseLeft on baseBattingvalueworse
pitchingRunsRunsPitchingvalueworse
pitchingHomeRunsHome runsPitchingvalueworse
pitchingStrikeOutsStrike outsPitchingvaluebetter
pitchingBaseOnBallsBase on ballsPitchingvalueworse
pitchingHitsHitsPitchingvalueworse
pitchingEraERAPitchingvalueworse
pitchingInningsPitchedInnings pitchedPitchingvaluebetter
pitchingEarnedRunsEarned runsPitchingvalueworse
pitchingBattersFacedBatters facedPitchingvaluebetter
pitchingOutsOutsPitchingvaluebetter
fieldingAssistsAssistsFieldingvaluebetter
fieldingPutOutsPut outsFieldingvaluebetter
basketball17 keys
keynamegroupkindhigherIs
freeThrowsMadeFree throwsScoringratiobetter
twoPointersMade2 pointersScoringratiobetter
threePointersMade3 pointersScoringratiobetter
fieldGoalsMadeField goalsScoringratiobetter
reboundsReboundsOthervaluebetter
defensiveReboundsDefensive reboundsOthervaluebetter
offensiveReboundsOffensive reboundsOthervaluebetter
assistsAssistsOthervaluebetter
turnoversTurnoversOthervalueworse
stealsStealsOthervaluebetter
blocksBlocksOthervaluebetter
foulsFoulsOthervalueworse
timeoutsTimeoutsOthervaluebetter
maxPointsInRowMax points in a rowLeadvaluebetter
timeSpentInLeadTime spent in leadLeadtimebetter
leadChangesLead changesLeadvaluebetter
biggestLeadBiggest leadLeadvaluebetter
darts7 keys
keynamegroupkindhigherIs
threeDartAverageAverage 3 dartsAttackingvaluebetter
thrown180Thrown 180Attackingvaluebetter
thrownOver140Thrown over 140Attackingvaluebetter
thrownOver100Thrown over 100Attackingvaluebetter
highestCheckoutHighest checkoutAttackingvaluebetter
checkoutsOver100Checkouts over 100Attackingvaluebetter
checkoutsCheckouts accuracyAttackingratiobetter
football51 keys
keynamegroupkindhigherIs
ballPossessionBall possessionMatch overviewvaluebetter
expectedGoalsExpected goalsMatch overviewvaluebetter
bigChancesBig chancesMatch overviewvaluebetter
totalShotsTotal shotsMatch overviewvaluebetter
savesGoalkeeper savesMatch overviewvaluebetter
cornerKicksCorner kicksMatch overviewvaluebetter
foulsFoulsMatch overviewvalueworse
passesPassesMatch overviewvaluebetter
tacklesTacklesMatch overviewvaluebetter
freeKicksFree kicksMatch overviewvaluebetter
yellowCardsYellow cardsMatch overviewvalueworse
shotsOnGoalShots on targetShotsvaluebetter
hitWoodworkHit woodworkShotsvalueworse
shotsOffGoalShots off targetShotsvalueworse
shotsBlockedBlocked shotsShotsvalueworse
shotsInsideBoxShots inside boxShotsvaluebetter
shotsOutsideBoxShots outside boxShotsvaluebetter
bigChancesMissedBig chances missedAttackvalueworse
touchesInPenaltyAreaTouches in penalty areaAttackvaluebetter
fouledFinalThirdFouled in final thirdAttackvaluebetter
offsidesOffsidesAttackvalueworse
accuratePassesAccurate passesPassesvaluebetter
throwInsThrow-insPassesvaluebetter
finalThirdEntriesFinal third entriesPassesvaluebetter
finalThirdPhaseStatisticFinal third phasePassesratiobetter
accurateLongBallsLong ballsPassesratiobetter
accurateCrossesCrossesPassesratiobetter
duelsWonPercentageDuelsDuelsvaluebetter
dispossessedDispossessedDuelsvalueworse
groundDuelsWonGround duelsDuelsratiobetter
aerialDuelsWonAerial duelsDuelsratiobetter
successfulDribblesDribblesDuelsratiobetter
tacklesWonTackles wonDefendingratiobetter
interceptionsInterceptionsDefendingvaluebetter
recoveriesRecoveriesDefendingvaluebetter
clearancesClearancesDefendingvaluebetter
errorsLeadingToShotErrors lead to a shotDefendingvalueworse
errorsLeadingToGoalErrors lead to a goalDefendingvalueworse
diveSavesBig savesGoalkeepingvaluebetter
highClaimsHigh claimsGoalkeepingvaluebetter
punchesPunchesGoalkeepingvaluebetter
goalKicksGoal kicksGoalkeepingvaluebetter
kilometersCoveredDistance coveredMatch overviewvaluebetter
numberOfSprintsNumber of sprintsMatch overviewvaluebetter
redCardsRed cardsMatch overviewvalueworse
averageRatingAverage ratingMatch overviewvaluebetter
expectedGoalsOnTargetExpected goals on targetShotsvaluebetter
bigChancesScoredBig chances scoredAttackvaluebetter
accurateThroughBallsThrough ballsAttackvaluebetter
goalsPreventedGoals preventedGoalkeepingvaluebetter
penaltySavesPenalty savesGoalkeepingvaluebetter
handball16 keys
keynamegroupkindhigherIs
shootingEfficiencyShooting efficiencyGoalsratiobetter
wingGoalsWing goalsGoalsvaluebetter
fastBreakGoalsFastbreak goalsGoalsratiobetter
goals7m7 metersGoalsratiobetter
goals9m9m goalsGoalsvaluebetter
goals6m6m goalsGoalsvaluebetter
savesSavesSavesratiobetter
twoMinutePenalties2 min penaltyPenaltyvalueworse
yellowCardsYellow cardsPenaltyvalueworse
redCardsRed cardsPenaltyvalueworse
maxGoalsInRowGoal streakGoals extravaluebetter
powerPlayGoalsGoals in powerplayGoals extravaluebetter
shortHandedGoalsShorthanded goalsGoals extravaluebetter
stealsStealsOthervaluebetter
technicalFaultsTechnical faultsOthervalueworse
timeoutsTimeoutsOthervaluebetter
ice-hockey32 keys
keynamegroupkindhigherIs
shotsOnGoalShots on goalMatch overviewvaluebetter
penaltiesPenaltiesMatch overviewvalueworse
penaltyMinutesPenalty minutesMatch overviewvalueworse
hitsHitsMatch overviewvaluebetter
blocksBlocked shotsMatch overviewvaluebetter
takeawaysTakeawaysMatch overviewvaluebetter
giveawaysGiveawaysMatch overviewvalueworse
powerPlayConversionPower play %Match overviewratiobetter
faceoffsWonFaceoffs won %Match overviewratiobetter
powerPlayShotConversionPower play shot %Special teamsratiobetter
shortHandedShotConversionShorthanded shot %Special teamsratiobetter
evenStrengthShotConversionEven strength shot %Special teamsratiobetter
powerPlayFaceoffsWonPower play faceoffsSpecial teamsratiobetter
shortHandedFaceoffsWonShorthanded faceoffsSpecial teamsratiobetter
evenStrengthFaceoffsWonEven strength faceoffsSpecial teamsratiobetter
fiveOnFourConversion5v4 conversionSpecial teamsratiobetter
corsiPercentageCorsi %Advancedvaluebetter
fenwickPercentageFenwick %Advancedvaluebetter
averageShotDistanceAverage shot distanceAdvancedvaluebetter
wristGoalsWristShotsratiobetter
slapGoalsSlapShotsratiobetter
backhandGoalsBackhandShotsratiobetter
tipGoalsTipShotsratiobetter
snapGoalsSnapShotsratiobetter
emptyNetGoalsEmpty net goalsMatch overviewvaluebetter
savesSavesMatch overviewvaluebetter
puckPossessionPuck possessionMatch overviewvaluebetter
pokeGoalsPokeShotsratiobetter
fiveOnThreeConversion5v3 conversionSpecial teamsratiobetter
fourOnThreeConversion4v3 conversionSpecial teamsratiobetter
wrapAroundGoalsWrap aroundShotsratiobetter
batGoalsBatShotsvaluebetter
mma46 keys
keynamegroupkindhigherIs
durationSecondsStatistics timeGeneralvalue—
distanceSecondsDistance SecondsDistancevalue—
distancePercentageDistance PercentDistancevalue—
groundSecondsGround SecondsGroundvalue—
groundPercentageGround PercentGroundvalue—
groundClinchSecondsGround Clinch SecondsGroundvalue—
groundClinchPercentageGround Clinch PercentGroundvalue—
groundClinchControlSecondsGround Clinch Control SecondsGroundvaluebetter
groundClinchControlPercentageGround Clinch Control PercentGroundvaluebetter
strikesGroundLandedStrikes GroundGroundvaluebetter
takedownsAttemptedTakedowns AttemptedGroundvaluebetter
takedownsSucceededTakedowns SucceededGroundvaluebetter
takedownsReceivedTakedowns ReceivedGroundvalueworse
takedownsDefendedTakedowns DefendedGroundvaluebetter
takedownsSucceededPercentageTakedown Success RateGroundvaluebetter
takedownsDefendedPercentageTakedown Defense RateGroundvaluebetter
transitionsSucceededTransitions SucceededGroundvaluebetter
transitionsReceivedTransitions ReceivedGroundvalueworse
submissionsAttemptedSubmissions AttemptedGroundvaluebetter
submissionsSucceededSubmissions SucceededGroundvaluebetter
submissionsReceivedSubmissions ReceivedGroundvalueworse
submissionsDefendedSubmissions DefendedGroundvaluebetter
submissionsSucceededPercentageSubmission Success RateGroundvaluebetter
submissionsDefendedPercentageSubmission Defense RateGroundvaluebetter
clinchSecondsClinch SecondsClinchvalue—
clinchPercentageClinch PercentClinchvalue—
clinchControlSecondsClinch Control SecondsClinchvaluebetter
clinchControlPercentageClinch Control PercentClinchvaluebetter
strikesLandedStrikesStrikesvaluebetter
strikesReceivedStrikes ReceivedStrikesvalueworse
strikesDistanceLandedStrikes DistanceStrikesvaluebetter
strikesClinchLandedStrikes ClinchStrikesvaluebetter
significantStrikesLandedSignificant StrikesStrikesvaluebetter
significantStrikesReceivedSignificant Strikes ReceivedStrikesvalueworse
significantStrikesDistanceLandedSignificant Strikes DistanceStrikesvaluebetter
significantStrikesGroundLandedSignificant Strikes GroundStrikesvaluebetter
significantStrikesClinchLandedSignificant Strikes ClinchStrikesvaluebetter
significantStrikesDistancePercentageSignificant Strikes Distance PercentageStrikesvaluebetter
significantStrikesGroundPercentageSignificant Strikes Ground PercentageStrikesvaluebetter
significantStrikesHeadLandedSignificant Strikes HeadStrikesvaluebetter
significantStrikesBodyLandedSignificant Strikes BodyStrikesvaluebetter
significantStrikesLegsLandedSignificant Strikes LegsStrikesvaluebetter
significantStrikesHeadPercentageSignificant Strikes Head PercentageStrikesvaluebetter
significantStrikesBodyPercentageSignificant Strikes Body PercentageStrikesvaluebetter
significantStrikesLegsPercentageSignificant Strikes Legs PercentageStrikesvaluebetter
knockdownsKnockdownsStrikesvaluebetter
rugby21 keys
keynamegroupkindhigherIs
triesTriesScoringvaluebetter
conversionsConversionsScoringvaluebetter
tryAssistsTry assistsScoringvaluebetter
penaltyTriesPenalty triesScoringvaluebetter
penaltyGoalsPenalty goalsScoring othervaluebetter
dropGoalsDrop goalsScoring othervaluebetter
cleanBreaksClean breaksScoring othervaluebetter
carriesCarriesScoring othervaluebetter
ballPossessionBall possessionPossessionvaluebetter
passesPassesPossessionvaluebetter
yellowCardsYellow cardsPenaltyvalueworse
redCardsRed cardsPenaltyvalueworse
penaltiesConcededPenalties concededPenaltyvalueworse
lineoutsWonLineoutsOtherratiobetter
scrumsWonScrumsOtherratiobetter
tacklesTacklesOthervaluebetter
tacklesMissedTackles missedOthervalueworse
turnoversTurnoversOthervalueworse
turnoversWonTurnovers wonOthervaluebetter
metersRunMeters runOthervaluebetter
offloadsOffloadsOthervaluebetter
table-tennis9 keys
keynamegroupkindhigherIs
pointsWonPoints wonPointsvaluebetter
maxPointsInRowMax points in a rowPointsvaluebetter
comebackToWinComeback to winPointsvaluebetter
biggestLeadBiggest leadPointsvaluebetter
servicePointsWonService points wonPointsratiobetter
returnPointsWonReceiver points wonPointsratiobetter
serviceErrorsService errorsPointsvalueworse
timeoutsTimeoutsOthervaluebetter
letsNumber of letsOthervalueworse
tennis42 keys
keynamegroupkindhigherIs
acesAcesServicevaluebetter
doubleFaultsDouble faultsServicevalueworse
firstServesInFirst serveServiceratiobetter
secondServesInSecond serveServiceratiobetter
firstServePointsWonFirst serve pointsServiceratiobetter
secondServePointsWonSecond serve pointsServiceratiobetter
serviceGamesPlayedService games playedServicevaluebetter
breakPointsSavedBreak points savedServiceratiobetter
pointsWonTotalPointsvaluebetter
servicePointsWonService points wonPointsvaluebetter
returnPointsWonReceiver points wonPointsvaluebetter
maxPointsInRowMax points in a rowPointsvaluebetter
gamesWonTotal wonGamesvaluebetter
serviceGamesWonService games wonGamesvaluebetter
maxGamesInRowMax games in a rowGamesvaluebetter
winnersTotalWinnersvaluebetter
forehandWinnersForehandWinnersvaluebetter
backhandWinnersBackhandWinnersvaluebetter
volleyWinnersVolleyWinnersvaluebetter
groundstrokeWinnersGroundstrokeWinnersvaluebetter
lobWinnersLobWinnersvaluebetter
overheadWinnersOverheadWinnersvaluebetter
dropShotWinnersDrop shotWinnersvaluebetter
returnWinnersReturnWinnersvaluebetter
errorsTotalErrorsvalueworse
forehandErrorsForehandErrorsvalueworse
backhandErrorsBackhandErrorsvalueworse
groundstrokeErrorsGroundstrokeErrorsvalueworse
overheadErrorsOverhead strokeErrorsvalueworse
returnErrorsReturnErrorsvalueworse
unforcedErrorsTotalUnforced errorsvalueworse
forehandUnforcedErrorsForehandUnforced errorsvalueworse
backhandUnforcedErrorsBackhandUnforced errorsvalueworse
volleyUnforcedErrorsVolleyUnforced errorsvalueworse
groundstrokeUnforcedErrorsGroundstrokeUnforced errorsvalueworse
lobUnforcedErrorsLobUnforced errorsvalueworse
dropShotUnforcedErrorsDrop shotUnforced errorsvalueworse
firstServeReturnPointsWonFirst serve return pointsReturnratiobetter
secondServeReturnPointsWonSecond serve return pointsReturnratiobetter
returnGamesPlayedReturn games playedReturnvaluebetter
breakPointsConvertedBreak points convertedReturnvaluebetter
tiebreaksTiebreaksMiscellaneousvaluebetter
volleyball2 keys
keynamegroupkindhigherIs
serviceErrorsErrorsServicevalueworse
acesAcesServicevaluebetter