CS2 Inspect System
Overview
The Inspect API allows you to analyze CS2 inspect URLs, extract item data, and generate custom inspect URLs for previewing items in-game.
Analyze Inspect Link
POST /api/inspect?action=analyze
Process a CS2 inspect link and extract item data.
Query Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
action | string | Yes | Must be analyze |
Request Body:
{
"url": "steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20S76561198012345678A123456789D123456789"
}Response for Masked URL
Masked URLs contain encoded item data directly in the URL:
{
"success": true,
"data": {
"urlType": "masked",
"item": {
"defindex": 7,
"paintindex": 253,
"paintseed": 661,
"paintwear": 0.15,
"rarity": 6,
"quality": 4,
"statTrak": {
"enabled": true,
"count": 1337
},
"nameTag": "The Beast",
"stickers": [
{
"slot": 0,
"stickerId": 1230,
"wear": 0.0
}
]
},
"parsed": {
"weaponName": "AK-47",
"skinName": "Fire Serpent",
"wear": "Minimal Wear",
"floatValue": 0.15
}
}
}Response for Unmasked URL
Unmasked URLs require Steam Game Coordinator communication:
{
"success": true,
"data": {
"urlType": "unmasked",
"requiresSteam": true,
"item": {
"ownerId": "76561198012345678",
"assetId": "123456789",
"classId": "123456789",
"defindex": 7,
"paintindex": 253,
"paintseed": 661,
"paintwear": 0.15,
"statTrak": {
"enabled": false
}
}
}
}Create Inspect URL
POST /api/inspect?action=create-url
Generate a custom inspect URL for any item configuration.
Query Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
action | string | Yes | Must be create-url |
Request Body:
{
"itemType": "weapon",
"defindex": 7,
"paintindex": 253,
"paintseed": 661,
"paintwear": 0.15,
"statTrak": true,
"statTrakCount": 1337,
"nameTag": "The Beast",
"stickers": [
{
"slot": 0,
"stickerId": 1230,
"wear": 0.0,
"rotation": 0,
"scale": 1.0
}
],
"keychain": {
"keychainId": 6001,
"seed": 42
}
}Response:
{
"success": true,
"data": {
"inspectUrl": "steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20M...",
"shortUrl": "https://cs2inspect.com/i/ABC123"
}
}Decode Hex Data
POST /api/inspect?action=decode-hex
Decode masked hex data from an inspect URL.
Query Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
action | string | Yes | Must be decode-hex |
Request Body:
{
"hex": "00B0040000..."
}Response:
{
"success": true,
"data": {
"defindex": 7,
"paintindex": 253,
"paintseed": 661,
"paintwear": 0.15
}
}Item Types
| Type | Description | Supports Stickers | Supports StatTrak |
|---|---|---|---|
weapon | Regular weapons | ✅ | ✅ |
knife | Knife skins | ❌ | ✅ |
glove | Glove skins | ❌ | ❌ |
agent | Agent models | ❌ | ❌ |
music-kit | Music kits | ❌ | ✅ |
URL Types
Masked URLs
Masked URLs contain encoded item data directly. They start with M after the action preview marker:
steam://rungame/730/.../+csgo_econ_action_preview%20M...- Can be decoded without Steam
- Generated by CS2Inspect for custom items
- Fast to process
Unmasked URLs
Unmasked URLs reference real Steam inventory items. They start with S (Steam ID) or A (Asset ID):
steam://rungame/730/.../+csgo_econ_action_preview%20S76561198012345678A123456789D...- Requires Steam Game Coordinator
- References actual inventory items
- May timeout if GC is unavailable
Error Responses
| Code | HTTP Status | Description |
|---|---|---|
INVALID_URL | 400 | Invalid inspect URL format |
GC_TIMEOUT | 504 | Steam Game Coordinator timeout |
STEAM_ERROR | 502 | Steam API unavailable |
INVALID_ITEM_TYPE | 400 | Unknown item type specified |
Error Examples
Invalid URL:
{
"success": false,
"error": "Invalid inspect URL format",
"code": "INVALID_URL"
}Steam GC Timeout:
{
"success": false,
"error": "Steam Game Coordinator timeout",
"code": "GC_TIMEOUT"
}Rate Limiting
| Endpoint | Limit | Notes |
|---|---|---|
| Masked URL decode | No limit | Processed locally |
| Unmasked URL inspect | 1 req/1.5s | Per Steam account |
| Create URL | No limit | Processed locally |
Steam Rate Limits
Inspecting unmasked URLs (real inventory items) is rate-limited by Steam's Game Coordinator. Excessive requests may result in temporary bans.
Steam Service Integration
When STEAM_SERVICE_URL and STEAM_SERVICE_API_KEY are configured, the inspect API will use an external Steam service for handling unmasked URLs. This allows:
- Better rate limit management
- Load balancing across multiple Steam accounts
- Improved reliability
# .env configuration
STEAM_SERVICE_URL=https://steam-service.example.com
STEAM_SERVICE_API_KEY=your-api-key