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

POST /v1/archive/csfloat

Returns CSFloat daily average sale price and sale volume. Data begins in 2022 and updates ~1-2x per day.

Max 100 items per request.

Access#

Requires a Scale or Enterprise API key.

Request#

POSTapi.cs2.sh/v1/archive/csfloat
curl -X POST https://api.cs2.sh/v1/archive/csfloat \
  -H "Authorization: Bearer <<YOUR_API_KEY>>" \
  -H "Accept-Encoding: gzip" --compressed \
  -H "Content-Type: application/json" \
  -d '{
  "items": [
    "USP-S | Printstream (Factory New)"
  ],
  "start": "2024-01-01",
  "end": "2026-08-23",
  "currency": "USD"
}'

Parameters#

FieldTypeRequiredDescription
itemsstring[]YesList of market_hash_name values (max 100).
startstringNoStart date/time as YYYY-MM-DD or RFC3339, inclusive. Defaults to 2020-01-01.
endstringNoEnd date/time as YYYY-MM-DD or RFC3339, exclusive. Defaults to now.
currencystringNoDefault: USD. Allowed: AUD, CAD, CHF, CNY, EUR, GBP, JPY, NZD, SGD, USD. Currency for every price in the response.

Response#

{
  "response_time": "2026-08-23T22:00:08.282900466Z",
  "currency": "USD",
  "start": "2026-05-25T00:00:00Z",
  "end": "2026-08-22T00:00:00Z",
  "items": {
    "USP-S | Printstream (Factory New)": {
      "market_hash_name": "USP-S | Printstream (Factory New)",
      "count": 89,
      "data": [
        {
          "date": "2026-05-25",
          "price": 132.03,
          "volume": 12
        },
        {
          "date": "2026-05-26",
          "price": 119.67,
          "volume": 10
        }
      ]
    }
  }
}

Response fields#

ArchiveCSFloatResponse fields:

FieldTypeRequiredDescription
response_timestring (date-time)YesWhen the response was generated.
currencystringYesCurrency code for every price in the response. Matches the requested currency; defaults to USD.
startstring (date-time)YesEffective start of the queried range, floored to the day boundary. Inclusive.
endstring (date-time)YesEffective end of the queried range, ceiled to the day boundary. Exclusive.
itemsRecord<string, ArchiveCSFloatItem>YesMap of market_hash_name to CSFloat sale time-series.
errorsItemError[]NoPer-item failures alongside successful results (partial success).

Daily data#

FieldDescription
items.<name>.countNumber of daily aggregates.
items.<name>.data[]Daily aggregates.
data[].dateDay, YYYY-MM-DD, UTC.
data[].priceArithmetic average of all sale prices that day, USD.
data[].volumeNumber of sales that day.
items.<name>.variantsThe same shape per variant.
  • date, price, and volume are present on returned daily aggregates. price can be null when the stored day has volume but no usable price.
  • Variants appear under variants when CSFloat archive data exists for that variant.
  • Valid requested items with no CSFloat archive data return not_in_archive.

Full schemas: ArchiveCSFloatItem, ArchiveCSFloatBucket.

Errors#

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