Discover/csstats API
live

csstats APIcsstats.gg ↗

Access CS2 player statistics, match history, scoreboards, leaderboards, and ban data from csstats.gg via a structured JSON API.

Endpoint health
verified 12h ago
get_player_stats
get_player_matches
get_match_scoreboard
get_ban_stats
get_player_played_with
8/8 passing latest checkself-healing
Endpoints
8
Updated
20d ago

What is the csstats API?

The csstats.gg API exposes 8 endpoints covering Counter-Strike 2 player profiles, match history, and leaderboard rankings. Use get_player_stats to retrieve aggregated career stats including K/D ratio, HLTV Rating, ADR, HS%, and Win Rate for any Steam ID, or call get_match_scoreboard to pull full per-player scoreboard data for a specific match. Player lookup, ban monitoring, and played-with history are also available.

This call costs3 credits / call— charged only on success
Try it
Steam ID (17-digit numeric), player name, or Steam profile URL
→ api.parse.bot/scraper/758b30c6-74c7-46ea-a4fb-2efd60740f7c/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/758b30c6-74c7-46ea-a4fb-2efd60740f7c/search_player?query=s1mple' \
  -H 'X-API-Key: $PARSE_API_KEY'
All endpoints · 8 totalmissing one? ·

Search for a player by Steam ID, name, or profile URL. When a 17-digit Steam ID is provided, returns the resolved profile URL directly. Name-based queries resolve via the site's search form and may return multiple matching players.

Input
ParamTypeDescription
queryrequiredstringSteam ID (17-digit numeric), player name, or Steam profile URL
Response
{
  "type": "object",
  "fields": {
    "players": "array of player objects with name, steam_id, profile_url (present when multiple results found)",
    "steam_id": "string - resolved 64-bit Steam ID (present for single-result lookups)",
    "profile_url": "string - full URL to the player's csstats.gg profile (present for single-result lookups)"
  },
  "sample": {
    "data": {
      "players": [
        {
          "name": "s1mple",
          "steam_id": "76561197978186923",
          "profile_url": "https://csstats.gg/player/76561197978186923"
        }
      ]
    },
    "status": "success"
  }
}

About the csstats API

Player Lookup and Stats

The search_player endpoint accepts a 17-digit Steam ID, a player name, or a Steam profile URL. When a direct Steam ID is provided it returns the resolved profile_url immediately; name-based queries may return an array of matching player objects each with name, steam_id, and profile_url. Once you have a steam_id, get_player_stats returns an overview object containing labeled stat pairs — K/D, HLTV Rating, ADR, HS%, Win Rate — aggregated across the player's career on csstats.gg.

Match History and Scoreboards

get_player_matches returns an array of match objects ordered most-recent-first, each carrying match_id, ISO 8601 UTC date, map, score, result (w/l/t), and per-match performance fields including k, d, a, hs, adr, and rating. The match_id values feed into two match-level endpoints: get_match_scoreboard returns both teams as arrays of player objects (name, steam_id, k, d, a, rating), while get_player_match_stats returns a single player's detailed stat panels — base, summary, utility, fk, trade, 1vX, and multikill — each mapped to column codes with display, value, and detail fields. The team field in get_player_match_stats aligns with the team index order from get_match_scoreboard.

Leaderboards and Social Data

get_leaderboard returns ranked players with rank, name, steam_id, and elo for the premier or wingman modes. get_player_played_with retrieves stats for players encountered in a given player's match history, with pagination via an offset parameter. get_ban_stats returns a single field — total_bans_30d — representing the comma-formatted count of VAC and game bans detected across all tracked players in the last 30 days.

Reliability & maintenanceVerified

