BUFF sale history is now available - POST /v1/archive/buff returns sale prices and daily total supply since September 2024.

POST /v1/archive/buff

Returns BUFF sale prices and daily total supply from BUFF's sale trends chart.

  • Sale prices from September 6, 2024
  • Daily total_supply from September 6, 2024 (for items where BUFF reports it)

Data updates ~1x per day. Max 100 items per request.

Access#

Requires a Scale or Enterprise API key.

Sample density#

BUFF samples recent history more densely/frequently than older history. A sample only exists where a sale occurred, so illiquid items have larger gaps at each interval.

FromTypical spacing
September 20261-3 hours
August 2026~12 hours
March 2026~2 days
September 2025~4 days
September 2024~6 days

Request#

POSTapi.cs2.sh/v1/archive/buff
curl -X POST https://api.cs2.sh/v1/archive/buff \
  -H "Authorization: Bearer <<YOUR_API_KEY>>" \
  -H "Accept-Encoding: gzip" --compressed \
  -H "Content-Type: application/json" \
  -d '{
  "items": [
    "★ Karambit | Doppler (Factory New)"
  ],
  "start": "2024-09-01",
  "end": "2026-09-07"
}'

Parameters#

FieldTypeRequiredDescription
itemsstring[]YesList of market_hash_name values (max 100).
startstringNoStart date/time as YYYY-MM-DD or RFC3339, inclusive. Defaults to the start of collected history.
endstringNoEnd date/time as YYYY-MM-DD or RFC3339, exclusive. Defaults to now.

Response#

{
  "response_time": "2026-09-07T03:06:32.382569714Z",
  "currency": "USD",
  "start": "2026-09-03T00:00:00Z",
  "end": "2026-09-06T00:00:00Z",
  "items": {
    "★ Karambit | Doppler (Factory New)": {
      "market_hash_name": "★ Karambit | Doppler (Factory New)",
      "count": 23,
      "data": [
        {
          "time": "2026-09-03T00:00:00Z",
          "sale_price": 1872.55,
          "total_supply": 30164
        },
        {
          "time": "2026-09-03T03:00:00Z",
          "sale_price": 1469.43,
          "total_supply": 30164
        }
      ],
      "variants": {
        "Phase 2": {
          "market_hash_name": "★ Karambit | Doppler (Factory New)",
          "name": "★ Karambit | Doppler (Factory New) | Phase 2",
          "display_name": "Phase 2",
          "version": "p2",
          "count": 28,
          "data": [
            {
              "time": "2026-09-03T00:00:00Z",
              "sale_price": 1872.55,
              "total_supply": 7509
            }
          ]
        }
      }
    }
  }
}

Response fields#

ArchiveBuffResponse fields:

FieldTypeRequiredDescription
response_timestring (date-time)YesWhen the response was generated.
currencystringYesCurrency code (always USD).
startstring (date-time)YesEffective start of the queried range, exactly as requested or defaulted. Inclusive.
endstring (date-time)YesEffective end of the queried range, exactly as requested or defaulted. Exclusive.
itemsRecord<string, ArchiveBuffItem>YesMap of market_hash_name to BUFF sale series.
errorsItemError[]NoPer-item failures alongside successful results (partial success).

Samples#

FieldDescription
items.<name>.countNumber of samples.
items.<name>.data[]Native BUFF chart samples.
data[].timeSample time.
data[].sale_priceSale price, USD, converted at the sale date's exchange rate.
data[].total_supplyBUFF-reported total supply for the sample's day (UTC+8).
items.<name>.variantsThe same shape per variant.
  • time is present on every sample.
  • sale_price can be null when the sale date's exchange rate is not stored yet, or on a supply-only day.
  • total_supply can be null when BUFF reported no supply for that day.
  • A day with supply and no sales returns one sample at China midnight (16:00 UTC).
  • count is the number of samples. It is not sale volume.
  • Variants appear under variants when BUFF sale history exists for that variant.
  • Valid requested items with no BUFF sale history return not_in_archive.

Full schemas: ArchiveBuffItem, ArchiveBuffVariant, ArchiveBuffPoint.

Errors#

404 not_found means none of the requested valid items have BUFF sale history in the window. Partial results return 200 with errors[]; possible item codes are unknown_item, invalid_format, and not_in_archive. See Partial success and Request errors.