OddsPrice history per match

CS2 odds API: match and map prices, with history.

Prediction-market prices for pro Counter-Strike 2 matches: the series winner and every map as decimal odds per team, whether the market is open, suspended or closed, and every price change kept as history. Live markets refresh every minute, upcoming ones every 15 minutes.

  • Series + per-map markets
  • Open / suspended / closed status
  • Odds on Pro and above
GET /cs2/matches/cs2-match-2399708/odds200 OK
$ curl "https://api.citoapi.com/api/v1/cs2/matches/cs2-match-2399708/odds" \ -H "x-api-key: $CITO_API_KEY"
{  "success": true,  "data": {    "matchId": "cs2-match-2399708",    "teams": {      "team1Name": "MIBR",      "team2Name": "Eternal Fire"    },    "eventName": "Stake Ranked Episode 5",    "odds": [      {        "provider": "polymarket",        "market": "h2h",        "team1Odds": 1.41,        "team2Odds": 3.45,        "marketStatus": "open",        "capturedAt": "2026-10-17T14:15:15.881Z"      },      {        "provider": "polymarket",        "market": "map_h2h_1",        "team1Odds": 1.98,        "team2Odds": 2.02,        "marketStatus": "open"      }      ...    ]  }}

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

Everything a CS2 odds model reads

Current prices, how they moved, and the match they belong to, on the same match ids as results and stats.

Series and map markets

The series winner (h2h) and each map (map_h2h_1, map_h2h_2 ...) as decimal odds for both teams.

Market status

open while trading, suspended when the price is out of band, closed when the market is gone.

Odds history

Every captured price per market with its timestamp: the line's whole path, not just the close.

Fresh while live

Live matches are re-priced every minute, upcoming matches every 15 minutes; capturedAt says when.

Joined to results

The same match id opens maps, round timelines and player stats, so a price meets its outcome in one join.

team1-vs-team2 lookup

Ask for a match by its two team slugs when you do not have the match id yet.

The odds data in numbers

Read on production on 17 October 2026.

  • The CS2 odds API stored 3,916 price snapshots across 47 pro CS2 matches in its first day of collection (16 to 17 October 2026).
  • CS2 odds on the API come from Polymarket and are served as decimal odds per team for the series winner and for each map.
  • Live CS2 matches are re-priced every minute and upcoming matches every 15 minutes; every price carries its capture time.
  • CS2 odds are included on the Pro plan ($59 a month) and above.

Odds endpoints

EndpointReturns
GET /cs2/matches/{matchId}/oddsCurrent price per market, both teams, market status, capture time
GET /cs2/matches/{matchId}/odds/historyEvery captured price per market, oldest first
GET /cs2/matches/{team1}-vs-{team2}/oddsThe same, found by the two team slugs

What this is, and what it is not

These are prediction-market prices, collected and normalised so a model, a dashboard or a research notebook can read them next to the match data. They are not an official data feed and not a sportsbook trading feed.

If you build a wagering product on them, the licences and rules of your market are yours to meet; Cito's terms cover regulated use in detail.

Endpoints you can ship with

Odds sit on the match; results, maps and players are one call away.

Results

Finished matches with the series score and winner, every map and its score, and the player lines behind them.

View docs
  • GET/api/v1/cs2/matches/recent

    Finished 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}/maps

    Each map: name, score, winner, and the team that picked it.

  • GET/api/v1/cs2/matches/{matchId}/player-stats

    Per-player stats for each map: kills, deaths, ADR, KAST and rating.

  • GET/api/v1/cs2/teams/{teamIdOrSlug}/results

    One team's finished matches, newest first.

  • GET/api/v1/cs2/events/{eventIdOrSlug}/results

    Final placements and prize money of a tournament.

Frequently asked questions

Markets, freshness and plans

Something missing? Email support@citoapi.com.

Is there a CS2 odds API?

Yes. GET /cs2/matches/{matchId}/odds returns the current prediction-market price for the series and for each map as decimal odds per team, and /odds/history returns every price captured for the match.

Where do the CS2 odds come from?

From Polymarket, a prediction market. The provider field on every price says so.

How often are CS2 odds updated?

As soon as the market price changes, for live matches and matches starting within 6 hours, through every map and between rounds; matches further out refresh every 15 minutes. With Live WebSockets every change is pushed as a cs2.odds.updated message. capturedAt on each price is when it was last confirmed.

Can I get historical CS2 odds?

Yes, from 16 October 2026 onwards: /cs2/matches/{matchId}/odds/history lists every captured price per market, so you can rebuild how a line moved.

Which plan includes CS2 odds?

Pro ($59 a month) and above. Free and Starter keys get a 403 that names the plan.

Are there odds webhooks?

No. Poll the odds endpoint; live markets change at most once a minute.

See pricing

Model CS2 match odds

Read your first CS2 price in a minute, then upgrade to Pro for the full odds feed.