csstats.gg APIcsstats.gg ↗
Access CS2 player statistics, match history, scoreboards, and leaderboards from csstats.gg. Search by Steam ID, name, or profile URL.
curl -X GET 'https://api.parse.bot/scraper/758b30c6-74c7-46ea-a4fb-2efd60740f7c/search_player?query=s1mple' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for a player by Steam ID, name, or profile URL. Returns the resolved Steam ID and profile URL. Name-based queries resolve to the player's profile via the site's search form.
| Param | Type | Description |
|---|---|---|
| queryrequired | string | Steam ID (17-digit numeric), player name, or Steam profile URL |
{
"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",
"profile_url": "string - full URL to the player's csstats.gg profile"
},
"sample": {
"data": {
"steam_id": "76561197978186923",
"profile_url": "https://csstats.gg/player/76561197978186923"
},
"status": "success"
}
}About the csstats.gg API
The csstats.gg API exposes 7 endpoints covering Counter-Strike 2 player performance, match history, and leaderboard data. Use get_player_stats to retrieve K/D ratio, HLTV Rating, ADR, HS%, and Win Rate for any player identified by a 64-bit Steam ID, or call get_match_scoreboard to pull a full two-team player breakdown including kills, deaths, assists, and per-player ratings for a specific match.
Player Search and Statistics
Start with search_player to resolve a Steam ID, player name, or Steam profile URL into a confirmed steam_id and profile_url. When a name query matches multiple accounts, the response returns a players array with name, steam_id, and profile_url for each result. Once you have a steam_id, pass it to get_player_stats to retrieve the overview object — a key-value map of stat labels such as K/D, HLTV Rating, Win Rate, HS%, and ADR — alongside the player's display name.
Match History and Scoreboards
get_player_matches takes a steam_id and returns a chronological array of recent matches, each with a match_id, date, map, score, and individual performance fields: k (kills), d (deaths), a (assists), and rating. Those match_id values feed directly into get_match_scoreboard, which returns teams — two arrays of player objects, each with name, steam_id, k, d, a, and rating. This makes it straightforward to reconstruct a full match view from a single match ID.
Leaderboards and Social Data
get_leaderboard accepts an optional mode parameter (premier, wingman, or faceit) and returns ranked players with rank, name, steam_id, and elo. get_player_played_with retrieves co-play statistics for a given steam_id, with pagination via an offset integer. Finally, get_ban_stats requires no inputs and returns total_bans_30d — the total count of VAC and game bans issued across all players in the last 30 days, formatted with commas.
- Track a CS2 player's K/D, ADR, and HLTV Rating over time using get_player_stats.
- Build a match review tool that pulls full scoreboards via get_match_scoreboard for post-game analysis.
- Monitor premier or wingman leaderboard rankings by polling get_leaderboard with different mode values.
- Identify frequent teammates or opponents for a player using get_player_played_with with pagination.
- Resolve player identities from community-submitted names or profile URLs with search_player.
- Display rolling 30-day VAC and game ban totals on a CS2 community dashboard using get_ban_stats.
- Correlate match performance (kills, deaths, rating) with win/loss outcomes from get_player_matches.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.