How to Get Images for Every CS2 Item

Updated

API reference: GET /v1/schema

GET /v1/schema provides a required cs2.sh-owned image URL for every item and nested variant. It also provides steam_image only when the exact official Valve Economy or static origin can be proven.

Use the exact market_hash_name as the image key. Base Dopplers and their phase rows can have different artwork, so keying by a shortened finish name would collapse distinct assets.

Image coverage in the schema#

Item records expose:

  • image, the required cs2.sh-owned image for the row.
  • steam_image, an optional official Valve URL.
  • category, which can help choose presentation rules.
  • Variant metadata and separate variant images where applicable.

Base items with Doppler, Gamma Doppler, or Case Hardened children list those children in variants. Each nested variant has a required image, and its full variant row also appears under the top-level items map.

Top-level collection metadata can include its own image and optional steam_image. These collection assets should remain separate from item-row artwork.

Build an image mapping#

Fetch the schema, then map every top-level items key to its image and optional steam_image. Keep the original URLs unchanged and retain the full market name as the identifier used by prices and UI selection.

Use image as the dependable asset. An omitted steam_image does not mean the item has no artwork; it means the pipeline did not emit an independently proven official Valve origin for that exact record.

The catalog can be cached by generation_id or ETag. Send the previous ETag with a later request; an unchanged generation returns 304 Not Modified. The schema reference documents the cache headers and optional-field behavior.

Applicable endpoint#

Endpoint Returns Plans
GET /v1/schema Item, variant, and collection image URLs All plans

Image identity rules#

  • Do not construct a Steam image URL from an item name when steam_image is absent. That can attach unverified or incorrect artwork.
  • Keep variant market_hash_name values intact. A Phase 2 image should not be overwritten by the base Doppler image.
  • Fields that do not apply are omitted. A missing collection image or steam_image should be handled as optional while the item image remains required.
  • See the complete item schema for the metadata that belongs beside an image in an item selector.