How to Get BUFF Doppler Price History by Phase

Updated

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

cs2.sh provides BUFF Doppler price history for each phase and gem through POST /v1/market/buff/history. Every phase has separate BUFF range buckets with ask, average-ask, bid, and volume history from May 19, 2026.

Doppler Phase 1 through Phase 4, Ruby, Sapphire, and Black Pearl are separate markets. Combining them into one base-item series hides the phase premium and can make a thin gem market look like an ordinary Doppler.

BUFF Doppler history coverage#

The response nests each phase under variants. display_name gives the label, while version provides the stable code: p1, p2, p3, p4, ruby, sapphire, or blackpearl. Use version when the phase identity must remain stable across responses.

Every variant contains its own buckets:

  • A base bucket covers the complete phase. Its stable bucket_id looks like variant:p2.
  • float buckets divide that phase into narrower float ranges. A Phase 2 0.00:0.01 bucket is a different market from the Phase 2 base bucket.
  • Each history point has OHLC fields for ask, avg_ask, and bid. ask_volume and bid_volume are the last observed counts in the interval.
  • Prices are normalized to USD. The dedicated BUFF data refreshes every 10 minutes.

The BUFF history endpoint supports 30m, 1h, and 1d intervals. The maximum range is 90 days for 30m, 365 days for 1h, and unlimited for 1d.

Select the phase and BUFF bucket#

Request the base Doppler market_hash_name, then locate the required entry in variants by version. Choose the phase-wide base bucket for comparisons between phases. Choose a float bucket only when the analysis is explicitly about a float premium within that phase.

bucket_id is stable between BUFF latest and BUFF history. A client can discover the current bucket catalog once, retain the identifiers it needs, and match the same identifiers in historical responses.

Within each history point, bucket is the UTC interval boundary. open_time and close_time are the first and last real observations inside that interval. Use those observation timestamps when data coverage within a bucket matters.

Applicable endpoints#

Endpoint Returns Plans
POST /v1/market/buff/history BUFF phase and float-range OHLC from May 19, 2026 Scale, Enterprise
GET /v1/market/buff/latest Current BUFF phase and float-range buckets All plans

Boundaries that affect the result#

  • avg_ask is the average active listing ask. It is not a completed-sale average, so a large gap between ask and avg_ask describes a dispersed listing book rather than prices paid by buyers.
  • Range bounds include min and exclude max. An exact float at the upper bound belongs to the next bucket.
  • History begins May 19, 2026. Use the broader Doppler phase price data guide for cross-market phase coverage, but do not infer earlier BUFF range history.
  • ask_volume and bid_volume are active listing and buy-order counts. They do not measure completed sales.