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

POST /v1/archive/steam

Returns Steam Community Market median sale price and volume history.

  • Daily (1d) buckets from April 26, 2013
  • Hourly (1h) buckets from May 9, 2026

This is the same data that Steam exposes through their price graphs on any community market item page. Max 100 items per request.

Access#

Requires a Scale or Enterprise API key.

Supported intervals#

IntervalMax range
1hUnlimited
1dUnlimited

Supported sources#

SourceFields
steamprice (median sale price), volume (number of purchases)

Request#

POSTapi.cs2.sh/v1/archive/steam
curl -X POST https://api.cs2.sh/v1/archive/steam \
  -H "Authorization: Bearer <<YOUR_API_KEY>>" \
  -H "Accept-Encoding: gzip" --compressed \
  -H "Content-Type: application/json" \
  -d '{
  "items": [
    "AK-47 | Redline (Field-Tested)"
  ],
  "start": "2025-01-01",
  "end": "2025-02-01",
  "interval": "1d"
}'

Parameters#

FieldTypeRequiredDescription
itemsstring[]YesList of regular market_hash_name values (max 100). Variants are not supported.
startstringYesStart date/time as YYYY-MM-DD or RFC3339, inclusive.
endstringNoEnd date/time as YYYY-MM-DD or RFC3339, exclusive. Defaults to now.
intervalstringYesAllowed: 1h, 1d. Native Steam bucket interval. No public max date range.

Response#

json
{
  "response_time": "2026-06-14T12:00:00Z",
  "currency": "USD",
  "start": "2025-01-01T00:00:00Z",
  "end": "2025-02-01T00:00:00Z",
  "interval": "1d",
  "items": {
    "AK-47 | Redline (Field-Tested)": {
      "market_hash_name": "AK-47 | Redline (Field-Tested)",
      "count": 1,
      "data": [
        {
          "bucket": "2025-01-01T00:00:00Z",
          "price": 39.12,
          "volume": 54
        }
      ]
    }
  }
}

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

Response fields#

Each item holds count and a data[] array of buckets. Each bucket carries its bucket boundary, price (Steam's median sale price), and volume (number of purchases).

  • bucket is present on every bucket.
  • Variant items are not supported.
  • Valid requested items with no Steam history return not_in_archive; if every valid item has none, the endpoint returns 404 not_found.

Full schemas: ArchiveSteamItem, ArchiveSteamBucket.

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).
401 / 403Missing key, invalid key, or plan access.
404 not_foundEvery valid regular item has no Steam archive rows.
429Rate-limited.
5xxServer-side issue.

When some items resolve and others do not, the request still returns 200 with the resolved items plus an errors[] array. Variant requests use unsupported_variant.