STEAM INVENTORY API

Steam inventory data without owning the fragile upstream pipeline.

ItemData gives backend applications one stable endpoint for public and caller-authorized Steam inventories across five supported games.

A focused inventory contract

Steam inventory integrations become difficult when identifiers, pagination, privacy changes, response normalization, upstream failures, and rate limits all meet production traffic. ItemData handles those boundaries while keeping cache and billing behavior visible in every response.

  • One normalized JSON response model across supported Steam economies.
  • Durable public page snapshots with observable HIT, MISS, STALE, and BYPASS behavior.
  • Cursor pagination that preserves Steam's real page boundaries.
  • Bearer API-key authentication, explicit timeouts, and stable error codes.
  • Optional authorized access for inventories that need a Steam session.

Supported Steam inventories

The same endpoint supports Counter-Strike 2, Rust, Dota 2, Team Fortress 2, and PUBG: BATTLEGROUNDS. Each request selects a game and returns its real Steam page with normalized assets and descriptions.

  • CS2 — App ID 730, context 2
  • Dota 2 — App ID 570, context 2
  • Rust — App ID 252490, context 2
  • Team Fortress 2 — App ID 440, context 2
  • PUBG: BATTLEGROUNDS — App ID 578080, context 2

One server-side request

Keep the API key on your backend and send a Steam identifier plus the target game. Follow last_assetid only while more_items is true.

cURL
curl --fail-with-body --get \
  -H "Authorization: Bearer $ITEMDATA_API_KEY" \
  --data-urlencode "steam_id=76561198000000000" \
  --data-urlencode "game=cs2" \
  "https://itemdata.net/v1/inventory"
NEXT STEP

Make the first inventory request.

Read the endpoint contract, create an API key, and integrate from your backend.