League table
A
GET
/v1/standings/{league}/{season}
The table as it stood on any date
The table computed from the same match rows, as it stood on any date. Not a stored table: it is derived, so an as_of in the middle of a season gives you the table as it actually was.
Plan
This endpoint needs Archive.
Calling it on a lower plan returns a 403 naming the plan it needs and
a link to pricing, never a bare refusal.
Parameters
league_id
string
path
required
The competition id. e.g.
lg_24T9Z0G
season
integer
path
required
Season by starting year. e.g.
2024
as_of
string
query
Compute the table as it stood on this date rather than at the end of the season. e.g.
2024-10-19
venue
string
query
Restrict to
home or away matches. Omit for both. e.g. home
Returns
data.league_id
string
Our id for the competition.
data.season_start_year
integer
The year the season starts in: 2026 for 2026/27.
data.as_of
string
As of.
data.table
list
Table.
data.table[].position
integer
Its place in the list as asked: within the country, competition, club or role you narrowed it to.
data.table[].team_id
string
Our id for the club.
data.table[].team_name
string
The club's name.
data.table[].played
integer
Played.
data.table[].won
integer
Won.
data.table[].drawn
integer
Drawn.
data.table[].lost
integer
Lost.
data.table[].goals_for
integer
Goals scored.
data.table[].goals_against
integer
Goals conceded.
data.table[].goal_difference
integer
Goal difference.
data.table[].points
integer
Points.
meta.data_as_of
string
When the data behind this answer was last brought up to date.
meta.request_id
string
This request's id, to quote to support.
meta.note
string
Note.
Request
curl "https://api.footballsoccerapi.com/v1/standings/lg_24T9Z0G/2024?as_of=2024-10-19&venue=home" \ -H "X-API-Key: $FSAPI_KEY"
const res = await fetch("https://api.footballsoccerapi.com/v1/standings/lg_24T9Z0G/2024?as_of=2024-10-19&venue=home", { headers: { "X-API-Key": process.env.FSAPI_KEY } }); const { data, meta } = await res.json();
import os, requests r = requests.get( "https://api.footballsoccerapi.com/v1/standings/lg_24T9Z0G/2024?as_of=2024-10-19&venue=home", headers={"X-API-Key": os.environ["FSAPI_KEY"]}, ) data = r.json()["data"]
$ch = curl_init("https://api.footballsoccerapi.com/v1/standings/lg_24T9Z0G/2024?as_of=2024-10-19&venue=home"); curl_setopt_array($ch, [ CURLOPT_RETURNTRANSFER => true, CURLOPT_HTTPHEADER => ["X-API-Key: {$key}"], ]); $data = json_decode(curl_exec($ch), true)["data"];
Example response
A real row from the archive, fetched when this page rendered. Run it against your own key below.
200 OK
application/json
{
"data": {
"league_id": "lg_24T9Z0G",
"season_start_year": 2024,
"as_of": "2024-10-19",
"table": [
{
"position": 1,
"team_id": "tm_3C40GEH",
"team_name": "Liverpool",
"played": 8,
"won": 6,
"drawn": 1,
"lost": 1,
"goals_for": 17,
"goals_against": 5,
"goal_difference": 12,
"points": 19
},
{
"position": 2,
"team_id": "tm_3WJM4RA",
"team_name": "Man City",
"played": 8,
"won": 5,
"drawn": 2,
"lost": 1,
"goals_for": 17,
"goals_against": 9,
"goal_difference": 8,
"points": 17
}
]
},
"meta": {
"data_as_of": "2026-10-29T04:32:57Z",
"request_id": "01J9QW3C7M4KX2VB",
"note": "Computed from match rows, not stored."
}
}
Run it live
Paste your key and fire the real request. The key is kept in this browser only and never sent anywhere but the API.