BetaRead the CS2 API docs

The Counter-Strike 2 API.

Live matches down to the round, results with every map, per-map player stats, rosters, rankings, and skin prices. Clean JSON from one key, and an MCP server for your agents.

  • 14,560 matches
  • 8,637 players
  • 28,677 skins
GET /cs2200 OK
$ curl "https://api.citoapi.com/api/v1/cs2" \ -H "x-api-key: $CITO_API_KEY"
{  "success": true,  "data": {    "entityType": "cs2_api_overview",    "name": "Counter-Strike 2 API",    "status": "available",    "coverage": {      "matches": 14560,      "live": 7,      "upcoming": 72,      "teams": 4480,      "players": 8637,      "events": 1507,      "rosterChanges": 150356    }  }}

Seamless Integration with our MCP Server

Give Claude, Cursor, and ChatGPT the CS2 data. One command writes the MCP config; agents call live scoreboard, team map stat, opening duel, and transfer tools instead of inventing match IDs, and your key stays on your machine.

MCPInstall the Cito MCP server
Claude
Cursor
OpenAI
Python
Cito API
Next.js
Discord
Slack
GitHub

One API for the whole scene

Everything a CS2 app, bot, or dashboard reads, from the round in play to a skin's price on each marketplace, behind one key.

Live to the round

Series score, map in play, round score, round timer, bomb status, and each player's money and equipment.

Every map of every result

Finished matches with the series score and winner, and each map's score, winner, and pick.

Per-map player stats

Kills, deaths, ADR, KAST, and rating for every player on every map, rolled up by career and year.

Teams, rosters, transfers

Current rosters, every past lineup with dates, player moves between teams, and per-map win rates.

World ranking and VRS

The world team ranking and the Valve Regional Standings, with points, movement, and regional tables.

Skin prices

28,677 skins with a price on each marketplace, daily history, and the week's biggest movers.

Endpoints you can ship with

Eight groups, one key. Pick what you are building; every route returns the same REST JSON.

Live matches

Poll the live list for every match in progress, open one match for its round, timer, bomb and players, or keep an SSE stream open and get each update pushed.

View docs
  • GET/api/v1/cs2/live

    Matches in progress: series score, map in play, map score, current round.

  • GET/api/v1/cs2/live/{matchId}/state

    One live match: score, round, round timer, bomb status and players.

  • GET/api/v1/cs2/live/{matchId}/scoreboard

    Series score, current map and round, and each player's kills, deaths, money and equipment.

  • GET/api/v1/cs2/live/{matchId}/rounds

    Round-by-round results so far: winner, side and how each round ended.

  • GET/api/v1/cs2/live/stream

    Server-Sent Events push of every live update. Every plan; counts like polling.

  • GET/api/v1/cs2/live/ws

    WebSocket with a room per match. Scale and Enterprise.

FAQs

Coverage, plans, live data, and the beta

Can't find what you're looking for? Contact our customer support team

Read the CS2 docs

Build live scoreboards

Create a free key, call your first CS2 endpoint in a minute, and upgrade when the app is real.