Team match statistics
A/v1/teams/{id}/match-stats
Shots, possession, corners, cards and formations used
What a club actually did on the pitch, averaged per match: shots, shots on target, possession, corners, fouls, offsides and cards. Plus every formation it lined up in, with the record in each — won, drawn, lost and goals both ways.
Everything else on a club is reasoned from results. This is the other kind: it cannot be derived from a scoreline and exists only where it was recorded, so every average carries the number of matches it was computed from. An average over three matches and one over thirty-eight are not the same claim.
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
team_id
string
path
required
tm_1E5HXK9
season
integer
query
2024. e.g. 2024
venue
string
query
home or away matches. Omit for both. e.g. home
Request
curl "https://api.footballsoccerapi.com/v1/teams/tm_1E5HXK9/match-stats?season=2024&venue=home" \ -H "X-API-Key: $FSAPI_KEY"
const res = await fetch("https://api.footballsoccerapi.com/v1/teams/tm_1E5HXK9/match-stats?season=2024&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/teams/tm_1E5HXK9/match-stats?season=2024&venue=home", headers={"X-API-Key": os.environ["FSAPI_KEY"]}, ) data = r.json()["data"]
$ch = curl_init("https://api.footballsoccerapi.com/v1/teams/tm_1E5HXK9/match-stats?season=2024&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.
{
"data": {
"team_id": 1343,
"team_name": "Bradford",
"venue_name": "Valley Parade",
"city_name": "Bradford",
"latitude": 53.795696,
"longitude": -1.776683,
"match_count": 694
},
"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.