Build CS2 inventory features on a stable API boundary.
Resolve common Steam identifiers, fetch cursor-paginated CS2 inventories, and keep cache source, age, visibility, and billing observable.
Public CS2 inventories
Normal requests reuse durable public page snapshots when eligible. Use no_cache=true only when your product needs a coordinated fresh Steam request; the response reports whether data was reused or fetched.
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.
Authorized visibility when the user provides access
A caller-supplied steamLoginSecure value can retrieve the cookie owner's inventory without storing the secret. A canonical CS2 Trade URL can derive its partner and request the authenticated trade path. Both modes bypass shared cache reads and writes.
Secrets belong in headers and backend memory, never in browser code, analytics, or durable logs.
Scope stays honest
ItemData returns inventory assets and Steam descriptions. It does not claim to provide market prices, float or paint data, trade execution, or payment automation.
NEXT STEP
Integrate the CS2 inventory endpoint.
Start with the public flow, then add authorized modes only when your use case requires them.