Skip to main content
GET
/
cs2
/
v1
/
teams
/
{hltv_id}
/
h2h
/
{opponent_id}
Head-to-head between two CS2 teams
curl --request GET \
  --url https://ticktock.bet/cs2/v1/teams/{hltv_id}/h2h/{opponent_id} \
  --header 'X-API-Key: <api-key>'
{
  "data": {
    "hltv_id": 11712,
    "name": "Sashi",
    "country_code": "DK",
    "world_ranking": 42,
    "region": "EMEA",
    "time_filter": "3months",
    "map_stats": [
      {
        "map_name": "all",
        "maps_played": 87,
        "wins": 51,
        "losses": 33,
        "win_rate": 0.586,
        "rating": 1.06,
        "ct_round_win_pct": 0.524,
        "t_round_win_pct": 0.481
      }
    ]
  }
}

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

Looks at every finished match between two HLTV team ids and produces three blocks:

summary

Match-level and map-level W/L counts plus draws, all from the path’s first id (hltv_id) perspective:
{
  "total_matches": 12,
  "team_wins": 7,
  "opponent_wins": 4,
  "draws": 1,
  "team_map_wins": 18,
  "opponent_map_wins": 13
}

aggregated

Round-level analytics across every map with at least one ended round. null when no round data is available (yet-to-be-tracked or pure-walkover matches):
FieldMeaning
total_maps, total_rounds, rounds_per_mapVolume
team_a_ct_rounds_won, team_a_t_rounds_wonSide-specific round wins from team perspective
team_b_ct_rounds_won, team_b_t_rounds_wonSame for opponent
pistol_rounds_total, team_a_pistol_wins, team_b_pistol_winsPistol-round W/L
team_a_first_kills, team_b_first_killsFirst-kill counts
team_a_first_kill_win_pct, team_b_first_kill_win_pctRound-win conversion when getting the first kill
race_to_6_team_a_win_pct% of maps where team reached 6 round wins first. Same for 9 and 12.
team_a_headshots, team_b_headshotsTotal headshot kills
team_a_headshot_pct, team_b_headshot_pctHeadshots ÷ total kills
(team_a = team, team_b = opponent throughout.)

recent_fixtures

Compact list of the most recent N fixtures, normalised to team’s perspective:
{
  "match_id": "…",
  "scheduled_at": "2026-04-22T18:00:00+00:00",
  "finished_at": "2026-04-22T19:38:11+00:00",
  "event_name": "ESL Pro League S20",
  "bo_type": "bo3",
  "team": "Sashi",
  "opponent": "OG",
  "team_maps_won": 2,
  "opponent_maps_won": 1,
  "won": true
}
For full match metadata or per-map detail, follow the match_id to Get Match.

Required scope

  • Minimum: cs2:teams:read

Query

ParamDefaultDescription
limit20Most recent N finished fixtures (max 100).

Example

curl -H "X-API-Key: $TT_KEY" \
  "https://ticktock.bet/cs2/v1/teams/11712/h2h/9215?limit=10"

Use cases

  • Pre-match models — feed the full aggregated block as features (CT/T splits, pistol conversion, race-to-N).
  • Display surfacessummary + recent_fixtures for the match preview UI.
  • Fundamental factors — first-kill win % and headshot % as priors for player-prop pricing.

Authorizations

X-API-Key
string
header
required

Tenant API key issued during onboarding

Path Parameters

hltv_id
integer
required
opponent_id
integer
required

Query Parameters

limit
integer
default:20

Most recent N fixtures.

Required range: 1 <= x <= 100

Response

Successful Response

The response is of type Response Get Team H2H Cs2 V1 Teams Hltv Id H2H Opponent Id Get · object.

Last modified on May 10, 2026