Competition season summary
A/v1/leagues/{id}/seasons/{season}/stats
A competition-season summarised in one call
One competition, one season, in a single call: matches, goals and goals per match, the home win, draw and away win split, goalless and over 2.5 rates, clean sheets both ways, average travel, and the most common scorelines with their share.
Counted from played matches only, so postponed and cancelled fixtures do not drag the averages. Everything except cards comes from results, so it covers every competition rather than only the ones we hold detail on; cards come from collected statistics and carry their own match count.
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
lg_24T9Z0G
season
integer
path
required
2024
Request
curl "https://api.footballsoccerapi.com/v1/leagues/lg_24T9Z0G/seasons/2024/stats" \ -H "X-API-Key: $FSAPI_KEY"
const res = await fetch("https://api.footballsoccerapi.com/v1/leagues/lg_24T9Z0G/seasons/2024/stats", { 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/leagues/lg_24T9Z0G/seasons/2024/stats", headers={"X-API-Key": os.environ["FSAPI_KEY"]}, ) data = r.json()["data"]
$ch = curl_init("https://api.footballsoccerapi.com/v1/leagues/lg_24T9Z0G/seasons/2024/stats"); 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.
{
"data": {
"league_id": 40,
"country_name": "England",
"league_name": "Championship",
"match_count": 7638,
"priced_count": 5766,
"season_first": 2012,
"season_last": 2026,
"coverage": {
"home_kickoff_price": 75.5
}
},
"meta": {
"data_as_of": "2026-09-27T03:47:30Z",
"request_id": "01J9QW3C7M4KX2VB"
}
}
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.