GET /v1/market/steam/latest
Returns the latest full-depth Steam bid/ask orderbook for every tracked regular item.
The bid/ask data is columnar, so you'll have to match price to volume. Ask price is sorted in ascending order, bid price descending, and each value in volumes corresponds to price at the same array index.
Orderbooks update about every ~5 minutes.
Prices are USD by default. Add ?currency=CNY to convert them; see Currency.
Access
Available on all plans.
Request
GETapi.cs2.sh/v1/market/steam/latest
curl https://api.cs2.sh/v1/market/steam/latest \
-H "Authorization: Bearer <<YOUR_API_KEY>>" \
-H "Accept-Encoding: gzip" --compressedResponse
{
"response_time": "2026-08-23T21:59:42.578056003Z",
"currency": "USD",
"items": {
"USP-S | Printstream (Factory New)": {
"updated_at": "2026-08-23T21:56:50.48Z",
"collected_at": "2026-08-23T21:58:05.789Z",
"top": {
"ask": 144.99,
"ask_volume": 75,
"bid": 143.09,
"bid_volume": 2537
},
"depth": {
"ask_levels": 2,
"bid_levels": 2,
"asks": {
"prices": [
144.99,
145.38
],
"volumes": [
1,
1
]
},
"bids": {
"prices": [
143.09,
142.85
],
"volumes": [
1,
1
]
}
}
}
}
}Response fields
SteamOrderbookLatestResponse fields:
| Field | Type | Required | Description |
|---|---|---|---|
response_time | string (date-time) | Yes | When this snapshot response was generated. |
currency | string | Yes | Currency code for every price in the response. Matches the requested currency; defaults to USD. |
items | Record<string, SteamOrderbookItem> | Yes | Regular items with current orderbook data, keyed by market_hash_name. |
Orderbook data
| Field | Description |
|---|---|
items.<name>.top | Best ask/bid prices and total Steam ask/bid order counts. |
items.<name>.depth | Full columnar ladders: asks.prices/asks.volumes and bids.prices/bids.volumes. |
items.<name>.updated_at, collected_at | Steam's update time and cs2.sh's fetch time. |
- Variant items are not included.
Full schemas: SteamOrderbookItem, SteamOrderbookTop, SteamOrderbookDepth, SteamOrderbookDepthSide.
Errors
503 service_unavailable means the latest orderbook snapshot is missing, stale, or empty. See Request errors for shared errors.