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_supplyfrom 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.
| From | Typical spacing |
|---|---|
| September 2026 | 1-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
| Field | Type | Required | Description |
|---|---|---|---|
items | string[] | Yes | List of market_hash_name values (max 100). |
start | string | No | Start date/time as YYYY-MM-DD or RFC3339, inclusive. Defaults to the start of collected history. |
end | string | No | End 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:
| Field | Type | Required | Description |
|---|---|---|---|
response_time | string (date-time) | Yes | When the response was generated. |
currency | string | Yes | Currency code (always USD). |
start | string (date-time) | Yes | Effective start of the queried range, exactly as requested or defaulted. Inclusive. |
end | string (date-time) | Yes | Effective end of the queried range, exactly as requested or defaulted. Exclusive. |
items | Record<string, ArchiveBuffItem> | Yes | Map of market_hash_name to BUFF sale series. |
errors | ItemError[] | No | Per-item failures alongside successful results (partial success). |
Samples
| Field | Description |
|---|---|
items.<name>.count | Number of samples. |
items.<name>.data[] | Native BUFF chart samples. |
data[].time | Sample time. |
data[].sale_price | Sale price, USD, converted at the sale date's exchange rate. |
data[].total_supply | BUFF-reported total supply for the sample's day (UTC+8). |
items.<name>.variants | The same shape per variant. |
timeis present on every sample.sale_pricecan benullwhen the sale date's exchange rate is not stored yet, or on a supply-only day.total_supplycan benullwhen BUFF reported no supply for that day.- A day with supply and no sales returns one sample at China midnight (16:00 UTC).
countis the number of samples. It is not sale volume.- Variants appear under
variantswhen 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.