How to Chart Steam Market Depth

Updated

API reference: GET /v1/market/steam/latest · POST /v1/market/steam/history

GET /v1/market/steam/latest returns every regular item's full Steam bid and ask ladders, with the exact price and quantity at each level needed for a depth chart.

A depth chart accumulates quantity away from the best prices. Top-of-book volume fields are total order counts and should not be plotted as if they were the first ladder level.

Steam orderbook structure#

Each item contains a top object and a columnar depth object. The pairs depth.asks.prices[i] and depth.asks.volumes[i] describe one ask level; the bid arrays use the same index relationship.

Ask prices are sorted ascending and bid prices descending. Each level's volume is the quantity at that exact price, not a cumulative value. ask_levels and bid_levels report the number of returned levels.

The snapshot also carries item-level updated_at and collected_at. Liquid items refresh every 10 minutes and other items every 60 minutes, based on the liquidity classification.

Building the cumulative curves#

For asks, begin at the best ask and add level quantities as price rises. For bids, begin at the best bid and add quantities as price falls. The x-axis is price in USD; the y-axis is cumulative units available through that level.

Keep bid and ask sides separate when their scales differ materially. If distant tail prices flatten the useful near-market shape, publish the number of displayed levels or a documented price band rather than silently truncating the book.

For a chart through time, POST /v1/market/steam/history returns the latest full book selected inside each 1h or 1d bucket from June 9, 2026 onward.

Applicable endpoints#

Endpoint Returns Plans
GET /v1/market/steam/latest Current full-depth orderbooks for all regular items All plans
POST /v1/market/steam/history Historical full-depth snapshots Scale, Enterprise

Chart boundaries#

  • top.ask_volume and top.bid_volume are total Steam order counts. Use per-level depth volumes for the cumulative staircase.
  • These are visible orders, not completed sales. Orders can be canceled after collection.
  • Variants are not included on the Steam orderbook endpoints.
  • updated_at is the selected Steam observation time; collected_at is when cs2.sh collected it and is the consumer freshness reference.

The Steam orderbook guide covers the same ladder fields for fill calculations.