Documentation / Clubs
FOOTBALL CLUB MATCHES API
Club matchesComplimentary key
Every match of a club, played and still to come, by season and home or away, paged. On the complimentary key it reads this season's Premier League.
GET
/v1/clubs/{club_id}/matchesTRY 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/matches?per_page=2The answer appears below, with its status and time.
curl "https://api.footballapi.org/v1/clubs/cl_4x2bczxvv/matches?per_page=2" \ -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 awaypageintegerWhich page, from 1.From 1 to 100,000per_pageintegerRows on a page. Default 100.From 1 to 1,000cursorstringmeta.next_cursor from the page before, passed back unchanged. Faster than page for long walks.RETURNS
match_idstringOur id for the match, mt_ and 9 characters, the same in every answer and for goodkickoff_utcstringKickoff in UTC, ISO 8601kickoff_datestringThe day of kickoff in UTC, YYYY-MM-DDcompetitionstringThe competition's name in the collection, such as premier-leagueseason_start_yearintegerThe first year of the season: 2026 for 2026/27match_statusstringWhere the match stands, such as finished or not startedfull_time_resultnull or morehome, away or draw, at full timehalf_time_resultnull or morehome, away or draw, at half timecountry_namestringThe country, or World or Europe for a tournamentcompetition_namestringThe competition as people write itvenuestringhome or away when the table counts only those; null for bothopponent_idstringOur id for the other clubopponent_namestringThe other clubgoals_fornull or moreGoals scoredgoals_againstnull or moreGoals let inregular_goals_fornull or moreGoals scored by the club in 90 minutes and added timeregular_goals_againstnull or moreGoals let in by the club in 90 minutes and added timepositionintegerPlace in the tabletravel_kmintegerHow far the club came for this match, in kilometres; 0 at homeground_namestringThe groundcity_namestringThe city of the groundoutcomenull or morewon, drawn or lost, for the club the answer is aboutEXAMPLE ANSWER
200GET /v1/clubs/cl_4x2bczxvv/matches?per_page=2, taken 21 Oct 2026
{ "data": [ { "match_id": "mt_bz20hr56m", "kickoff_utc": "2027-05-30T15:00:00Z", "kickoff_date": "2027-05-30", "competition": "premier-league", "season_start_year": 2026, "match_status": "scheduled", "full_time_result": null, "half_time_result": null, "country_name": "England", "competition_name": "Premier League", "venue": "away", "opponent_id": "cl_7me91q2ds", "opponent_name": "Aston Villa", "goals_for": null, "goals_against": null, "regular_goals_for": null, "regular_goals_against": null, "position": 16, "travel_km": 160, "ground_name": "Villa Park", "city_name": "Birmingham", "outcome": null }, { "match_id": "mt_7e6n522jz", "kickoff_utc": "2027-05-23T14:00:00Z", "kickoff_date": "2027-05-23", "competition": "premier-league", "season_start_year": 2026, "match_status": "scheduled", "full_time_result": null, "half_time_result": null, "country_name": "England", "competition_name": "Premier League", "venue": "home", "opponent_id": "cl_3pekhsfp3", "opponent_name": "Manchester United", "goals_for": null, "goals_against": null, "regular_goals_for": null, "regular_goals_against": null, "position": 16, "travel_km": null, "ground_name": "Tottenham Hotspur Stadium", "city_name": "London", "outcome": null } ], "meta": { "count": 2, "page": 1, "per_page": 2, "total": 1629, "total_pages": 815, "next_page": 2, "prev_page": null, "next_cursor": null, "request_id": "req_6bb9d249889b7e02" } }
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.