CS2 STATS API

CS2 player stats API

CS2.SPACE's GET /api/profile/{id} returns a Counter-Strike 2 player's Steam profile, bans, level, lifetime CS2 stats, commendations, medals, Faceit Elo and skill level, and Leetify ratings in one JSON response. Pass a SteamID64 or custom profile name and your API key in the x-api-key header.

One request, one normalized JSON document: everything a bot, overlay or lookup site needs to show a player.

GET A FREE API KEY →FULL REFERENCE

What you get

Steam

Profile, VAC and game bans, Steam level, owned games and playtime, friends, friend code, and Steam's lifetime CS2 stats such as total kills, wins and damage.

Game Coordinator

Commendations (friendly, teacher, leader), CS2 profile rank and XP, and the player's displayed medals and coins with image URLs.

Faceit

Faceit Elo, skill level 1 to 10, region, nickname and profile link. PRO and DEVELOPER plans.

Leetify

Leetify rating, aim, positioning, utility, clutch and opening scores, Premier and Wingman ranks, and recent matches. PRO and DEVELOPER plans.

Example

CURL
curl -H "x-api-key: YOUR_KEY" "https://cs2.space/api/profile/ChetCS"
JAVASCRIPT
const res = await fetch("https://cs2.space/api/profile/ChetCS", {
  headers: { "x-api-key": process.env.CS2_SPACE_API_KEY },
});
const data = await res.json();
PYTHON
import os, requests

data = requests.get(
    "https://cs2.space/api/profile/ChetCS",
    headers={"x-api-key": os.environ["CS2_SPACE_API_KEY"]},
).json()
RESPONSE (REAL, LONG ARRAYS SHORTENED)
{
  "steamId": "76561197963540638",
  "steam": {
    "player": {
      "steamid": "76561197963540638",
      "personaname": "Chet",
      "profileurl": "https://steamcommunity.com/id/ChetCS/",
      "avatarfull": "https://avatars.steamstatic.com/7eff590c73206f7f0bb6bfbbf9fd3f3e46c95826_full.jpg",
      "timecreated": 1072291152,
      "communityvisibilitystate": 3
    },
    "bans": {
      "SteamId": "76561197963540638",
      "CommunityBanned": false,
      "VACBanned": false,
      "NumberOfVACBans": 0,
      "DaysSinceLastBan": 0,
      "NumberOfGameBans": 0,
      "EconomyBan": "none"
    },
    "level": 70,
    "games": [
      {
        "appid": 10,
        "playtime_forever": 45104
      }
    ],
    "stats": [
      {
        "name": "total_kills",
        "value": 99648
      },
      {
        "name": "total_deaths",
        "value": 81581
      },
      {
        "name": "total_time_played",
        "value": 5582556
      }
    ],
    "friends": [
      {
        "steamid": "76561190000000000",
        "relationship": "friend",
        "friend_since": 1550022592
      }
    ],
    "friendCode": "AYR6T-HGDA",
    "gc": {
      "commendations": {
        "friendly": 118,
        "teacher": 82,
        "leader": 80
      },
      "playerLevel": 18,
      "playerCurXp": 327683388,
      "badges": [
        {
          "name": "Premier Season Four Medal",
          "image": "/badges/badge_premier_season_four_medal_125_wins_15_000_19_999_cs_rating_.png",
          "rarity": "Extraordinary",
          "imageUrl": "https://cs2.space/api/assets/badges/badge_premier_season_four_medal_125_wins_15_000_19_999_cs_rating_.png"
        }
      ],
      "featuredBadge": {
        "name": "Premier Season Four Medal",
        "image": "/badges/badge_premier_season_four_medal_125_wins_15_000_19_999_cs_rating_.png",
        "rarity": "Extraordinary",
        "imageUrl": "https://cs2.space/api/assets/badges/badge_premier_season_four_medal_125_wins_15_000_19_999_cs_rating_.png"
      }
    },
    "coinsAndPins": [
      {
        "name": "Premier Season Four Medal",
        "image": "https://community.cloudflare.steamstatic.com/economy/image/i0CoZ81Ui0m-9KwlBY1L_18myuGuq1wfhWSaZgMttyVfPaERSR0Wqmu7LAocGJWk3ka5VeTr0M-gJnSZ9hll5oL541z1fg70n4Xv8x0P0PGhYapSdKXdWzLGkOt15-QxHi_ql0ly5DmHnN-hJC2RPVJxWcB4QbZY4Riwk4HjNfSiuVKLPsh8JA"
      }
    ],
    "inventory": {
      "summary": {
        "totalCount": 505,
        "tradableCount": 473,
        "totalValue": 1530.62,
        "totalValueFormatted": "$1,530.62"
      },
      "pagination": {
        "total": 505,
        "limit": 200,
        "offset": 0,
        "hasMore": true
      }
    }
  },
  "faceit": {
    "player_id": "3699c7a1-7ee1-4c2d-bcca-49fdb2071a4e",
    "nickname": "aimbotthot1",
    "country": "us",
    "faceit_url": "https://www.faceit.com/{lang}/players/aimbotthot1",
    "games": {
      "cs2": {
        "region": "NA",
        "skill_level": 4,
        "faceit_elo": 1018,
        "game_player_id": "76561197963540638"
      }
    }
  },
  "leetify": {
    "name": "Chet",
    "steam64_id": "76561197963540638",
    "first_match_date": "2020-08-01T22:09:58.000Z",
    "total_matches": 2265,
    "winrate": 0.3,
    "rating": {
      "aim": 48.4047,
      "positioning": 52.3922,
      "utility": 38.4005,
      "clutch": 0.0672,
      "opening": -0.0084,
      "ct_leetify": -0.0103,
      "t_leetify": -0.0054
    },
    "ranks": {
      "leetify": -0.77,
      "premier": 15960,
      "faceit": null,
      "faceit_elo": null,
      "wingman": 7,
      "renown": null,
      "competitive": [
        {
          "map_name": "de_dust2",
          "rank": 10
        }
      ]
    },
    "stats": {
      "accuracy_head": 26.7328,
      "reaction_time_ms": 595.9576,
      "preaim": 10.765,
      "spray_accuracy": 24.8483
    },
    "recent_matches": [
      {
        "id": "ba2a8847-0c8c-4be7-97e2-69d9dd67e733",
        "finished_at": "2026-09-30T21:10:47.000Z",
        "data_source": "matchmaking",
        "outcome": "win",
        "map_name": "de_cache",
        "score": [
          13,
          2
        ],
        "leetify_rating": 0.0279,
        "rank": 15960
      }
    ]
  }
}

