Get league standings
Universal across baseball (MLB, KBO, NPB), basketball (NBA, KBL), soccer, football (NFL), and hockey (NHL). Baseball / basketball / soccer return an array of sport-specific rows sharing the base standings columns (team, wins, losses, rank): baseball rows add win percentage, games back, and streak; basketball rows add conference/division context; soccer rows add points, goal difference, and group placement.
Football and hockey return a { season, teams } board
projected from the standings columns on the canonical team
docs: NFL rows carry conference/division ranks, playoff seed,
wins/losses/ties, win pct, and points for/against; NHL rows
carry conference/division ranks, playoff seed, wins/losses/OT
losses, standings points, points percentage, and goals
for/against. season is the latest max_year across teams.
competition is required for soccer and optional for baseball
and basketball, where the league id is the competition id.
group applies to cup-stage soccer competitions (e.g.
“Group A”). conference and division filter basketball
standings. The filters are accepted and ignored for football
and hockey, where the league is the competition and rows
already carry conference/division context. Until the standings
ingestion has run for a league, the endpoint returns an empty
array (or an empty teams board) rather than 404.
Authorizations
Send a workspace API token in the Authorization: Bearer <token> header.
Path Parameters
League identifier from the /v1/leagues catalog (e.g. mlb, nba,
epl, nfl, nhl). Unknown values return 404 unsupported_league.
Query Parameters
When true, the response envelope includes per-field provenance
metadata under _meta.provenance (source adapter, ingest run id,
timestamp). Default: omitted.
Response
Standings rows ordered by rank.