Skip to main content
GET
/
cs2
/
v1
/
matches
List CS2 matches
curl --request GET \
  --url https://ticktock.bet/cs2/v1/matches \
  --header 'X-API-Key: <api-key>'
{
  "data": [
    {
      "id": "52ef0d9c-7c1f-4c4e-9b3a-4a5e2f8b1c10",
      "team_a": "Sashi",
      "team_b": "OG",
      "team_a_logo": "https://images.ticktock.bet/teams/sashi.png",
      "team_b_logo": "https://images.ticktock.bet/teams/og.png",
      "event": "ESL Pro League S20",
      "bo_type": "bo3",
      "status": "live",
      "scheduled_at": "2026-05-10T17:00:00+00:00",
      "score_a": 1,
      "score_b": 0,
      "map_name": "de_mirage"
    }
  ],
  "meta": {
    "count": 1
  }
}

Documentation Index

Fetch the complete documentation index at: https://docs.ticktock.bet/llms.txt

Use this file to discover all available pages before exploring further.

What it returns

Without ?status: a bucketed list — live matches first, then upcoming, then finished. With a status filter, only that bucket comes back, sorted appropriately. Phantom 0-0 finished/cancelled rows are filtered out — only matches that actually played are returned. Each row carries the basic match shape (id, teams, event, status, scheduled_at, live score). Internal fields like integration IDs and data_delay_seconds only come through if your key has cs2:matches:internals.

Required scope

  • Minimum: cs2:matches:list

Common queries

GoalQuery
Live now?status=live
Upcoming next 24h?status=upcoming
Recently finished?status=finished
Just count?limit=1 and read meta.total

Example

curl -H "X-API-Key: $TT_KEY" \
  "https://ticktock.bet/cs2/v1/matches?status=live&limit=20"
{
  "data": [
    {
      "id": "52ef…",
      "team_a": "Sashi",
      "team_b": "OG",
      "event": "ESL Pro League S20",
      "bo_type": "bo3",
      "status": "live",
      "scheduled_at": "2026-05-10T17:00:00+00:00",
      "score_a": 1,
      "score_b": 0
    }
  ],
  "meta": { "count": 1, "limit": 20 }
}

Authorizations

X-API-Key
string
header
required

Tenant API key issued during onboarding

Headers

accept
string
default:application/json

Query Parameters

status
string | null

Filter by status: one of ('upcoming', 'live', 'finished', 'cancelled').

limit
integer
default:50
Required range: 1 <= x <= 200

Response

Successful Response

Last modified on May 10, 2026