← Back to API docs

GET/api/v1/standing

Standings (with platform team ids)
Statistics packageactivebetacoreAvailable (scoped)

Access

Request
GET https://api.sports.csap.ai/api/v1/standing
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 3

ParameterTyperequiredExampleDescription
gcidintegeroptional287Platform competition id
gtidintegeroptional14143Only one team
limitintegeroptional2Number of rows

Example request

curl "https://api.sports.csap.ai/api/v1/standing?limit=2" \
  -H "X-API-Key: YOUR_API_KEY"

Try it

Example response

Real response with an external key at 09/11/2026, 14:29 UTC: HTTP 200, 2 rows, 191 ms (data cut to 2 rows)

{
  "code": 0,
  "data": [
    {
      "away_draws": 1,
      "away_goals_against": 8,
      "away_goals_for": 17,
      "away_losses": 1,
      "away_played": 8,
      "away_points": 19,
      "away_rank": 1,
      "away_wins": 6,
      "draws": 2,
      "gcid": 46,
      "goal_diff": 18,
      "goals_against": 12,
      "goals_for": 30,
      "grp": null,
      "gtid": null,
      "home_draws": 1,
      "home_goals_against": 4,
      "home_goals_for": 13,
      "home_losses": 1,
      "home_played": 6,
      "home_points": 13,
      "home_rank": 5,
      "home_wins": 4,
      "league": "1. Lig",
      "logo": null,
      "losses": 2,
      "name_zh": null,
      "played": 14,
      "points": 32,
      "rank": 1,
      "season_id": "98149",
      "source": "S2",
      "updated_at": "2026-11-09T01:17:00.672346Z",
      "wins": 10,
      "name": "Bursaspor"
    },
    {
      "away_draws": 2,
      "away_goals_against": 5,
      "away_goals_for": 15,
      "away_losses": 1,
      "away_played": 8,
      "away_points": 17,
      "away_rank": 2,
      "away_wins": 5,
      "draws": 3,
      "gcid": 46,
      "goal_diff": 22,
      "goals_against": 11,
      "goals_for": 33,
      "grp": null,
      "gtid": 357,
      "home_draws": 1,
      "home_goals_against": 6,
      "home_goals_for": 18,
      "home_losses": 1,
      "home_played": 6,
      "home_points": 13,
      "home_rank": 4,
      "home_wins": 4,
      "league": "1. Lig",
      "logo": "http://43.99.60.51:8080/logos/4c6955a0de305b1e552b42f031fac48e5144e02225faa4e416003000a9f84077.png",
      "losses": 2,
      "name_zh": "开塞利体育",
      "played": 14,
      "points": 30,
      "rank": 2,
      "season_id": "98149",
      "source": "S2",
      "updated_at": "2026-11-09T01:17:00.673515Z",
      "wins": 9,
      "name": "Kayserispor"
    }
  ],
  "message": "success",
  "success": true
}

Response fields 35

away_drawsintegerAway drawsExample: 1
away_goals_againstintegerExample: 8
away_goals_forintegerAway goals forExample: 17
away_lossesintegerAway lossesExample: 1
away_playedintegerAway matches playedExample: 8
away_pointsintegerExample: 19
away_rankintegerAway rankExample: 1
away_winsintegerAway winsExample: 6
drawsintegerDrawsExample: 2
gcidintegerPlatform competition idExample: 46
goal_diffintegerGoal differenceExample: 18
goals_againstintegerGoals againstExample: 12
goals_forintegerGoalsExample: 30
grpnullnullableGroup
gtidintegernullablePlatform team idExample: 357
home_drawsintegerHome drawsExample: 1
home_goals_againstintegerExample: 4
home_goals_forintegerHome goals forExample: 13
home_lossesintegerHome lossesExample: 1
home_playedintegerHome matches playedExample: 6
home_pointsintegerExample: 13
home_rankintegerHome rankExample: 5
home_winsintegerHome winsExample: 4
leaguestringCompetition name (English)Example: "1. Lig"
logostringnullableLogo (image address on this platform; empty when there is none)
lossesintegerLossesExample: 2
name_enstringEnglish nameExample: "Bursaspor"
name_zhstringnullableChinese nameExample: "开塞利体育"
playedintegerMatches playedExample: 14
pointsintegerPointsExample: 32
rankintegerRankExample: 1
season_idstringSeason idExample: "98149"
sourcestringSource code (S1, S2…)Example: "S2"
updated_atstringLast update time (UTC, ISO 8601; incremental sync with the time parameter goes by it)Example: "2026-11-09T01:17:00.672346Z"
winsintegerWinsExample: 10

Errors

HTTPmessageWhen
401missing API key / unauthorizedNo X-API-Key, or the key is invalid or disabled
429rate limit exceeded / daily quota exceededThe key's per-minute rate or daily quota is exceeded
429server busy, retry laterThe server's concurrency slots are full (only 2 heavy requests at a time); retry after Retry-After seconds
500query errorThe query failed on the server; you may retry