Polymarket CS2 data, joined to the match.
Every Polymarket CS2 market we track, as clean decimal odds on our match ids: the series and each map, open or suspended, with the full price history. Next to it, the live score, the map veto, round timelines and player form, so a trading model sees the price and the game in one place.
- Prices on Cito match ids
- Price history per market
- Odds on Pro and above
{ "success": true, "data": { "matchId": "cs2-match-2399708", "teams": { "team1Name": "MIBR", "team2Name": "Eternal Fire" }, "history": [ { "market": "h2h", "team1Odds": 1.4, "team2Odds": 3.51, "capturedAt": "2026-10-16T17:54:41.957Z" }, { "market": "map_h2h_1", "team1Odds": 1.92, "team2Odds": 2.08, "capturedAt": "2026-10-16T17:54:41.957Z" }, { "market": "map_h2h_1", "team1Odds": 2, "team2Odds": 2, "capturedAt": "2026-10-16T18:00:16.303Z" } ... ] }}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 serverThe price and the game, side by side
Polymarket's CS2 markets mapped to the match they settle on, plus the data that moves them.
Mapped to the match
Each market is joined to its CS2 match and oriented to team1 / team2, so you never guess which side a price is.
Price history
Every captured price per market: backtest entries and exits against how the line actually moved.
Live score
Map and round score while it trades, by polling, SSE, WebSocket (Scale) or webhooks (Pro).
Map veto
Bans, picks and the decider for each series: the information that moves map markets first.
Round timelines
Purchases, kills and equipment per round for demo-parsed maps, for in-play models.
Form and head-to-head
Team results, map pools and head-to-head records to price a match before the market does.
Polymarket CS2 data in numbers
Read on production on 17 October 2026.
- The API stored 3,916 Polymarket price snapshots across 47 pro CS2 matches between 16 and 17 October 2026.
- Polymarket CS2 markets are mapped to Cito match ids and oriented to the match's team1 and team2.
- 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.
Who this is for
Traders and quants who price CS2 markets: the API gives you the market's own price history and the match data you need to disagree with it, on stable ids you can store.
Prices are collected from Polymarket and normalised; they are not an official feed and carry no settlement guarantee. Settle on the market's own rules.
Endpoints you can ship with
Start with live matches; open one for its odds, veto and maps.
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
Polymarket data, freshness and plans
Something missing? Email support@citoapi.com.
Does the API cover Polymarket CS2 markets?
Yes. The CS2 markets we track on Polymarket are served per match: series winner and each map, with prices as decimal odds for both teams and the market's status.
Can I backtest a Polymarket CS2 strategy?
Yes, from 16 October 2026: /cs2/matches/{matchId}/odds/history keeps every captured price, and the same match id opens the result, maps and rounds.
How fresh are the prices?
Live matches every minute, upcoming matches every 15 minutes.
Which plan do I need?
Odds are on Pro ($59 a month) and above. Real-time live scores are on Pro too; WebSockets are on Scale or Pro with the add-on.
Is this an official Polymarket API?
No. It is Cito's CS2 API with Polymarket prices collected and mapped to CS2 matches. Use Polymarket's own API to trade.
More for traders
- CS2 odds APIPolymarket match and map prices with market status and odds history.
- CS2 historical data API22,408 completed matches since 2017 for models and backtests.
- CS2 map veto APIEvery ban, pick and decider per series, with the picking team per map.
- CS2 WebSocket APILive matches pushed: SSE on every plan, WebSocket on Scale, webhooks on Pro.
- CS2 API pricingFree, Starter, Pro and Scale: requests, live delay and history per plan.
Trade CS2 map markets
Create a key, read a market's price history, and go Pro when the model is real.