openapi: 3.1.0
info:
title: Statorium Football API
description: >-
The Statorium Football API delivers comprehensive football/soccer data
for over 200 leagues worldwide. The API provides live scores, match
results, standings, fixtures, lineups, player and team statistics,
head-to-head records, league logos, and translated player and team names.
All responses are in JSON format and require an API token for
authentication.
version: '1.0.0'
contact:
name: Statorium Support
url: https://statorium.com/
termsOfService: https://statorium.com/
externalDocs:
description: Statorium Football API Documentation
url: https://statorium.com/stats-api-documentation
servers:
- url: https://api.statorium.com/api/v1
description: Statorium API Server
tags:
- name: Leagues
description: >-
Access league listings, metadata, and configuration for all supported
football leagues and competitions.
- name: Seasons
description: >-
Retrieve season information, current and historical seasons for
specific leagues.
- name: Matches
description: >-
Access match data including live scores, results, schedules, lineups,
and head-to-head information.
- name: Teams
description: >-
Retrieve team data including squad information, statistics, and
team metadata.
- name: Players
description: >-
Access player data including profiles, statistics, and career
information.
- name: Standings
description: >-
Retrieve league standings and table data for current and past seasons.
security:
- apiKey: []
paths:
/leagues/:
get:
operationId: listLeagues
summary: List All Leagues
description: >-
Returns all leagues the authenticated account has permission to access.
Each league includes an ID, name, country, and optional logo URL.
tags:
- Leagues
parameters:
- $ref: '#/components/parameters/ApiKeyParam'
responses:
'200':
description: List of accessible leagues
content:
application/json:
schema:
type: object
properties:
leagues:
type: array
items:
$ref: '#/components/schemas/League'
'401':
$ref: '#/components/responses/Unauthorized'
/leagues/{leagueId}/:
get:
operationId: getLeague
summary: Get League by ID
description: >-
Retrieves detailed information about a specific league including
name, country, current season, and logo URL.
tags:
- Leagues
parameters:
- $ref: '#/components/parameters/ApiKeyParam'
- name: leagueId
in: path
required: true
schema:
type: integer
description: The unique identifier of the league.
responses:
'200':
description: League details
content:
application/json:
schema:
$ref: '#/components/schemas/League'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
/seasons/:
get:
operationId: listSeasons
summary: List All Seasons
description: >-
Returns all available seasons for the leagues accessible to the
authenticated account.
tags:
- Seasons
parameters:
- $ref: '#/components/parameters/ApiKeyParam'
- name: leagueId
in: query
required: false
schema:
type: integer
description: Filter seasons by league ID.
responses:
'200':
description: List of seasons
content:
application/json:
schema:
type: object
properties:
seasons:
type: array
items:
$ref: '#/components/schemas/Season'
'401':
$ref: '#/components/responses/Unauthorized'
/matches/:
get:
operationId: listMatches
summary: List Matches
description: >-
Returns matches filtered by league, season, team, or date. Supports
live score updates, scheduled fixtures, and completed results.
tags:
- Matches
parameters:
- $ref: '#/components/parameters/ApiKeyParam'
- name: leagueId
in: query
required: false
schema:
type: integer
description: Filter matches by league ID.
- name: seasonId
in: query
required: false
schema:
type: integer
description: Filter matches by season ID.
- name: teamId
in: query
required: false
schema:
type: integer
description: Filter matches involving a specific team.
- name: date
in: query
required: false
schema:
type: string
format: date
description: Filter matches by date (YYYY-MM-DD).
- name: status
in: query
required: false
schema:
type: string
enum:
- live
- scheduled
- finished
description: Filter matches by status.
responses:
'200':
description: List of matches
content:
application/json:
schema:
type: object
properties:
matches:
type: array
items:
$ref: '#/components/schemas/Match'
'401':
$ref: '#/components/responses/Unauthorized'
/matches/{matchId}/:
get:
operationId: getMatch
summary: Get Match by ID
description: >-
Retrieves full details for a specific match including score, lineups,
events, statistics, and head-to-head history between the two teams.
tags:
- Matches
parameters:
- $ref: '#/components/parameters/ApiKeyParam'
- name: matchId
in: path
required: true
schema:
type: integer
description: The unique identifier of the match.
responses:
'200':
description: Match details with lineups and statistics
content:
application/json:
schema:
$ref: '#/components/schemas/MatchDetail'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
/teams/:
get:
operationId: listTeams
summary: List Teams
description: >-
Returns teams filtered by league or season. Includes team name,
country, logo, and founding information.
tags:
- Teams
parameters:
- $ref: '#/components/parameters/ApiKeyParam'
- name: leagueId
in: query
required: false
schema:
type: integer
description: Filter teams by league ID.
- name: seasonId
in: query
required: false
schema:
type: integer
description: Filter teams by season ID.
responses:
'200':
description: List of teams
content:
application/json:
schema:
type: object
properties:
teams:
type: array
items:
$ref: '#/components/schemas/Team'
'401':
$ref: '#/components/responses/Unauthorized'
/teams/{teamId}/:
get:
operationId: getTeam
summary: Get Team by ID
description: >-
Retrieves detailed information about a specific team including squad,
statistics, and season data.
tags:
- Teams
parameters:
- $ref: '#/components/parameters/ApiKeyParam'
- name: teamId
in: path
required: true
schema:
type: integer
description: The unique identifier of the team.
responses:
'200':
description: Team details
content:
application/json:
schema:
$ref: '#/components/schemas/Team'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
/players/{playerId}/:
get:
operationId: getPlayer
summary: Get Player by ID
description: >-
Retrieves detailed information about a specific player including
profile, career history, and season statistics.
tags:
- Players
parameters:
- $ref: '#/components/parameters/ApiKeyParam'
- name: playerId
in: path
required: true
schema:
type: integer
description: The unique identifier of the player.
responses:
'200':
description: Player details
content:
application/json:
schema:
$ref: '#/components/schemas/Player'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
/standings/:
get:
operationId: getStandings
summary: Get Standings
description: >-
Retrieves league standings table for a specific league and season
including team position, points, wins, draws, losses, goals for,
goals against, and goal difference.
tags:
- Standings
parameters:
- $ref: '#/components/parameters/ApiKeyParam'
- name: leagueId
in: query
required: true
schema:
type: integer
description: The league ID for which to retrieve standings.
- name: seasonId
in: query
required: false
schema:
type: integer
description: The season ID (defaults to current season).
responses:
'200':
description: League standings table
content:
application/json:
schema:
type: object
properties:
standings:
type: array
items:
$ref: '#/components/schemas/StandingEntry'
'401':
$ref: '#/components/responses/Unauthorized'
components:
securitySchemes:
apiKey:
type: apiKey
in: query
name: apikey
description: >-
API token provided upon purchase of a data subscription. Include as
query parameter in all requests.
parameters:
ApiKeyParam:
name: apikey
in: query
required: true
schema:
type: string
description: >-
Your Statorium API token for authentication.
schemas:
League:
type: object
description: A football league or competition.
properties:
id:
type: integer
description: Unique identifier for the league.
name:
type: string
description: Name of the league.
country:
type: string
description: Country the league is associated with.
logoUrl:
type: string
format: uri
description: URL to the league logo image.
currentSeasonId:
type: integer
description: ID of the currently active season.
Season:
type: object
description: A league season.
properties:
id:
type: integer
description: Unique identifier for the season.
leagueId:
type: integer
description: ID of the parent league.
name:
type: string
description: Season name (e.g., 2025/2026).
startDate:
type: string
format: date
description: Season start date.
endDate:
type: string
format: date
description: Season end date.
isCurrent:
type: boolean
description: Whether this is the current active season.
Match:
type: object
description: A football match with score and basic information.
properties:
id:
type: integer
description: Unique identifier for the match.
homeTeam:
$ref: '#/components/schemas/TeamRef'
awayTeam:
$ref: '#/components/schemas/TeamRef'
homeScore:
type: integer
description: Home team score.
awayScore:
type: integer
description: Away team score.
status:
type: string
enum:
- live
- scheduled
- finished
description: Current match status.
matchDate:
type: string
format: date-time
description: Date and time of the match.
leagueId:
type: integer
description: ID of the league this match belongs to.
seasonId:
type: integer
description: ID of the season this match belongs to.
minute:
type: integer
description: Current match minute (for live matches).
MatchDetail:
allOf:
- $ref: '#/components/schemas/Match'
- type: object
properties:
homeLineup:
type: array
items:
$ref: '#/components/schemas/LineupPlayer'
description: Home team lineup.
awayLineup:
type: array
items:
$ref: '#/components/schemas/LineupPlayer'
description: Away team lineup.
events:
type: array
items:
$ref: '#/components/schemas/MatchEvent'
description: Match events (goals, cards, substitutions).
statistics:
$ref: '#/components/schemas/MatchStatistics'
headToHead:
type: array
items:
$ref: '#/components/schemas/Match'
description: Previous matches between the two teams.
TeamRef:
type: object
description: A lightweight team reference.
properties:
id:
type: integer
description: Team identifier.
name:
type: string
description: Team name.
nameTranslated:
type: string
description: Translated team name if available.
Team:
type: object
description: A football team with full details.
properties:
id:
type: integer
description: Unique identifier for the team.
name:
type: string
description: Team name.
nameTranslated:
type: string
description: Translated team name.
country:
type: string
description: Country of the team.
logoUrl:
type: string
format: uri
description: URL to the team logo.
founded:
type: integer
description: Year the team was founded.
stadium:
type: string
description: Name of the team's home stadium.
players:
type: array
items:
$ref: '#/components/schemas/PlayerRef'
description: Current squad players.
Player:
type: object
description: A football player with full details.
properties:
id:
type: integer
description: Unique identifier for the player.
name:
type: string
description: Player name.
nameTranslated:
type: string
description: Translated player name if available.
nationality:
type: string
description: Player nationality.
position:
type: string
description: Player position (e.g., Forward, Midfielder).
dateOfBirth:
type: string
format: date
description: Player date of birth.
teamId:
type: integer
description: Current team ID.
shirtNumber:
type: integer
description: Player shirt number.
PlayerRef:
type: object
description: A lightweight player reference.
properties:
id:
type: integer
description: Player identifier.
name:
type: string
description: Player name.
position:
type: string
description: Player position.
LineupPlayer:
type: object
description: A player in a match lineup.
properties:
playerId:
type: integer
description: Player identifier.
name:
type: string
description: Player name.
position:
type: string
description: Player position.
shirtNumber:
type: integer
description: Shirt number worn in this match.
isStarting:
type: boolean
description: Whether the player is in the starting eleven.
MatchEvent:
type: object
description: An event that occurred during a match.
properties:
minute:
type: integer
description: Minute of the match when the event occurred.
type:
type: string
enum:
- goal
- yellow_card
- red_card
- substitution
- penalty
description: Type of match event.
playerId:
type: integer
description: ID of the player involved in the event.
teamId:
type: integer
description: ID of the team involved.
MatchStatistics:
type: object
description: Match statistics for both teams.
properties:
homePossession:
type: number
description: Home team ball possession percentage.
awayPossession:
type: number
description: Away team ball possession percentage.
homeShots:
type: integer
description: Total shots by home team.
awayShots:
type: integer
description: Total shots by away team.
homeShotsOnTarget:
type: integer
description: Shots on target by home team.
awayShotsOnTarget:
type: integer
description: Shots on target by away team.
homeCorners:
type: integer
description: Corners by home team.
awayCorners:
type: integer
description: Corners by away team.
StandingEntry:
type: object
description: A team's position in the league standings.
properties:
position:
type: integer
description: Current position in the table.
team:
$ref: '#/components/schemas/TeamRef'
played:
type: integer
description: Matches played.
won:
type: integer
description: Matches won.
drawn:
type: integer
description: Matches drawn.
lost:
type: integer
description: Matches lost.
goalsFor:
type: integer
description: Goals scored.
goalsAgainst:
type: integer
description: Goals conceded.
goalDifference:
type: integer
description: Goal difference (goalsFor - goalsAgainst).
points:
type: integer
description: Total points.
responses:
Unauthorized:
description: Missing or invalid API key
content:
application/json:
schema:
type: object
properties:
error:
type: string
description: Error message describing the authentication failure.
NotFound:
description: Resource not found
content:
application/json:
schema:
type: object
properties:
error:
type: string
description: Error message indicating the resource was not found.