How to Get the Complete CS2 Item Schema
Updated
API reference: GET /v1/schema
GET /v1/schemareturns the complete cs2.sh CS2 item catalog, keyed by exactmarket_hash_name, with metadata, wears, float ranges, variants, marketplace IDs, collections, containers, and images.
The catalog is designed for cs2.sh market workflows. It provides the exact names accepted by price endpoints rather than requiring clients to reconstruct stars, wear suffixes, StatTrak, Souvenir, or variant labels.
What the CS2 item schema contains
The schema has about 47,500 items and about 110 collections. Its top-level objects include:
| Object | Coverage |
|---|---|
items |
Catalog records keyed by exact market_hash_name |
collections |
Collection metadata keyed by collection name |
rarities |
Stable rarity keys, labels, tiers, and colors |
counts |
Current totals, including counts by category |
Item fields include category, image, is_tradable, rarity,
collections, containers, marketplace ids, def_index, paint_index,
weapon, finish, wears, float_range, StatTrak and Souvenir flags, and
variant relationships. Fields that do not apply are omitted.
Marketplace ids cover BUFF, Youpin, and C5Game where known. A missing ID does
not make the canonical item invalid.
Supported Doppler, Gamma Doppler, and Case Hardened base items list their
children under variants. Variant rows also appear in items and link back to
their base through variant. Each phase or tier has its own full
market_hash_name, image, and paint index where applicable.
Use and cache the catalog
Fetch the schema with API authorization and gzip, then use the top-level item key unchanged in current and history requests. The current-price guide covers the matching price shape.
schema_version identifies the response contract. generation_id identifies
the immutable catalog generation, and generated_at records when it was
built. Successful responses also provide an ETag and one-hour public cache
headers.
Send If-None-Match with the last ETag. An unchanged generation returns
304 Not Modified; a changed catalog returns a new complete generation. The
automatic pipeline checks Valve manifests every 30 minutes and publishes only
when semantic inputs change.
Applicable endpoint
| Endpoint | Returns | Plans |
|---|---|---|
GET /v1/schema |
Full market-oriented CS2 item catalog | All plans |
Schema boundaries
- This catalog is not Valve's raw game schema. It is a compact market catalog aligned with cs2.sh item and variant identities.
- Doppler and Gamma Doppler base rows can omit
paint_index; each phase row carries its own paint index. steam_imageis optional, while the cs2.sh-ownedimageis required for every item and nested variant.- About 47,500 is an approximate count. Use the response
countsand generation fields instead of hard-coding a catalog size.