DOTA 2 INVENTORY API · APP 570

Consistent Dota 2 inventory data for your backend.

Request game=dota2, receive one real Steam page, and follow the returned cursor until the inventory is complete.

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.

NEXT STEP

Start a Dota 2 integration.

The docs include cURL and Python requests plus the complete cursor contract.