Documentation / Clubs
FOOTBALL CLUB STATISTICS API
Club statsComplimentary key
A club in figures for a season: goals, clean sheets, half-time record and results, home and away. On the complimentary key it reads this season's Premier League.
GET
/v1/clubs/{club_id}/statsTRY ITComplimentary
Kept in this browser for every docs page. No key yet? Get a free key
GET https://api.footballapi.org/v1/clubs/cl_4x2bczxvv/stats?season=2026The answer appears below, with its status and time.
curl "https://api.footballapi.org/v1/clubs/cl_4x2bczxvv/stats?season=2026" \ -H "X-API-Key: your key"
PARAMETERS
club_idrequiredstringA club id from any match, table or club list, such as cl_a7vhnxhhh. In the path.seasonintegerThe first year of the season: 2026 for 2026/27.From 2015, or the competition's first seasonvenuestringHome matches only, or away matches only.home or awayRETURNS
club_idstringOur id for the club, cl_ and 9 characters, the same in every answer and for goodclub_namestringThe clubseason_start_yearintegerThe first year of the season: 2026 for 2026/27venuenull or morehome or away when the table counts only those; null for bothoverallobjectEvery match, home and away togetheroverall.playedintegerMatches countedoverall.wonintegerMatches wonoverall.drawnintegerMatches drawnoverall.lostintegerMatches lostoverall.goals_forintegerGoals scoredoverall.goals_againstintegerGoals let inoverall.clean_sheetsintegerMatches without letting one inoverall.failed_to_scoreintegerMatches without scoringoverall.goal_differenceintegerGoals scored less goals let inoverall.pointsintegerThree for a win, one for a drawoverall.win_pctintegerShare of the matches won, as a percentageoverall.goals_per_gamenumberGoals scored a match, on averageoverall.conceded_per_gamenumberGoals let in a match, on averagehomeobjectThe home sidehome.playedintegerMatches countedhome.wonintegerMatches wonhome.drawnintegerMatches drawnhome.lostintegerMatches losthome.goals_forintegerGoals scoredhome.goals_againstintegerGoals let inhome.clean_sheetsintegerMatches without letting one inhome.failed_to_scoreintegerMatches without scoringhome.goal_differenceintegerGoals scored less goals let inhome.pointsintegerThree for a win, one for a drawhome.win_pctnumberShare of the matches won, as a percentagehome.goals_per_gamenumberGoals scored a match, on averagehome.conceded_per_gamenumberGoals let in a match, on averageawayobjectThe away sideaway.playedintegerMatches countedaway.wonintegerMatches wonaway.drawnintegerMatches drawnaway.lostintegerMatches lostaway.goals_forintegerGoals scoredaway.goals_againstintegerGoals let inaway.clean_sheetsintegerMatches without letting one inaway.failed_to_scoreintegerMatches without scoringaway.goal_differenceintegerGoals scored less goals let inaway.pointsintegerThree for a win, one for a drawaway.win_pctnumberShare of the matches won, as a percentageaway.goals_per_gameintegerGoals scored a match, on averageaway.conceded_per_gamenumberGoals let in a match, on averagehalf_timeobjectThe score at half timehalf_time.recordedintegerMatches with a half-time scorehalf_time.ledintegerMatches the club led at half timehalf_time.led_and_wonintegerOf those, matches it went on to winhalf_time.conversion_pctnumberShare of half-time leads turned into wins, as a percentageEXAMPLE ANSWER
200GET /v1/clubs/cl_4x2bczxvv/stats?season=2026, taken 21 Oct 2026
{ "data": { "club_id": "cl_4x2bczxvv", "club_name": "Tottenham", "season_start_year": 2026, "venue": null, "overall": { "played": 15, "won": 6, "drawn": 5, "lost": 4, "goals_for": 23, "goals_against": 18, "clean_sheets": 5, "failed_to_score": 4, "goal_difference": 5, "points": 23, "win_pct": 40, "goals_per_game": 1.53, "conceded_per_game": 1.2 }, "home": { "played": 9, "won": 4, "drawn": 3, "lost": 2, "goals_for": 17, "goals_against": 10, "clean_sheets": 3, "failed_to_score": 2, "goal_difference": 7, "points": 15, "win_pct": 44.4, "goals_per_game": 1.89, "conceded_per_game": 1.11 }, "away": { "played": 6, "won": 2, "drawn": 2, "lost": 2, "goals_for": 6, "goals_against": 8, "clean_sheets": 2, "failed_to_score": 2, "goal_difference": -2, "points": 8, "win_pct": 33.3, "goals_per_game": 1, "conceded_per_game": 1.33 }, "half_time": { "recorded": 15, "led": 6, "led_and_won": 5, "conversion_pct": 83.3 } }, "meta": { "season": "2026/27", "request_id": "req_11d675c7cdac55f6" } }
ERRORS
401unauthorizedNo key, or a key we do not know.400bad_requestA parameter is missing or not in the right form; the message names it.403upgrade_requiredAnything outside this season's Premier League, on the complimentary key.404not_foundAn id or competition we do not have.422unknown_parameterA parameter this endpoint does not take.429quota_exceededThe day's 50 calls are used, on the complimentary key; they reset at 00:00 UTC.