HLTVHLTV API alternative, compared

Looking for an HLTV API?

HLTV does not publish an API, its terms of use forbid scraping, and the site answers scripts with a Cloudflare 403. The Cito CS2 API serves the same kinds of data as documented REST endpoints with a free key.

  • No scraping to maintain
  • Stable IDs and slugs
  • 500 free requests / month
GET /cs2/leaderboards/rating?limit=2200 OK
$ curl "https://api.citoapi.com/api/v1/cs2/leaderboards/rating?limit=2" \ -H "x-api-key: $CITO_API_KEY"
{  "success": true,  "data": [    {      "playerName": "jks",      "teamName": "FlyQuest",      "maps": 35,      "rating": 1.48,      "adr": 91.8,      "kast": 0.814,      "kd": 1.56    },    "..."  ],  "meta": {    "metric": "rating",    "windowDays": 90,    "minMaps": 20  }}

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

Does HLTV have an API?

No. HLTV offers no official public API and no developer program. Packages called "HLTV API" download hltv.org pages and parse the HTML, which HLTV's terms of use (effective 27 January 2025, clause 2.2) prohibit, and which now fails on a Cloudflare challenge.

The exact error and how to detect it: HLTV scraper alternative. Every option side by side: HLTV API alternative.

HLTV scraping or a CS2 API?

Teams move off scrapers once a project is real: the API is a contract, a scraper is a guess about someone else's HTML.

Scraping HLTVCito CS2 API
Official public APINoneYes, REST with an OpenAPI spec
AccessCloudflare challenge (403 "Just a moment...")One API key in a header
TermsScraping prohibited (clause 2.2)Commercial use on paid plans
When the site changesThe scraper breaksSame JSON contract
Live scoresScorebot, often blocked/cs2/matches/live, SSE and WebSocket
Player ratingsParse stat tablesPer map, career, form and leaderboards
Skin pricesNot on HLTVPer marketplace with daily history

Which endpoint replaces each HLTV page?

HLTV-style code nearly always does the same jobs. Each one is a single GET, and players and teams take the slugs you already know, such as zywoo or vitality.

HLTV pageEndpoint
ResultsGET /cs2/matches/results
Matches (upcoming)GET /cs2/matches/upcoming
Live scorebotGET /cs2/matches/live or the /cs2/live/stream SSE stream
Player profile and statsGET /cs2/players/{slug} and /cs2/players/{slug}/matches
Top playersGET /cs2/leaderboards/rating
Team rankingGET /cs2/rankings/world and /cs2/rankings/vrs
Team pageGET /cs2/teams/{slug}, /results and /map-stats

Which HLTV API guide do I need?

One page per question, each with working code checked against production.

You wantRead
Compare every way to get HLTV-style dataHLTV API alternative
HLTV data in PythonHLTV API in Python
HLTV data in JavaScript or Node.jsHLTV API in JavaScript
Fix a scraper getting 403 "Just a moment..."HLTV scraper alternative
The team ranking as JSONHLTV rankings API
Player ratings, ADR and KAST as JSONHLTV stats API

All of it is part of the Counter-Strike 2 API. CS2 API is independent and not affiliated with HLTV.

How much CS2 data is behind it?

Measured on production, with the date each figure was taken.

  • The CS2 API indexes 15,315 Counter-Strike 2 matches, 4,507 teams and 8,828 players across 1,534 tournaments (as of 12 October 2026).
  • 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.
  • The CS2 API serves the world ranking (250 teams) and the Valve Regional Standings (349 teams), updated 12 October 2026.
  • The free CS2 API plan includes 500 requests a month, 10 requests a minute and live data on a 60-second delay, with no credit card.

Endpoints you can ship with

The HLTV-style jobs: results, player stats, rankings and live.

Player stats

Rating, ADR, KAST and K/D for every map a player has played, rolled up into career, yearly and recent-form views.

View docs
  • GET/api/v1/cs2/players/{playerIdOrSlug}

    Nickname, real name, photo, country, team, role and headline stats.

  • GET/api/v1/cs2/players/{playerIdOrSlug}/stats

    Career totals plus a stat line for every map played.

  • GET/api/v1/cs2/players/{playerIdOrSlug}/seasons

    A player's stats by year.

  • GET/api/v1/cs2/players/{playerIdOrSlug}/form

    The 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.

FAQs

HLTV, scraping and the alternative

Can't find what you're looking for? Contact our customer support team

Read the CS2 docs

Stop scraping CS2 results

Swap the scraper for one key. Free to test.