// cs2 data api

The Counter-Strike 2 data API

HLTV has no official API — and blocks the scrapers built to get around it. EsportsOdds is the self-serve alternative: 12,000+ Counter-Strike 2 matches, player and team stats, tournaments, and a de-vigged market line, from one REST + WebSocket API.

// data

Read the whole match, not just the score

Fixtures, results, map scores and vetoes; per-player stats — K/A/D, ADR, KAST, clutches and multi-kills — on the large majority of matches; per-round team economy and duels; plus teams, players and tournaments with head-to-head and form. One consistent, versioned schema. No scraping, no HTML parsing, no rate-limit roulette.

It’s the self-serve, transparently-priced model of the-odds-api — but for Counter-Strike, and with the match and player data behind every line.

cs2-matches.sh
# recent completed CS2 matches
$ curl -H "Authorization: Bearer $EO_KEY" \
    "https://api.esportsodds.gg/v1/cs2/matches?status=completed&limit=1"

{
  "data": [{
    "tournament_name": "IEM Cologne 2026",
    "team_a_name": "Natus Vincere",
    "team_b_name": "FaZe Clan",
    "format": "bo3",
    "status": "completed",
    "score_a": 2, "score_b": 1
  }],
  "meta": { "count": 1 }
}
12,000+
CS2 matches
3,200+
Players tracked
950+
Teams
540+
Tournaments
// why

The CS2 data gap, closed

Official feeds are enterprise-only

The licensed, rights-holding data feeds are built for operators — sales calls, annual contracts, four- to five-figure minimums.

Free tiers come with strings

The free esports data tiers bar commercial or revenue-generating use, throttle you to a few dozen requests an hour, or exclude betting-related products outright.

Odds APIs skip the data

The self-serve odds APIs hand you raw per-book prices with no match, player or team data behind them.

EsportsOdds is the one self-serve API that gives you comprehensive CS2 match, player and team data plus a clean, de-vigged market line — one flat $99/mo, no sales call.

// endpoints

The public surface

MethodPathDescriptionStatusCadence
GET/v1/cs2/matchesFixtures, live scores & resultsLive≤90s
GET/v1/cs2/matches/{id}/statsPer-player K/A/D, ADR, rating, KASTLive≤90s
GET/v1/cs2/teams/{id}/h2hHead-to-head & recent formLivedaily
GET/v1/cs2/players/{id}/statsCareer stat aggregatesLivedaily
GET/v1/cs2/tournamentsTiers, prize pools & standingsLivedaily
GET/v1/cs2/rankingsProprietary team & player rankingsLivedaily
GET/v1/cs2/oddsDe-vigged market line, active matchesMarket≤90s
WS/v1/wsPush updates the moment data changesLivestream

Plain REST with Authorization: Bearer auth — no SDK required, any language. Every response is documented in the OpenAPI reference. Game-namespaced today under /v1/cs2; the schema is title-agnostic.

CS2 data API — FAQ

What CS2 data does the API cover?
Fixtures, live scores and results; per-map scores and vetoes; per-player match stats (K/A/D, ADR, KAST, clutches, multi-kills) on the large majority of matches; per-round team economy and duels; teams, players and tournaments with head-to-head and recent form; and proprietary team and player rankings — 12,000+ matches spanning two seasons.
Is there an official HLTV or Valve API?
No. Counter-Strike has no official public match-data API, and community scrapers get IP-blocked. EsportsOdds is a self-serve, documented alternative — normalized JSON, a versioned schema, and one Bearer token.
How fresh is the data?
Match data and the market line refresh on a polling cadence — typically within a minute or two of an upstream change — and a WebSocket stream notifies you the moment something updates. Freshness, not a countdown.
Do you include odds?
Yes — a single de-vigged market line combined from multiple bookmakers and exchanges (never any one book’s price, and never naming the books), on currently-active matches. Our own model line is coming soon, once it clears validation.
Where does the data come from?
It’s normalized into one consistent schema from public competitive-match records — we never expose per-book prices or any single upstream’s raw feed. See our methodology.
Is there a free plan?
No — one plan at $99/mo for 10,000 requests, every endpoint included. Try the live demo first, no signup needed.
// pricing

One plan. Everything included.

Most popular
Standard
$99/mo
One plan, everything included — CS2 data, stats, and our model line.
All REST endpoints + WebSocketCS2 match, team, player & tournament dataOur model odds line (once validated)Dashboard access & usage analytics

One plan, everything included — 10,000 requests/month. Higher volume? Contact us.

Ship your first odds feed today

One plan — $99/mo for 10,000 requests. Production-ready in minutes.