The esports data API.
Counter-Strike 2 match data, player stats, and a CS2 odds line — one REST + WebSocket API for developers, data products, and trading desks.
$ curl -H "Authorization: Bearer $EO_KEY" \ api.esportsodds.gg/v1/cs2/odds { "source": "eo_market", "outcome_key": "home", "label": "Eternal Fire", "price": 1.80, "book_count": 3, "captured_at": "2026-10-16T21:22:56Z" }
The CS2 market odds line
Real output from the same API you’d call — our market odds line, refreshed on our ingest cadence. Informational only.
Esports API quickstart
Plain REST with Authorization: Bearer auth plus a WebSocket update stream. It works from any language, and there is an official Python client (pip install esportsodds). Every response is documented in the OpenAPI reference.
- 01Create your key
- 02Call the REST API
- 03Open the update stream
# latest market line for CS2 matches $ curl -H "Authorization: Bearer $EO_KEY" \ "https://api.esportsodds.gg/v1/cs2/odds" # matches, teams, players, tournaments $ curl -H "Authorization: Bearer $EO_KEY" \ "https://api.esportsodds.gg/v1/cs2/matches?status=live" # live updates: mint a 60s ticket, then connect $ curl -X POST -H "Authorization: Bearer $EO_KEY" \ "https://api.esportsodds.gg/v1/cs2/ws-token"
The esports API endpoints
Odds markets we cover
Match-winner lines are available today. The next markets ship as their data clears the same quality bar — see the methodology for the honest status of each.
Why build on this API
Historical CS2 odds data
Lines are never overwritten. Each change is appended with its timestamp, so you can replay how the market moved through a match — pre-game drift, the map-one swing, the comeback — and backtest against the exact prices that existed at the time. The market line starts in July 2026; match results and stats go back to 2020.
Esports titles we cover
Explore the data
Team rankings, map statistics, calculators and plain-English guides, open to read with no account.
Stats and tools
- CS2 team rankings
Teams ranked on our own Glicko-2 rating, rebuilt daily.
- CS2 teams by region
Every ranked team, grouped by region, with its current position.
- CS2 map statistics
How each Active Duty map is played, banned and picked, and its CT-side win rate.
- Odds and probability calculators
Remove the margin from a market, or turn a price into a probability.
Learn the stats
- KAST in CS2 explained
The share of rounds with a kill, assist, survival or trade.
- CS2 ADR explained
What average damage per round really measures.
- CT and T win rates by map
Is CS2 CT-sided or T-sided? Round win rates, map by map.
- CS2 economy explained
Eco rounds, force-buys and the money system.
Browse by topic
- Learn CS2 stats and data
ADR, KAST, ratings, rankings, the round economy and map meta.
- CS2 data and odds glossary
Plain-English definitions of the terms you meet in CS2 data.
- CS2 API guides and tutorials
Quickstart, pulling match data, dashboards and bots.
- Compare esports data APIs
Side-by-side comparisons of the tools for CS2 match data, stats and odds.
- The EsportsOdds blog
Developer guides and CS2 data analysis.
The API
- How the API works
Auth, rate limits, the schema and WebSocket push.
- Plans and pricing
One plan with every endpoint included.
Who uses the esports data API
Stable IDs, one schema, and a push stream — wire scores and odds into your product without babysitting a scraper.
Player and team stats normalized across tournaments, plus a market odds line you can publish alongside them.
Append-only odds history with capture timestamps — model against the prices that actually existed, tick by tick.
Esports data API pricing
No tiers, no metering surprises, no sales calls. $49 a month covers every endpoint, the WebSocket stream, and 50,000 requests. Higher volume? Contact us.
14-day money-back guarantee on your first payment (fewer than 1,000 requests and no more than 20 bulk-export requests) · cancel anytime
Esports data API FAQ
- What CS2 data is there besides odds?
- Fixtures and results; per-map scores and vetoes; per-player match stats (kills, assists, deaths, ADR, KAST, clutches, multi-kills) on most matches; per-round team economy and duels on top-tier events; teams, players and tournaments with head-to-head and recent form; and team and player rankings. That is 27,000+ professional Counter-Strike matches (20,000+ of them on Counter-Strike 2), with history back to 2020. The coverage page says what is thin.
- Where does the odds data come from?
- We publish a single market odds line built from many sources, with our own model line coming soon, once it clears validation. See our methodology.
- How fresh is the data?
- Lines and match data refresh on a polling cadence — typically within tens of seconds of an upstream change — with a WebSocket stream that notifies you the moment something updates. Freshness, not a countdown.
- Which games are supported?
- CS2 is available today; League of Legends, Dota 2 and Valorant are on the roadmap.
- Can an AI assistant use it?
- Yes. The official Python client includes an MCP server, so Claude, Cursor and other AI assistants can look up teams, matches and player stats with your API key. Set-up is on the AI assistants page.
- Is there a free plan?
- For current data, no: one plan at $49/mo for 50,000 requests, paid monthly. To try it first, a free sandbox key reads a fixed sample of past matches, and the demo needs no signup.
Make your first call today
Start free with a sandbox key: a fixed sample of past matches, no card. Then one plan, $49/mo for 50,000 requests.