Esports odds & data, one call away.
A de-vigged market line combined from multiple bookmakers — never any single book’s price — plus CS2 match data and player stats. Built 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": "NAVI", "price": 1.72, "book_count": 4, "captured_at": "2026-07-02T18:04:11Z" }
The market line
Real output from the same API you’d call: our derived multi-book line — never any single bookmaker’s price — refreshed on our ingest cadence. Informational only.
From key to first odds in under a minute
Plain REST with Authorization: Bearer auth plus a WebSocket update stream — no SDK required, works from any language. 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"
One normalized schema, six resources
One market available, more scheduled
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.
Built for production
Every tick, kept forever
Lines are never overwritten. Each capture 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.
One API, every title on the roadmap
Three desks, one feed
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, with a market line that’s derived — never one book’s opinion.
Append-only odds history with capture timestamps — model against the prices that actually existed, tick by tick.
One plan.
Everything included.
No tiers, no metering surprises, no sales calls. $99 a month covers every endpoint, the WebSocket stream, and 10,000 requests. Higher volume? Contact us.
7-day free trial · card required · cancel anytime
Frequently asked
- Where does the odds data come from?
- We publish a derived market line — de-vigged and combined from multiple bookmakers and exchanges (never any single book’s price, and never naming the books) — with our own modeled 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.
- Is there a free plan?
- No — one plan at $99/mo for 10,000 requests, with a 7-day free trial (card required, cancel anytime before it ends).
Ship your first odds feed today
One plan — $99/mo for 10,000 requests. Production-ready in minutes.