Skip to content

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.

POST /api/inspect?action=analyze

Process a CS2 inspect link and extract item data.

Query Parameters:

ParameterTypeRequiredDescription
actionstringYesMust be analyze

Request Body:

json
{
  "url": "steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20S76561198012345678A123456789D123456789"
}

Response for Masked URL

Masked URLs contain encoded item data directly in the URL:

json
{
  "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:

json
{
  "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:

ParameterTypeRequiredDescription
actionstringYesMust be create-url

Request Body:

json
{
  "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:

json
{
  "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:

ParameterTypeRequiredDescription
actionstringYesMust be decode-hex

Request Body:

json
{
  "hex": "00B0040000..."
}

Response:

json
{
  "success": true,
  "data": {
    "defindex": 7,
    "paintindex": 253,
    "paintseed": 661,
    "paintwear": 0.15
  }
}

Item Types

TypeDescriptionSupports StickersSupports StatTrak
weaponRegular weapons
knifeKnife skins
gloveGlove skins
agentAgent models
music-kitMusic 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

CodeHTTP StatusDescription
INVALID_URL400Invalid inspect URL format
GC_TIMEOUT504Steam Game Coordinator timeout
STEAM_ERROR502Steam API unavailable
INVALID_ITEM_TYPE400Unknown item type specified

Error Examples

Invalid URL:

json
{
  "success": false,
  "error": "Invalid inspect URL format",
  "code": "INVALID_URL"
}

Steam GC Timeout:

json
{
  "success": false,
  "error": "Steam Game Coordinator timeout",
  "code": "GC_TIMEOUT"
}

Rate Limiting

EndpointLimitNotes
Masked URL decodeNo limitProcessed locally
Unmasked URL inspect1 req/1.5sPer Steam account
Create URLNo limitProcessed 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
bash
# .env configuration
STEAM_SERVICE_URL=https://steam-service.example.com
STEAM_SERVICE_API_KEY=your-api-key

Built with ❤️ by the CS2Inspect community