The csstats API is a managed, monitored endpoint for csstats.gg — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when csstats.gg changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official csstats.gg API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
12h ago
Latest check
8/8 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Track a player's HLTV Rating and ADR trends over time using get_player_matches combined with get_player_stats
  • Build a CS2 team analysis tool by pulling full scoreboards via get_match_scoreboard for recent matches
  • Monitor Premier leaderboard rankings and elo changes with get_leaderboard on a scheduled basis
  • Identify frequent teammates or opponents for a player using get_player_played_with with offset-based pagination
  • Aggregate global VAC and game ban activity across tracked CS2 players using get_ban_stats
  • Resolve arbitrary Steam IDs, names, or profile URLs to a canonical steam_id for downstream processing via search_player
  • Compare per-round utility and trade stats between two players in the same match using get_player_match_stats
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 req/min

Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does csstats.gg have an official developer API?+
csstats.gg does not publish an official public developer API or documented data access program. This Parse API provides structured access to the data available on their site.
What does get_player_match_stats return beyond the basic scoreboard fields?+
It returns detailed stat panels grouped by category: base, summary, utility, fk (first kill), trade, 1vX (clutch), and multikill. Each panel maps stat column codes to an object with display string, numeric value, and a detail field. It also includes the player's team index (matching get_match_scoreboard) and a rank or level badge label when the site shows one, or null when absent.
Does get_player_matches return the full historical match archive for a player?+
The endpoint returns the match history shown on the player's csstats.gg stats page, which reflects what the site surfaces — typically recent matches rather than a complete lifetime archive. Very old matches may not appear. You can fork this API on Parse and revise it to add offset or date-range parameters if your use case requires deeper history pagination.
Are per-map or per-weapon career breakdowns available?+
Not currently. The API covers overall career overview stats via get_player_stats and per-match performance via get_player_matches and get_player_match_stats, but does not include per-map win rates or per-weapon kill breakdowns. You can fork it on Parse and revise to add the missing endpoint if that data appears on csstats.gg profile pages.
What is the scope of get_ban_stats — is it per-player or global?+
It is global. The endpoint returns a single field, total_bans_30d, representing the combined VAC and game ban count across all players tracked by csstats.gg over the past 30 days. It does not accept a steam_id parameter and does not return per-player ban history. Per-player ban status is not currently exposed; you can fork the API on Parse and revise to add a player-level ban check endpoint.
Page content last updated . Spec covers 8 endpoints from csstats.gg.
Related APIs in SportsSee all →
csstats.org API
Track Counter-Strike 2 player performance with detailed statistics, match history, and leaderboard rankings from csstats.gg. Search players, view their profiles, analyze individual matches, check ban records, and see who they've played with.
csgostats.gg API
Track and analyze Counter-Strike 2 player performance with detailed statistics including weapon usage, match history, and head-to-head comparisons. Access global leaderboards, view recent matches, and discover which players you've competed against to benchmark your skills.
bo3.gg API
Track and compare professional esports performance across CS2, Valorant, and League of Legends by viewing detailed player statistics like kills, deaths, assists, multikills, and clutches. Discover top-performing players and analyze individual match histories to understand player performance ratings and competitive trends.
api-public-docs.cs-prod.leetify.com API
Access CS2 player statistics, match history, and individual game performance data from Leetify's competitive database. Look up player profiles by Steam64 ID or Leetify user ID and retrieve comprehensive match details including per-round metrics and performance breakdowns.
hltv.org API
Access Counter-Strike esports data from HLTV.org including match results, player and team statistics, team rankings, upcoming match schedules, tournament information, and fantasy league data.
whoscored.com API
Search for players and teams, then dive deep into their performance metrics, match statistics, and detailed passing data to analyze football games and player abilities. Get comprehensive insights on team performance, individual player stats, and play-by-play event information to power your football analysis and decision-making.
tracker.gg API
Track Valorant player profiles, match histories, competitive rankings, and agent performance statistics from tracker.gg. Search leaderboards, analyze player segments, view daily game data, and access comprehensive reference information covering all Valorant-related data available on the platform.
leetify.com API
Access data from leetify.com.