V1GamePlayersIdStats

A player's all-time career aggregate

Derived career totals + averages over the player's whole-match stat rows (maps are not double-counted). Averages are null for a player with no rated maps. 404 for an unknown player. Enveloped `{"data": PlayerCareerStats}`.

GET
/v1/{game}/players/{id}/stats

Derived career totals + averages over the player's whole-match stat rows (maps are not double-counted). Averages are null for a player with no rated maps. 404 for an unknown player. Enveloped {"data": PlayerCareerStats}.

Authorization

AuthorizationBearer <token>

Primary auth (live). Authorization: Bearer <api-key> — the header takes precedence over the query fallback. The raw key is hashed (SHA-256, hex) and looked up in api.keys.key_hash; the raw value is never stored.

In: header

Path Parameters

game*string

Game slug. cs2 is the only populated title today; an un-onboarded game 404s cleanly.

id*string

Resource identifier. UUID today; slug-or-UUID (TARGET) — a human slug (e.g. navi, s1mple) resolves to the same row, scoped to {game}.

Response Body

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/v1/cs2/players/018f9c7e-8b2a-7e3d-9f10-2a4b6c8d0e1f/stats"
{  "data": {    "player_id": "f8b23bf6-c56d-4f96-b79c-96d80504663d",    "matches": 0,    "kills": 0,    "deaths": 0,    "assists": 0,    "kd_ratio": 0,    "avg_rating": 0,    "avg_adr": 0,    "avg_kast": 0,    "headshots": 0,    "clutches": 0  }}
{  "error": {    "code": "not_found",    "message": "not found",    "request_id": "018f9c7e-8b2a-7e3d-9f10-2a4b6c8d0e1f"  }}
{  "error": {    "code": "not_found",    "message": "not found",    "request_id": "018f9c7e-8b2a-7e3d-9f10-2a4b6c8d0e1f"  }}
{  "error": {    "code": "not_found",    "message": "not found",    "request_id": "018f9c7e-8b2a-7e3d-9f10-2a4b6c8d0e1f"  }}