Esports Teams API.
Form, rosters, map pools, H2H, team lines.

The team-level counterpart to player research: one directory across every title, one stable kr_tm_* id per team, and the context a preview or model actually needs — form, roster, maps, H2H and main lines.

GET /v7/cs2/teams?q=vitality&include=form

A real directory hit — 8,424 CS2 teams behind one stable id space.

Attach only what you need: include=form for recent results, roster for the lineup, maps for the map pool and win rates, main_lines for moneyline open/close per book. Pass team1+team2 for a head-to-head.

GET /v7/cs2/teams?q=vitality&include=form
{
  "available": true,
  "sport": "cs2",
  "total": 8424,
  "teams": [
    {
      "canonical_team_id": "kr_tm_b349f7d0bab9",
      "name": "mens",
      "slug": "mens",
      "rank": null
    }
  ]
}

What a team id carries

Frequently asked questions

What does the teams endpoint return?

A team directory keyed by stable kr_tm_* ids. Search by name with q= or fetch one team by id=, then attach what you need with include=: recent form, current roster, map pool and map win rates, head-to-head, upcoming fixtures, and main lines (moneyline open/close per book plus record against the closing line).

How do I get a head-to-head between two teams?

Pass team1= and team2= together — the response returns the meeting history and shared context for the pair. Each team can be a kr_tm_* id or a slug.

What are main_lines?

include=main_lines attaches the team's moneyline history per book — open, close, and how the team performed against the closing line — on the same schema as /lines.

Are team ids stable across books?

Yes. A team has one kr_tm_* id no matter how an upstream source spells or orders the name — the same id you get back from /v7/{sport}/matches.

Which plan do I need?

Teams is on Hobby and above — from $29/mo. Player-level research on the same key is in /v7/{sport}/players.