SSEPush on every plan

CS2 live scores, round by round.

Every Counter-Strike 2 match in progress with the series score, the map being played, its score and the current round. Poll it, or keep a stream open and have each update pushed.

  • Series, map and round score
  • SSE on every plan, WebSocket on Scale
  • 500 free requests / month
GET /cs2/live200 OK
$ curl "https://api.citoapi.com/api/v1/cs2/live" \ -H "x-api-key: $CITO_API_KEY"
{  "data": [    ...    {      "matchId": "cs2-match-2398073",      "eventName": "Stake Pulse Beat II",      "bestOf": 3,      "team1Name": "HEROIC",      "team2Name": "Sangal",      "score": { "team1": 1, "team2": 0 },      "currentMap": "de_dust2",      "currentMapScore": { "team1": 10, "team2": 13 },      "currentRound": 23    }  ],  "meta": { "count": 9 }}

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

Live CS2, as it happens

From the list of live matches down to one player's money in the current round.

Every live match

One call lists matches in progress with event, teams, series score and map in play.

Map and round

The current map's score, the round number and CT/T score for each live match.

Scoreboard

Each player's kills, deaths, money and equipment on the live scoreboard endpoint.

Round history

Every round played so far: winner, side and how the round ended.

Pushed updates

An SSE stream on every plan, and a WebSocket room per match on Scale.

Where to watch

Stream links per match with platform and language, when known.

Polling or push

For a score ticker, poll GET /cs2/live every few seconds: it returns every match in progress with the fields a card needs. For a single match page, poll /cs2/live/{matchId}/state or /cs2/live/{matchId}/scoreboard instead of the whole list.

For push, open GET /cs2/live/stream. It is a Server-Sent Events stream available on every plan and counts like polling. On Scale, the WebSocket at /cs2/live/ws gives each match its own room.

On the free plan live data runs 60 seconds behind. Real-time live data starts on Pro.

Endpoints you can ship with

Live matches first. Open one match for its state, scoreboard and rounds.

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

Live coverage, delay, push and limits

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

See pricing

Build live CS2 score tickers

Start on a free key with a 60-second delay. Real-time live data is on Pro.