Documentation / Seasons
FOOTBALL LEAGUE POSITIONS API
PositionsComplimentary key
Where every club stood in the table before each of its matches in a season. On the complimentary key it reads this season's Premier League.
GET
/v1/competitions/{competition}/seasons/{season}/positionsTRY ITComplimentary
Kept in this browser for every docs page. No key yet? Get a free key
GET https://api.footballapi.org/v1/competitions/premier-league/seasons/2026/positionsThe answer appears below, with its status and time.
curl "https://api.footballapi.org/v1/competitions/premier-league/seasons/2026/positions" \ -H "X-API-Key: your key"
PARAMETERS
competitionrequiredstringA competition from /v1/competitions, such as premier-league. In the path.seasonrequiredintegerThe first year of the season: 2026 for 2026/27. In the path.From 2015, or the competition's first seasonRETURNS
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-DDhomeobjectThe home sidehome.club_idstringOur id for the club, cl_ and 9 characters, the same in every answer and for goodhome.club_namestringThe clubhome.positionintegerPlace in the tableawayobjectThe away sideaway.club_idstringOur id for the club, cl_ and 9 characters, the same in every answer and for goodaway.club_namestringThe clubaway.positionintegerPlace in the tablefull_time_resultstringhome, away or draw, at full timeposition_gapintegerPlaces between the two clubs in the table at kickoff; below 0 when the away side stood higherEXAMPLE ANSWER
200GET /v1/competitions/premier-league/seasons/2026/positions, taken 21 Oct 2026, first rows shown
{ "data": [ { "match_id": "mt_e2hk79mn5", "kickoff_utc": "2026-08-28T19:00:00Z", "kickoff_date": "2026-08-28", "home": { "club_id": "cl_aydtq01vq", "club_name": "Crystal Palace", "position": 16 }, "away": { "club_id": "cl_a7vhnxhhh", "club_name": "Manchester City", "position": 8 }, "full_time_result": "away", "position_gap": -8 }, { "match_id": "mt_9hm3yz9rt", "kickoff_utc": "2026-08-29T11:30:00Z", "kickoff_date": "2026-08-29", "home": { "club_id": "cl_0s0a8kn8x", "club_name": "Liverpool", "position": 10 }, "away": { "club_id": "cl_5bvjqjxyw", "club_name": "Nottingham Forest", "position": 15 }, "full_time_result": "draw", "position_gap": 5 } ], "meta": { "competition": "premier-league", "season": "2026/27", "request_id": "req_7da802c65dfdf7ed" } }
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.