New dedicated Steam Community Market endpoints are available! - full historical sale data and full-depth bid/ask orderbook. See docs.

POST /v1/archive/csfloat

Returns time-series average sale price and volume from completed sales on CSFloat. Data begins in 2022.

Data is daily and updated once or twice per day. Max 100 items per request.

Access#

Requires a Scale or Enterprise API key.

Supported sources#

SourceFields
csfloatprice (daily average sale price), volume (daily sales count)

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": [
    "AK-47 | Redline (Field-Tested)"
  ],
  "start": "2024-01-01",
  "end": "2026-01-08"
}'

Parameters#

FieldTypeRequiredDescription
itemsstring[]YesList of market_hash_name values (max 100)
startstringNoStart date (YYYY-MM-DD or RFC3339). Default 2020-01-01.
endstringNoEnd date (YYYY-MM-DD or RFC3339). Default now.

Response#

json
{
  "response_time": "2026-02-28T18:37:05.1079307Z",
  "currency": "USD",
  "start": "2025-11-16T00:00:00Z",
  "end": "2026-02-14T00:00:00Z",
  "items": {
    "AWP | Asiimov (Field-Tested)": {
      "market_hash_name": "AWP | Asiimov (Field-Tested)",
      "count": 90,
      "data": [
        {
          "date": "2025-11-16",
          "price": 153.77,
          "volume": 32
        },
        {
          "date": "2025-11-17",
          "price": 125.09,
          "volume": 22
        }
      ]
    }
  }
}

Returns a ArchiveCSFloatResponse object. See Objects for the full shape.

Response fields#

Each item holds count and a data[] array of daily aggregates; variants nest under variants. Each aggregate carries date (YYYY-MM-DD, UTC), price (arithmetic average of all sale prices that day, USD), and volume (number of sales that day).

  • date, price, and volume are present on returned daily aggregates.
  • 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#

StatusWhen
400 validation_errorThe request body or query failed validation (e.g. bad JSON, missing items/start, over 100 items, or a bad interval or date range).
404 not_foundNo requested valid item has CSFloat archive data.
401 / 403Missing key, invalid key, or plan access.
429Rate-limited.
5xxServer-side issue.

When some items resolve and others don't, the request still returns 200 with the resolved items plus an errors[] array – each entry is an ItemError with a code of unknown_item, invalid_format, or not_in_archive.