Endpoints

GET /api/profile/{id}

Everything about a player in one call: Steam profile, bans, level, owned games, CS2 lifetime stats, friends, friend code, Game Coordinator data (commendations, profile rank, badges), CS2 inventory summary, Faceit and Leetify.

GET /api/steamid/{id}

Converts a custom profile URL name or SteamID64 into every SteamID format, plus name and avatar.

Built for

  • Discord bots with a /rank or /stats command
  • Team and scrim tools that compare players
  • Stream overlays showing Premier rating or Faceit level
  • Player lookup sites and smurf/ban checks

Plans

PlanPriceRequests / monthRate limitData
FREEFree500 requests60 per minuteSteam profile data, SteamID conversion and rank images
PRO$9.99/mo (7-day trial)10,000 requests600 per minuteEverything: adds Faceit, Leetify, and CS2 and Dota 2 inventories with prices
DEVELOPER$29.99/mo100,000 requests3,060 per minuteEverything: adds Faceit, Leetify, and CS2 and Dota 2 inventories with prices

FAQ

Is there a free CS2 stats API?

Yes. The free plan includes 500 requests a month with Steam profile data, bans, level and CS2 stats, SteamID conversion and rank images. Faceit, Leetify and inventory data need the PRO plan ($9.99 a month, 7-day free trial).

Can I get a player's Faceit Elo and Premier rating from a SteamID?

Yes. GET /api/profile/{steamId} returns faceit.games.cs2.faceit_elo and skill_level, and leetify.ranks.premier, from just the SteamID64 or custom profile name.

Does it work with custom Steam profile URLs?

Yes. Every endpoint accepts either a SteamID64 (17 digits) or the custom name from steamcommunity.com/id/NAME.

How fresh is the data?

Profiles are cached for up to 3 hours. If a source fails temporarily, the incomplete result is only cached for 5 minutes so it is retried soon.

How much does it cost?

The free plan includes 500 requests a month for Steam profile data, SteamID conversion and rank images. PRO is $9.99 a month (7-day free trial) for 10,000 requests and adds Faceit, Leetify, and CS2 and Dota 2 inventories with prices. DEVELOPER is $29.99 a month for 100,000 requests.

More from the API

Building with an AI assistant? Give it https://cs2.space/llms.txt or the OpenAPI spec.