One predictable response shape
Assets and localized Steam descriptions are normalized into the same ItemData contract used by every supported game. The dota alias is accepted for compatibility, while dota2 remains the canonical game value.
- 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.
Pagination without invented global semantics
ItemData does not pretend that filtering one live page filters the complete inventory. Collect pages using last_assetid, then apply global search, grouping, or sorting in your own backend.