Description
Returns the standings of the season queried
Request rate: 120/min
PS: get the ids of changed seasons from the 'data updates' endpoint
Request rate: 120/min
PS: get the ids of changed seasons from the 'data updates' endpoint
Access
- Request
GET https://api.sports.csap.ai/api/v1/seasons/table- 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 | 5179 | Season id |
Example request
curl "https://api.sports.csap.ai/api/v1/seasons/table?id=5179" \ -H "X-API-Key: YOUR_API_KEY"
Try it
Example response
{
"code": 0,
"data": [
{
"away_draw": 3,
"away_draws": 3,
"away_goal_diff": null,
"away_goals": 11,
"away_goals_against": 13,
"away_goals_for": 11,
"away_loss": 2,
"away_losses": 2,
"away_played": 6,
"away_points": 6,
"away_position": 7,
"away_rank": 7,
"away_total": 6,
"away_wins": 1,
"away_won": 1,
"color": null,
"comp_ref": "216",
"conference": null,
"deduct_points": null,
"draw": 4,
"draws": 4,
"goal_diff": 3,
"goals": 22,
"goals_against": 19,
"goals_for": 22,
"group": null,
"grp": null,
"home_draw": 1,
"home_draws": 1,
"home_goal_diff": null,
"home_goals": 11,
"home_goals_against": 6,
"home_goals_for": 11,
"home_loss": 2,
"home_losses": 2,
"home_played": 7,
"home_points": 13,
"home_position": 4,
"home_rank": 4,
"home_total": 7,
"home_wins": 4,
"home_won": 4,
"id": 5179,
"league": "Challenge League",
"loss": 4,
"losses": 4,
"name_zh": null,
"name_zht": null,
"note": null,
"played": 13,
"points": 19,
"position": 4,
"promotion_id": null,
"promotions": null,
"rank": 4,
"rows": null,
"season_id": "96585",
"source": "S2",
"stage_id": "96585",
"tables": null,
"team_id": "2464",
"updated_at": 1794232320492,
"wins": 5,
"won": 5,
"name": "SC Kriens"
},
{
"away_draw": 2,
"away_draws": 2,
"away_goal_diff": null,
"away_goals": 7,
"away_goals_against": 8,
"away_goals_for": 7,
"away_loss": 2,
"away_losses": 2,
"away_played": 7,
"away_points": 11,
"away_position": 2,
"away_rank": 2,
"away_total": 7,
"away_wins": 3,
"away_won": 3,
"color": null,
"comp_ref": "216",
"conference": null,
"deduct_points": null,
"draw": 2,
"draws": 2,
"goal_diff": -4,
"goals": 16,
"goals_against": 20,
"goals_for": 16,
"group": null,
"grp": null,
"home_draw": 0,
"home_draws": 0,
"home_goal_diff": null,
"home_goals": 9,
"home_goals_against": 12,
"home_goals_for": 9,
"home_loss": 4,
"home_losses": 4,
"home_played": 6,
"home_points": 6,
"home_position": 7,
"home_rank": 7,
"home_total": 6,
"home_wins": 2,
"home_won": 2,
"id": 5180,
"league": "Challenge League",
"loss": 6,
"losses": 6,
"name_zh": null,
"name_zht": null,
"note": null,
"played": 13,
"points": 17,
"position": 5,
"promotion_id": null,
"promotions": null,
"rank": 5,
"rows": null,
"season_id": "96585",
"source": "S2",
"stage_id": "96585",
"tables": null,
"team_id": "2451",
"updated_at": 1794232320492,
"wins": 5,
"won": 5,
"name": "Neuchâtel Xamax"
}
],
"message": "success",
"success": true
}Response fields 65
away_drawintegerAway matches drawn
Example: 3away_drawsintegerAway draws
Example: 3away_goal_diffnullnullableAway goal difference
away_goalsintegerAway goals for
Example: 11away_goals_againstintegerAway goals against
Example: 13away_goals_forintegerAway goals for
Example: 11away_lossintegerAway matches lost
Example: 2away_lossesintegerAway losses
Example: 2away_playedintegerAway matches played
Example: 6away_pointsintegerAway points
Example: 6away_positionintegerAway rank
Example: 7away_rankintegerAway rank
Example: 7away_totalintegerAway matches
Example: 6away_winsintegerAway wins
Example: 1away_wonintegerAway matches won
Example: 1colornullnullableColour value
comp_refstringCompetition id within the source
Example: "216"conferencenullnullableConference info (only a few competitions have it, e.g. MLS)
deduct_pointsnullnullablePoints deducted
drawintegerMatches drawn
Example: 4drawsintegerDraws
Example: 4goal_diffintegerGoal difference
Example: 3goalsintegerGoals
Example: 22goals_againstintegerGoals against
Example: 19goals_forintegerGoals
Example: 22groupnullnullableNon-zero means the group number in a group stage: 1 = A, 2 = B and so on
grpnullnullableGroup
home_drawintegerHome matches drawn
Example: 1home_drawsintegerHome draws
Example: 1home_goal_diffnullnullableHome goal difference
home_goalsintegerHome goals for
Example: 11home_goals_againstintegerHome goals against
Example: 6home_goals_forintegerHome goals for
Example: 11home_lossintegerHome matches lost
Example: 2home_lossesintegerHome losses
Example: 2home_playedintegerHome matches played
Example: 7home_pointsintegerHome points
Example: 13home_positionintegerHome rank
Example: 4home_rankintegerHome rank
Example: 4home_totalintegerHome matches
Example: 7home_winsintegerHome wins
Example: 4home_wonintegerHome matches won
Example: 4idintegerRecord id; paging cursor (the id parameter returns records >= this value). In match endpoints it is the platform match id (gmid)
Example: 5179leaguestringCompetition name (English)
Example: "Challenge League"lossintegerMatches lost
Example: 4lossesintegerLosses
Example: 4name_enstringEnglish name
Example: "SC Kriens"name_zhnullnullableChinese name
name_zhtnullnullableTraditional Chinese name
notenullnullableNote
playedintegerMatches played
Example: 13pointsintegerPoints
Example: 19positionintegerPosition
Example: 4promotion_idnullnullablePromotion / relegation id
promotionsnullnullablePromotion / relegation list
rankintegerRank
Example: 4rowsnullnullableTeam standings item
season_idstringSeason id
Example: "96585"sourcestringSource code (S1, S2…)
Example: "S2"stage_idstringId of the stage it belongs to
Example: "96585"tablesnullnullableStandings item
team_idstringTeam id
Example: "2464"updated_atintegerLast update time (UTC, ISO 8601; incremental sync with the time parameter goes by it)
Example: 1794232320492winsintegerWins
Example: 5wonintegerWins
Example: 5Errors
| 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 |