How to Get the Full Steam Community Market Orderbook

Updated

API reference: GET /v1/market/steam/latest

GET /v1/market/steam/latest returns full-depth Steam bid and ask ladders for every tracked regular item, including top-of-book prices and quantity at each level.

Top-of-book only prices the first available level. Full depth is what makes multi-unit average fill, visible liquidity, and slippage calculations possible.

Steam orderbook structure#

Each item is keyed by exact market_hash_name and contains updated_at, collected_at, top, and depth.

top holds best ask and bid plus total ask_volume and bid_volume order counts. depth holds:

Field Meaning
ask_levels, bid_levels Number of price levels
asks.prices, asks.volumes Ask ladder, prices ascending
bids.prices, bids.volumes Bid ladder, prices descending

At each index, prices[i] pairs with volumes[i]. The quantity is available at that exact level and is not cumulative.

Use depth for fill and slippage#

Fetch the full GET /v1/market/steam/latest snapshot and select the exact item. The response is roughly 100 MB before compression and requires gzip. It is available on all plans.

To estimate a buy fill, walk ask levels from the lowest price upward until the target quantity is reached. Divide total visible cost by filled quantity for average fill. Compare that average with top.ask to calculate visible slippage. A sell-side calculation walks bids from highest downward.

Liquid items refresh every 10 minutes and other items every 60 minutes. Liquidity classification comes from GET /v1/liquidity/items.

Applicable endpoints#

Endpoint Returns Plans
GET /v1/market/steam/latest Latest full-depth orderbooks All plans
POST /v1/market/steam/history Historical full-depth snapshots Scale, Enterprise
POST /v1/archive/steam Median completed-sale price and volume Scale, Enterprise

Orderbook boundaries#

  • The dedicated snapshot contains regular items only. Doppler phases and Case Hardened tiers are not included.
  • Visible orders can be canceled before execution, so ladder slippage is an estimate from observed intent.
  • top.ask_volume and top.bid_volume are total order counts. They are different from per-level quantities.
  • Use collected_at for collection freshness and updated_at for the selected Steam observation time.
  • Steam prices represent wallet value and do not include a cash-conversion field.

The Steam latest orderbook reference documents the columnar arrays.