# How to Get BUFF Listing and Buy-Order Volume 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](/docs/api-reference/market-buff-history)
shows how range identity and `data[]` are nested. Use
[CS2 sale volume data](/resources/how-to-get-cs2-sale-volume) 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.
