Description
Returns team and player statistics for the season queried (player statistics, top scorers, team statistics)
Request rate: 120/min
Notes:
Players may transfer within a competition, so a player can have several rows with different teams; they are that player's figures at each team and can be merged
PS: get the ids of changed seasons from the 'data updates' endpoint
Request rate: 120/min
Notes:
Players may transfer within a competition, so a player can have several rows with different teams; they are that player's figures at each team and can be merged
PS: get the ids of changed seasons from the 'data updates' endpoint
Access
- Request
GET https://api.sports.csap.ai/api/v1/players/season/statistics/old- Auth
- Header X-API-Key: <your key> (Authorization: Bearer <key> also works; ?key= is still accepted but discouraged, because the key ends up in URLs and logs)
- External keys
- Available (scoped)External keys can call it, but only data inside the open scope is returned.
- Rate limits
- 3000 per minute · 200000 per day · Set per key (rate_per_min and quota_daily returned by /api/v1/account are authoritative; the numbers above are a trial key's). Beyond them the answer is 429. In addition, heavy requests such as whole-table snapshots and statistics lists without a match id are processed 2 at a time for the whole platform; a request that cannot get a slot receives 429 with Retry-After. Responses do not carry X-RateLimit-* headers for now. See the general guide
Request parameters 1
| Parameter | Type | required | Example | Description |
|---|---|---|---|---|
| id | integer | required | 6917 | Season id |
Example request
curl "https://api.sports.csap.ai/api/v1/players/season/statistics/old?id=6917" \ -H "X-API-Key: YOUR_API_KEY"
Try it
Example response
{
"code": 0,
"data": [
{
"aerial_lost": null,
"aerial_won": null,
"appearances": 13,
"assists": null,
"ball_possession": null,
"blocked_shots": null,
"clean_sheets": null,
"clearances": null,
"competition_id": "202",
"corner_kicks": null,
"court": null,
"crosses": null,
"crosses_accuracy": null,
"dispossessed": null,
"dribble": null,
"dribble_succ": null,
"duels": null,
"duels_won": null,
"fastbreak_goals": null,
"fastbreak_shots": null,
"fastbreaks": null,
"first": null,
"fouls": null,
"freekick_goals": null,
"freekicks": null,
"goal_conceded": null,
"goals": null,
"goals_against": null,
"good_high_claim": null,
"ground_lost": null,
"ground_won": null,
"hit_woodwork": null,
"interceptions": null,
"key_passes": null,
"long_balls": null,
"long_balls_accuracy": null,
"matches": null,
"minutes_played": null,
"offsides": null,
"passes": null,
"passes_accuracy": null,
"penalty": null,
"player_id": "1031665",
"player_name": "Ottó Hindrich",
"players_stats": null,
"position": null,
"poss_losts": null,
"punches": null,
"rating": 7.1307692307692,
"red_cards": null,
"runs_out": null,
"runs_out_succ": null,
"saves": null,
"season_id": "96144",
"shooters": null,
"shots": null,
"shots_on_target": null,
"source": "S2",
"tackles": null,
"team": "Legia Warszawa",
"team_id": null,
"teams_stats": null,
"updated_at": 1793871041609,
"was_fouled": null,
"yellow2red_cards": null,
"yellow_cards": null
},
{
"aerial_lost": null,
"aerial_won": null,
"appearances": 11,
"assists": null,
"ball_possession": null,
"blocked_shots": null,
"clean_sheets": null,
"clearances": null,
"competition_id": "202",
"corner_kicks": null,
"court": null,
"crosses": null,
"crosses_accuracy": null,
"dispossessed": null,
"dribble": null,
"dribble_succ": null,
"duels": null,
"duels_won": null,
"fastbreak_goals": null,
"fastbreak_shots": null,
"fastbreaks": null,
"first": null,
"fouls": null,
"freekick_goals": null,
"freekicks": null,
"goal_conceded": null,
"goals": null,
"goals_against": null,
"good_high_claim": null,
"ground_lost": null,
"ground_won": null,
"hit_woodwork": null,
"interceptions": null,
"key_passes": null,
"long_balls": null,
"long_balls_accuracy": null,
"matches": null,
"minutes_played": null,
"offsides": null,
"passes": null,
"passes_accuracy": null,
"penalty": null,
"player_id": "1036147",
"player_name": "Kacper Trelowski",
"players_stats": null,
"position": null,
"poss_losts": null,
"punches": null,
"rating": 7.1272727272727,
"red_cards": null,
"runs_out": null,
"runs_out_succ": null,
"saves": null,
"season_id": "96144",
"shooters": null,
"shots": null,
"shots_on_target": null,
"source": "S2",
"tackles": null,
"team": "Raków Częstochowa",
"team_id": null,
"teams_stats": null,
"updated_at": 1793871041610,
"was_fouled": null,
"yellow2red_cards": null,
"yellow_cards": null
}
],
"message": "success",
"success": true
}Response fields 66
aerial_lostnullnullable
aerial_wonnullnullable
appearancesinteger
Example: 13assistsintegernullable
Example: 7ball_possessionnullnullable
blocked_shotsnullnullable
clean_sheetsnullnullable
clearancesnullnullable
competition_idstringCompetition id
Example: "202"corner_kicksnullnullable
courtnullnullable
crossesnullnullable
crosses_accuracynullnullable
dispossessednullnullable
dribblenullnullable
dribble_succnullnullable
duelsnullnullable
duels_wonnullnullable
fastbreak_goalsnullnullable
fastbreak_shotsnullnullable
fastbreaksnullnullable
firstnullnullable
foulsnullnullable
freekick_goalsnullnullable
freekicksnullnullable
goal_concedednullnullable
goalsintegernullableGoals
Example: 8goals_againstnullnullableGoals against
good_high_claimnullnullable
ground_lostnullnullable
ground_wonnullnullable
hit_woodworknullnullable
interceptionsnullnullable
key_passesnullnullable
long_ballsnullnullable
long_balls_accuracynullnullable
matchesnullnullableMatches
minutes_playednullnullable
offsidesnullnullable
passesnullnullable
passes_accuracynullnullable
penaltynullnullable
player_idstringPlayer id
Example: "1031665"player_namestringPlayer name
Example: "Ottó Hindrich"players_statsnullnullable
positionnullnullablePosition
poss_lostsnullnullable
punchesnullnullable
ratingnumbernullableRating
Example: 7.1307692307692red_cardsnullnullable
runs_outnullnullable
runs_out_succnullnullable
savesnullnullableSaves
season_idstringSeason id
Example: "96144"shootersnullnullable
shotsnullnullableShots
shots_on_targetnullnullable
sourcestringSource code (S1, S2…)
Example: "S2"tacklesnullnullable
teamstringTeam name
Example: "Legia Warszawa"team_idnullnullableTeam id
teams_statsnullnullable
updated_atintegerLast update time (UTC, ISO 8601; incremental sync with the time parameter goes by it)
Example: 1793871041609was_foulednullnullable
yellow2red_cardsnullnullable
yellow_cardsnullnullable
Errors
| HTTP | message | When |
|---|---|---|
| 401 | missing API key / unauthorized | No X-API-Key, or the key is invalid or disabled |
| 400 | bad param … | Malformed parameter (e.g. id is neither a number nor u<uid>) |
| 301 | match merged into <gmid> | Queried by an old match id that has been merged into a new gmid: Location points to the new address and the body carries moved_to |
| 404 | not found | The match / team / competition does not exist, or is outside what this key can see (external keys see only matches inside the open coverage) |
| 429 | rate limit exceeded / daily quota exceeded | The key's per-minute rate or daily quota is exceeded |
| 429 | server busy, retry later | The server's concurrency slots are full (only 2 heavy requests at a time); retry after Retry-After seconds |
| 500 | query error | The query failed on the server; you may retry |