Base URL: https://cs2.space
Authentication
How API keys are passed, which routes require authentication, how keys share account quotas, and how player identifiers are parsed.
SECURITY
Passing your API key
Every endpoint except /api/assets/* and /api/health requires a valid API key in the x-api-key request header. Keep keys server-side: anyone with your key can consume your monthly quota.
curl -H "x-api-key: YOUR_KEY" "https://cs2.space/api/profile/ChetCS"PLAYER LOOKUPS
Accepted SteamID inputs
Path parameter {id} across Player and Inventory endpoints accepts either format below:
| Input format | Example value | Description |
|---|---|---|
| SteamID64 | 76561197963540638 | 17-digit Steam account identifier. |
| Custom profile URL name | ChetCS | The vanity segment from steamcommunity.com/id/ChetCS. |
Need to convert between steam32, steam64, steam2, and steam3? Use GET /api/steamid/{id}.
ACCOUNTS
Key limits & rotation
- You can create up to 10 active API keys and revoke individual keys anytime in the developer dashboard.
- Rate limits and monthly request quotas are shared across all keys belonging to your account.
- When rotating keys in production, create the new key, deploy it, verify traffic, and revoke the old key with zero downtime.
TROUBLESHOOTING
Auth error codes
401 UnauthorizedNo API key was sent.
{
"error": "API key required"
}403 ForbiddenInvalid API key, the player's inventory is private (code INVENTORY_PRIVATE), or the endpoint needs a PRO or DEVELOPER plan (code PLAN_UPGRADE_REQUIRED).
{
"error": "Inventory data requires a PRO or DEVELOPER plan.",
"code": "PLAN_UPGRADE_REQUIRED",
"upgradeUrl": "https://cs2.space/#pricing"
}Full error list on Errors →