FOOTBALL API
The collectionDocumentationMembershipStatusSupport

FOOTBALL CLUB STATISTICS API

Club stats
Complimentary 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}/stats
TRY 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=2026
The 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 season
venuestringHome matches only, or away matches only.home or away

RETURNS

club_idstringOur id for the club, cl_ and 9 characters, the same in every answer and for good
club_namestringThe club
season_start_yearintegerThe first year of the season: 2026 for 2026/27
venuenull or morehome or away when the table counts only those; null for both
overallobjectEvery match, home and away together
overall.playedintegerMatches counted
overall.wonintegerMatches won
overall.drawnintegerMatches drawn
overall.lostintegerMatches lost
overall.goals_forintegerGoals scored
overall.goals_againstintegerGoals let in
overall.clean_sheetsintegerMatches without letting one in
overall.failed_to_scoreintegerMatches without scoring
overall.goal_differenceintegerGoals scored less goals let in
overall.pointsintegerThree for a win, one for a draw
overall.win_pctintegerShare of the matches won, as a percentage
overall.goals_per_gamenumberGoals scored a match, on average
overall.conceded_per_gamenumberGoals let in a match, on average
homeobjectThe home side
home.playedintegerMatches counted
home.wonintegerMatches won
home.drawnintegerMatches drawn
home.lostintegerMatches lost
home.goals_forintegerGoals scored
home.goals_againstintegerGoals let in
home.clean_sheetsintegerMatches without letting one in
home.failed_to_scoreintegerMatches without scoring
home.goal_differenceintegerGoals scored less goals let in
home.pointsintegerThree for a win, one for a draw
home.win_pctnumberShare of the matches won, as a percentage
home.goals_per_gamenumberGoals scored a match, on average
home.conceded_per_gamenumberGoals let in a match, on average
awayobjectThe away side
away.playedintegerMatches counted
away.wonintegerMatches won
away.drawnintegerMatches drawn
away.lostintegerMatches lost
away.goals_forintegerGoals scored
away.goals_againstintegerGoals let in
away.clean_sheetsintegerMatches without letting one in
away.failed_to_scoreintegerMatches without scoring
away.goal_differenceintegerGoals scored less goals let in
away.pointsintegerThree for a win, one for a draw
away.win_pctnumberShare of the matches won, as a percentage
away.goals_per_gameintegerGoals scored a match, on average
away.conceded_per_gamenumberGoals let in a match, on average
half_timeobjectThe score at half time
half_time.recordedintegerMatches with a half-time score
half_time.ledintegerMatches the club led at half time
half_time.led_and_wonintegerOf those, matches it went on to win
half_time.conversion_pctnumberShare of half-time leads turned into wins, as a percentage

EXAMPLE 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.