How to Get BUFF Listing and Buy-Order Volume History

Updated

API reference: POST /v1/prices/history · POST /v1/market/buff/history

cs2.sh records BUFF ask_volume and bid_volume through time. POST /v1/prices/history covers base items and variants, while the dedicated BUFF endpoint adds float and fade range histories.

ask_volume counts active listings and bid_volume counts active buy orders. Both fields describe the visible market at an observation. They do not count completed sales or orders added during the interval.

Available BUFF volume histories#

The general OHLC endpoint returns last-observed BUFF volumes in every 5m, 30m, 1h, or 1d price bucket. Coverage begins December 24, 2025, and supported Doppler, Gamma Doppler, and Case Hardened variants have independent history under variants.

The dedicated BUFF endpoint returns last-observed volume for every base, float, fade, and float_fade bucket. That range-level history begins May 19, 2026, refreshes every 10 minutes, and supports 30m, 1h, and 1d.

Both series also carry ask and bid prices, which lets a volume change be read beside the price level observed in the same interval.

Choose item-level or range-level counts#

For an ordinary item or phase-wide variant, request the exact market_hash_name on POST /v1/prices/history, filter to buff, and read the volume fields from each BUFF source object.

For an exact float, Fade percentage, or combined range, request the item on POST /v1/market/buff/history. Select the stable bucket_id that matches the current BUFF range catalog. This prevents the base item's larger market count from being assigned to a narrow premium range.

The BUFF range-history reference shows how range identity and data[] are nested. Use CS2 sale volume data when actual trading activity, rather than visible market size, is required.

Applicable endpoints#

Endpoint Returns Plans
POST /v1/prices/history Item and variant ask/bid OHLC with last-observed volumes Scale, Enterprise
POST /v1/market/buff/history Range-level OHLC and last-observed volumes Scale, Enterprise

What a volume change can show#

  • A decrease in ask_volume can result from sales, cancellations, repricing, or changed source coverage. It cannot be converted directly into sale count.
  • bid_volume counts active buy orders, not the total quantity available at the highest bid or at each orderbook level.
  • Missing buckets should break a change calculation. Comparing across an unmarked gap makes a multi-interval move look like a one-interval move.
  • Use open_time, close_time, and sample_count on general OHLC to judge whether two volume observations have comparable coverage.