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
{ "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 serverLive 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.
CS2 live data in numbers
Measured on production, with the date each figure was taken.
- Live CS2 match data on the CS2 API refreshes every 15 seconds at the median, measured over 22,479 live sync runs in the 7 days to 3 October 2026.
- The CS2 API answered 197,791 requests in the 24 hours to 3 October 2026 with a median server response time of 227 ms.
- Every CS2 API plan can open the Server-Sent Events stream at /api/v1/cs2/live/stream; it counts one request at connect and one per 15 seconds open.
- Pro, Scale and Enterprise plans get CS2 live data in real time; the Free and Starter plans get it on a 60-second delay.
Live when this page was built
GET /cs2/matches/live at build time. Call it for the current state.
| Match | Series | Event | Format |
|---|---|---|---|
| G2 Ares vs Lunacy | 1–0 | European Pro League Series 10 | Bo3 |
| GenOne vs Inner Circle Academy | 0–1 | CCT 2026 Europe Series 13 | Bo3 |
| Phantom vs Drama | 1–0 | NODWIN Clutch Series 14 | Bo3 |
| Nexus vs MOUZ NXT | 1–0 | CCT 2026 Europe Series 14 | Bo3 |
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 (or Pro with the Live WebSockets add-on), 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.
- GET
/api/v1/cs2/liveMatches in progress: series score, map in play, map score, current round.
- GET
/api/v1/cs2/live/{matchId}/stateOne live match: score, round, round timer, bomb status and players.
- GET
/api/v1/cs2/live/{matchId}/scoreboardSeries score, current map and round, and each player's kills, deaths, money and equipment.
- GET
/api/v1/cs2/live/{matchId}/roundsRound-by-round results so far: winner, side and how each round ended.
- GET
/api/v1/cs2/live/streamServer-Sent Events push of every live update. Every plan; counts like polling.
- GET
/api/v1/cs2/live/wsWebSocket with a room per match. Scale and Enterprise; Pro with the Live WebSockets add-on.
Results
Finished matches with the series score and winner, every map and its score, and the player lines behind them.
- GET
/api/v1/cs2/matches/recentFinished matches with final series score and winner, newest first.
- GET
/api/v1/cs2/matches/{matchId}One match: event, teams, series score, and maps.
- GET
/api/v1/cs2/matches/{matchId}/mapsEach map: name, score, winner, and the team that picked it.
- GET
/api/v1/cs2/matches/{matchId}/player-statsPer-player stats for each map: kills, deaths, ADR, KAST and rating.
- GET
/api/v1/cs2/teams/{teamIdOrSlug}/resultsOne team's finished matches, newest first.
- GET
/api/v1/cs2/events/{eventIdOrSlug}/resultsFinal placements and prize money of a tournament.
Schedule
What is on next: upcoming matches soonest first, today's slate, one team's fixtures, and the tournament calendar.
- GET
/api/v1/cs2/matches/upcomingScheduled matches, soonest first.
- GET
/api/v1/cs2/matches/todayMatches scheduled, live or finished today (UTC).
- GET
/api/v1/cs2/teams/{teamIdOrSlug}/upcomingOne team's scheduled matches.
- GET
/api/v1/cs2/events/upcomingScheduled tournaments, soonest first.
- GET
/api/v1/cs2/events/calendarTournaments in a date range, with from and to.
- GET
/api/v1/cs2/matches/{matchId}/streamsBroadcast links for a match, when known.
Odds & models
Match and map winner prices with implied probability, liquidity and spread, every price change since the market opened, and the team form, map stats and head-to-head a model needs next to them.
- GET
/api/v1/cs2/matches/upcoming?include=oddsUpcoming matches with each one's current market prices attached.
- GET
/api/v1/cs2/matches/{matchId}/oddsMatch and map winner odds: decimal price, implied probability, liquidity, spread, status.
- GET
/api/v1/cs2/matches/{matchId}/odds/historyEvery captured price change for the match and each map, oldest first.
- GET
/api/v1/cs2/teams/{teamIdOrSlug}/formA team's recent results and win rate.
- GET
/api/v1/cs2/teams/{teamIdOrSlug}/map-statsWin rate and matches played on each map.
- GET
/api/v1/cs2/h2h/{teamIdOrSlug}/{opponentIdOrSlug}Head-to-head record and the meetings behind it.
Positions & heatmaps
Where every grenade went off, where each kill and death happened, and where the bomb was planted, in game coordinates and already placed on the map's radar, plus heatmaps per map or per player.
- GET
/api/v1/cs2/maps/{mapId}/utilityEvery smoke, flash, HE and molotov on a map: landing spot, thrower, round, duration.
- GET
/api/v1/cs2/maps/{mapId}/positionsGrenades, bomb plants and kills with attacker and victim spots and callouts, in order.
- GET
/api/v1/cs2/maps/{mapId}/heatmap?kind=smokeCounts per radar cell for smokes, flashes, molotovs, plants, kills or deaths.
- GET
/api/v1/cs2/players/{playerIdOrSlug}/utility?map=MirageWhere one player's grenades land across recent maps, with a heatmap.
- GET
/api/v1/cs2/map-radarsRadar calibration per map to draw any point on a radar image.
Player stats
K/D and rating per map played (ADR and KAST on over 95% of map lines), rolled up into career, yearly and recent-form views.
- GET
/api/v1/cs2/players/{playerIdOrSlug}Nickname, real name, photo, country, team, role and headline stats.
- GET
/api/v1/cs2/players/{playerIdOrSlug}/statsCareer totals plus a stat line per map played.
- GET
/api/v1/cs2/players/{playerIdOrSlug}/seasonsA player's stats by year.
- GET
/api/v1/cs2/players/{playerIdOrSlug}/formThe most recent maps with kills, deaths, ADR, KAST and rating.
- GET
/api/v1/cs2/leaderboards/{metric}Top players by rating, ADR, KAST, K/D, kills or opening kills.
- GET
/api/v1/cs2/players/search?q={name}Find a player by nickname or real name.
Teams & rosters
Team profiles with the current roster, every past lineup, player moves between teams, and how each team plays each map.
- GET
/api/v1/cs2/teams/{teamIdOrSlug}Name, logo, country, region, world ranking and current roster.
- GET
/api/v1/cs2/teams/{teamIdOrSlug}/roster-historyEvery player who has played for the team, with start and end dates.
- GET
/api/v1/cs2/teams/{teamIdOrSlug}/map-statsPer-map win rate, rounds and pick/ban tendencies.
- GET
/api/v1/cs2/teams/{teamIdOrSlug}/vs/{opponentIdOrSlug}Record and past matches between two teams.
- GET
/api/v1/cs2/roster-changes/recentPlayers joining and leaving teams, newest first.
- GET
/api/v1/cs2/transfers/recentPlayer moves between teams, newest first.
Rankings
The world team ranking and the Valve Regional Standings, with points and movement, plus one table per region.
- GET
/api/v1/cs2/rankings/worldThe latest world team ranking.
- GET
/api/v1/cs2/rankings/vrsThe latest Valve Regional Standings (VRS).
- GET
/api/v1/cs2/rankings/region/{region}One region, with each team's world and regional rank.
- GET
/api/v1/cs2/rankingsOne row per team, with points and change since the previous ranking.
Skin prices
The current price of a skin on each marketplace, its daily price history, sell listings across markets, and the week's biggest movers.
- GET
/api/v1/cs2/skins?q={name}Search skins by name, weapon, rarity or price range.
- GET
/api/v1/cs2/skins/{skinIdOrSlug}/pricesThe current price on each marketplace, cheapest first, with offer counts.
- GET
/api/v1/cs2/skins/{skinIdOrSlug}/historyDaily cheapest price across marketplaces, years back on long-listed skins.
- GET
/api/v1/cs2/skins/{skinIdOrSlug}/order-bookSell listings per marketplace with counts, and the lowest ask.
- GET
/api/v1/cs2/skins/trendingBiggest gainers and losers over 1 day to 1 year, with sparklines.
- GET
/api/v1/cs2/skins/{skinIdOrSlug}One skin: weapon, rarity, collection, image and price summary.
Tournaments
Tournaments with dates, prize pool, tier and format, plus every match, the standings and the bracket.
- GET
/api/v1/cs2/events/liveTournaments being played now.
- GET
/api/v1/cs2/events/{eventIdOrSlug}Dates, location, prize pool, tier, teams and format.
- GET
/api/v1/cs2/events/{eventIdOrSlug}/matchesEvery match of the tournament.
- GET
/api/v1/cs2/events/{eventIdOrSlug}/standingsTeams with seed, final placement and prize.
- GET
/api/v1/cs2/events/{eventIdOrSlug}/bracketBracket, groups, play-in and Swiss, each slot with teams, scores and winner.
Frequently asked questions
Live coverage, delay, push and limits
Something missing? Email support@citoapi.com.
How often does CS2 live score data update?
Every 15 seconds at the median: that is the measured gap between live sync runs over the 7 days to 3 October 2026. The SSE stream and WebSocket push each update as it is written.
Is there a CS2 live score API?
Yes. GET /cs2/live returns every Counter-Strike 2 match in progress with the series score, current map, map score and round.
How fast are the live scores?
Real-time on Pro and above. On Free and Starter, live data runs 60 seconds behind the match.
Can I get live updates pushed?
Yes. /cs2/live/stream is a Server-Sent Events stream on every plan. Scale, or Pro with the Live WebSockets add-on, adds a WebSocket at /cs2/live/ws with a room per match.
Does the live API include player stats?
Yes. /cs2/live/{matchId}/scoreboard has each player's kills, deaths, money and equipment during the match.
Which matches are covered live?
Pro tier-one events and the wider circuit of qualifiers and online cups. The live list shows everything currently tracked.
Next to live scores
- CS2 match results APIFinal series scores, map scores and box scores.
- CS2 schedule APIUpcoming matches, today's slate and the tournament calendar.
- CS2 stream overlay APILive scoreboard data for OBS overlays and widgets.
- CS2 Discord bot APILive score and result commands for a Discord bot.
- CS2 tournament APIBrackets, standings, prize pools and every match.
- CS2 API endpointsEvery CS2 endpoint on one page, grouped by job.
Build live CS2 score tickers
Start on a free key with a 60-second delay. Real-time live data is on Pro.