V1GameTournaments

List tournaments for a game

GET
/v1/{game}/tournaments

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.

Query Parameters

slug?string

Exact-match filter on the resource's URL slug (e.g. slug=navi), scoped to {game}. Returns the single matching row — or an empty page when nothing matches — in the standard list envelope, so it is a direct by-slug lookup that never depends on page size or the cursor position. Composes with the endpoint's other filters (AND).

status?string

upcoming | ongoing | finished (derived from dates).

Value in

  • "upcoming"
  • "ongoing"
  • "finished"
tier?string
region?string
year?integer
limit?integer

Page size. Clamped to a per-resource maximum; cursor carries the page position.

Range1 <= value
Default100
cursor?string

Opaque forward pagination cursor — pass the previous page's meta.next_cursor verbatim. Omit for the first page. Never construct one by hand.

Response Body

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/v1/cs2/tournaments"
{  "data": [    {      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",      "game_id": "129babd7-0a5a-4108-81e4-77c8f2b49aed",      "slug": "esl-cologne-2026",      "name": "ESL Cologne 2026",      "tier": "S",      "city": "Cologne",      "country_code": "DE",      "region": "EU",      "prize_pool": 1000000,      "prize_pool_currency": "USD",      "current_stage": "Playoffs",      "winner_team_id": "a647f0df-a125-4ec0-8793-2d7fc492c451",      "num_teams": 0,      "starts_at": "2019-08-24T14:15:22Z",      "ends_at": "2019-08-24T14:15:22Z",      "status": "upcoming",      "created_at": "2019-08-24T14:15:22Z",      "updated_at": "2019-08-24T14:15:22Z"    }  ],  "meta": {    "count": 0,    "next_cursor": "string"  }}
{  "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"  }}