GET /v1/schema
On this page
Returns a single schema containing all Counter-Strike 2 items. It's updated automatically when the game updates and contains ~47,500 items and ~110 collections keyed by market_hash_name, with rarities, wears and float ranges, marketplace ids, and item images.
Variants are supported. All items map back to their corresponding collections / containers.
Access
Available on all plans, including Demo and Developer.
Request
curl https://api.cs2.sh/v1/schema \
-H "Authorization: Bearer <<YOUR_API_KEY>>" \
-H "Accept-Encoding: gzip" --compressedResponse
{
"schema_version": "v3",
"generation_id": "2809027269665125439-421658e3845c",
"generated_at": "2026-07-09T20:41:13Z",
"counts": {
"items": 47810,
"by_category": {
"skin": 21924,
"sticker": 10555,
"container": 480,
"...": "..."
},
"collections": 110
},
"rarities": [
{
"key": "legendary",
"name": "Classified",
"tier": 5,
"color": "#d32ce6"
},
"..."
],
"collections": {
"The Phoenix Collection": {
"name": "The Phoenix Collection",
"kind": "weapon",
"release_date": "2014-02-20",
"image": "https://cs2.sh/image/03h7unuCq0G9LG7e"
},
"...": "..."
},
"items": {
"AK-47 | Redline (Field-Tested)": {
"market_hash_name": "AK-47 | Redline (Field-Tested)",
"category": "skin",
"image": "https://cs2.sh/image/C0x6zwlC-fAu6Oob",
"steam_image": "https://community.fastly.steamstatic.com/economy/image/i0CoZ81Ui0m-9KwlBY1L_18myuGuq1wfhWSaZgMttyVfPaERSR0Wqmu7LAocGIGz3UqlXOLrxM-vMGmW8VNxu5Dx60noTyLwlcK3wiFO0POlPPNSI_-RHGavzOtyufRkASq2lkxx4W-HnNyqJC3FZwYoC5p0Q7FfthW6wdWxPu-371Pdit5HnyXgznQeHYY5wyA",
"is_tradable": true,
"rarity": {
"name": "Classified",
"tier": 5,
"color": "#d32ce6"
},
"collections": [
"The Phoenix Collection"
],
"containers": [
"Operation Phoenix Weapon Case"
],
"ids": {
"buff": 33960,
"youpin": 1414,
"c5game": 22499
},
"def_index": 7,
"base_name": "AK-47 | Redline",
"weapon": "AK-47",
"finish": "Redline",
"paint_index": 282,
"wears": [
"Minimal Wear",
"Field-Tested",
"Well-Worn",
"Battle-Scarred"
],
"has_stattrak": true,
"has_souvenir": true,
"float_range": {
"min": 0.1,
"max": 0.7
},
"wear": "Field-Tested",
"stattrak": false,
"souvenir": false
},
"★ Karambit | Doppler (Factory New)": {
"market_hash_name": "★ Karambit | Doppler (Factory New)",
"category": "skin",
"image": "https://cs2.sh/image/vJQM7YiSwMZS1GsE",
"steam_image": "https://community.fastly.steamstatic.com/economy/image/i0CoZ81Ui0m-9KwlBY1L_18myuGuq1wfhWSaZgMttyVfPaERSR0Wqmu7LAocGIGz3UqlXOLrxM-vMGmW8VNxu5Dx60noTyL6kJ_m-B1Q7uCvZaZkNM-SA1iSze91u_FsTju_qhAmoT-Jn4bjJC_4Ml93UtZuRLQPsBawkNfiMbnl5AKMiopCnin7iCJBv31j4rkBBKEg-6zUjV3GY6p9v8dpLWT3Fg",
"def_index": 507,
"wear": "Factory New",
"float_range": {
"min": 0,
"max": 0.08
},
"...": "...",
"variants": [
{
"market_hash_name": "★ Karambit | Doppler (Factory New) | Phase 2",
"family": "doppler",
"name": "Phase 2",
"phase": "Phase 2",
"color": "#d63384",
"paint_index": 419,
"image": "https://cs2.sh/image/ccWlpNQFHEc0WC8X",
"steam_image": "https://community.fastly.steamstatic.com/economy/image/i0CoZ81Ui0m-9KwlBY1L_18myuGuq1wfhWSaZgMttyVfPaERSR0Wqmu7LAocGIGz3UqlXOLrxM-vMGmW8VNxu5Dx60noTyL6kJ_m-B1Q7uCvZaZkNM-SA1iUzv5mvOR7cDm7lA4i4QKJk4jxNWWXawUgA8dxRLEO40KwkobnMbnj5QKL348Qmy-sji5K7i466uxUUKQn5OSJ2KBZjkQR"
},
"..."
]
},
"★ Karambit | Doppler (Factory New) | Phase 2": {
"market_hash_name": "★ Karambit | Doppler (Factory New) | Phase 2",
"category": "skin",
"image": "https://cs2.sh/image/ccWlpNQFHEc0WC8X",
"steam_image": "https://community.fastly.steamstatic.com/economy/image/i0CoZ81Ui0m-9KwlBY1L_18myuGuq1wfhWSaZgMttyVfPaERSR0Wqmu7LAocGIGz3UqlXOLrxM-vMGmW8VNxu5Dx60noTyL6kJ_m-B1Q7uCvZaZkNM-SA1iUzv5mvOR7cDm7lA4i4QKJk4jxNWWXawUgA8dxRLEO40KwkobnMbnj5QKL348Qmy-sji5K7i466uxUUKQn5OSJ2KBZjkQR",
"def_index": 507,
"wear": "Factory New",
"variant": {
"family": "doppler",
"name": "Phase 2",
"of": "★ Karambit | Doppler (Factory New)"
},
"phase": "Phase 2",
"color": "#d63384",
"paint_index": 419,
"...": "..."
},
"...": "..."
}
}Returns a SchemaResponse object. See Objects for the full shape.
Response fields
items maps each market_hash_name to its catalog record – the same names the price endpoints accept. collections and rarities describe the collections and rarity tiers those records reference.
- Fields that do not apply to an item are omitted.
generation_idis a required, additive top-level field identifying the immutable catalog shared by the API and site-data. Clients that tolerate unknown JSON fields remain compatible with the older response shape.idsholds thebuff,youpin, andc5gamecatalog ids where known.def_indexandpaint_indexare the game's item definition and paint kit indexes; Doppler and Gamma Doppler base items omitpaint_index– each phase row carries its own.imageis the required cs2.sh-owned image for every item and nested variant.steam_imageis optional and appears only when the pipeline can independently prove the exact official Valve Economy/static origin; an omittedsteam_imagedoes not mean the item has lost its image.- Base items with variants list them under
variants; variant rows link back throughvariant. is_tradableisfalsefor items that cannot be traded.
Successful responses include an ETag and one-hour public cache headers. Send If-None-Match with the last ETag to receive an empty 304 Not Modified response when the generation is unchanged.
Full schemas: SchemaItem, SchemaItemVariant, SchemaCollection, and SchemaRarity.
Errors
| Status | When |
|---|---|
400 | Query parameters are not accepted, or Accept-Encoding: gzip is missing. |
401 | Missing or invalid key. |
429 | Rate-limited. |
503 / 5xx | Catalog unavailable or server-side issue. |