Skip to main content
The Stats API organizes football data around stable entities: competitions, seasons, teams, players, matches, referees, shots, and odds. IDs are stable string values that can be reused across endpoints and API versions.

ID formats

Relationships

Competitions

Competition objects represent leagues, cups, and tournaments. They include geography and coverage flags.

Matches

Match records carry schedule, score, team, competition, and coverage metadata.

Players and teams

Team and player IDs are shared across list, detail, statistics, lineup, heatmap, and odds endpoints. A team’s squad is available through the team players endpoint. Player season stats require competition_id and season_id because the same player can appear across multiple competitions and seasons.

Availability flags

Availability flags indicate whether optional datasets exist before you request them. Common flags include has_team_stats, has_player_stats, xg_available, odds_available, and live_odds_available.
Some endpoints return 404 when coverage is not available for a specific object, such as heatmaps before movement data exists or lineups before official team sheets are announced. Check each endpoint page for endpoint-specific behavior.