---
title: "⚡ Batch Fetch Multiple Inventories with Doppler Phase Detection"
method: GET
path: "/steam/api/inventory/batch"
tags: ["Inventory"]
---

# ⚡ Batch Fetch Multiple Inventories with Doppler Phase Detection

`GET /steam/api/inventory/batch`

## Request

- Base URL: `https://www.steamwebapi.com`
- URL: `https://www.steamwebapi.com/steam/api/inventory/batch`
- Auth: API key in query parameter `key`

Baseurl: https://www.steamwebapi.com/steam/api/inventory/batch?steam_ids=76561199146708568,76561198047543612&game=cs2&key=YOUR_API_KEY

**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
```

## Query parameters

- `key` string, required
- `steam_ids` string, required
- `game` 'cs2' | 'dota2' | 'rust' | 'tf2' | 'steam'
- `select` string
- `currency` 'USD' | 'EUR' | 'GBP' | 'CNY' | 'JPY' | 'RUB' | 'BRL' | 'TRY' | 'PLN' | 'UAH' | 'KRW'
- `language` 'arabic' | 'bulgarian' | 'schinese' | 'tchinese' | 'czech' | 'danish' | 'dutch' | 'english' | 'finnish' | 'french' | 'german' | 'greek' | 'hungarian' | 'indonesian' | 'italian' | 'japanese' | 'koreana' | 'norwegian' | 'polish' | 'portuguese' | 'brazilian' | 'romanian' | 'russian' | 'spanish' | 'latam' | 'swedish' | 'thai' | 'turkish' | 'ukrainian' | 'vietnamese'
- `no_cache` '0' | '1'
- `trade_locked` 0 | 1 | 3 | 4
- `with_no_tradable` '0' | '1'
- `with_phase_price` '0' | '1'
- `sort` 'price_max' | 'price_min' | 'price_real_max' | 'price_real_min' | 'price_mix_max' | 'price_mix_min' | 'count' | 'name'
- `group` '0' | '1'
- `markets` string
- `production` '0' | '1'
- `format` 'json' | 'csv' | 'xml' | 'html' | 'gzip' | 'zip' | 'ndjson' | 'mysql' | 'mysql_with_table' | 'pgsql' | 'pgsql_with_table' | 'mongo'
- `pretty` '0' | '1'

## Response `200`

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.

- unknown

## Other responses

- `400`: Missing or invalid parameters.
- `404`: Game not found.
- `500`: Internal server error.

---

[API](https://skmtc.dev/steamwebapi/apis/steamwebapi-com-third-party-steam-market-api-documentation.md) · [All operations](https://skmtc.dev/steamwebapi/apis/steamwebapi-com-third-party-steam-market-api-documentation/llms.txt) · [OpenAPI document](https://skmtc.dev/steamwebapi/apis/steamwebapi-com-third-party-steam-market-api-documentation/revisions/f9a4109cbda6?raw)
