⚡ Batch Fetch Multiple Inventories with Doppler Phase Detection
Fetch inventories for up to 20 Steam IDs in a single request.
Returns an object keyed by Steam ID, each containing an array of items with prices and metadata.
Key features:
- Up to 20 Steam IDs per request (comma-separated). Each ID = 1 credit, plus 1 with no_cache=1; trade_locked=1 or 3 adds 1 credit per ID, while trade_locked=4 adds 2.
- First Steam page per ID — each inventory returns only its first Steam page, at most 2,000 assets. Use /steam/api/inventory with start_assetid for larger inventories.
- Parallel processing for maximum speed.
- Doppler phase detection — automatically detects the exact phase and replaces item image. Use with_phase_price=1 for phase-specific pricing.
- Field selection — use select to reduce response size.
- 11 currencies supported.
- Private inventories return empty array or cached data.
Example:
GET /steam/api/inventory/batch?steam_ids=76561198100000000,76561198200000000&key=YOUR_KEY
Request
- Base URL: https://www.steamwebapi.com
- URL: https://www.steamwebapi.com/steam/api/inventory/batch
- Auth: API key in query parameter key
Query parameters
Your API key from the dashboard. Required for authentication.
Comma-separated Steam IDs (max 20). Accepts steamid, steamid3, or steamid64 formats.
Game short name.
Comma-separated fields to include. Reduces response size.
Currency for prices.
Language for item names.
Bypass the inventory cache. Costs +1 credit per ID.
CS2 inventory contexts, independently per Steam ID: 0 = context 2 only (default); 1 = context 16 only; 3 = start both and return immediately when context 2 is usable, including context 16 only if already available and cancelling it otherwise; 4 = require both within the per-inventory request budget, retaining successful results and retrying missing contexts. Modes 1, 3, and 4 start with trading inventory. Modes 1 and 3 cost +1 credit per ID; mode 4 costs +2 per ID. Context 16 can expose recently received skins not yet visible in normal public inventory; reconstruction requires parse=1 on the first page (without start_assetid). This detection does not include newly received cases; normal context-2 cases remain included. Modes 1 and 4 never fall back to context-2-only public inventory. Mode 4 may use the last successful protected-item snapshot after live attempts fail, including with no_cache=1. Explicit nonzero modes require CS2 and state=active; historical database fallback modes are not supported because they cannot guarantee the requested contexts. The legacy try_first_seven_days_blocked_items option and own-inventory cookies are not supported by this batch endpoint.
Include non-tradeable items.
CS2 Doppler items only. Replaces pricereal and pricerealmedian with phase-specific values from the selected markets, or all available third-party markets when markets is omitted. pricereal24h/7d/30d/90d remain null because these inventory horizon fields are not phase-scoped. Rollout-forward exact phase history is available through POST /steam/api/items/history; it does not populate the legacy inventory horizon fields. winloss/winlossprice become null because Steam has no phase-specific listing price. Only applies when a phase is detected and has a known price. Default: 0
Sort items by criterion.
Group identical items by market hash name.
Comma-separated markets for pricereal calculation.
Set to 1 in production to remove info fields. Will be required in future.
Response format.
Pretty-print JSON output.
Response
Batch inventories fetched successfully. Returns object keyed by Steam ID. Parsed CS2 items include tradeprotected and tradeprotectedmaxdays, using the same rounded-up observation-based upper bound from 0 to 7 days as the single-inventory endpoint.
Changes
No recorded changes to this operation across all 1 revision of this API.