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

How to Get C5Game Intraday Price History

Updated

Endpoints used: POST /v1/prices/history & POST /v1/archive/history

Related pages: C5Game price API & CS2 price history API

cs2.sh's POST /v1/prices/history with sources: ["c5game"] returns C5Game ask and bid OHLC from December 24, 2025 at 5m, 30m, 1h, or 1d. For prices before that date, POST /v1/archive/history carries C5Game back to 2023 at hourly or daily buckets.

C5Game has no public developer API. Two cs2.sh series cover it, and they are different datasets rather than one continuous history: knowing where the handoff sits is the whole job.

What cs2.sh provides for C5Game#

Intraday history Long-term archive
Endpoint POST /v1/prices/history POST /v1/archive/history
Coverage From December 24, 2025 From 2023
Intervals 5m, 30m, 1h, 1d 1h, 1d
Fields ask and bid OHLC, ask_volume Last-observed ask, bid, ask_volume, bid_volume
Update cadence Continuously, from the same snapshots as current prices About 1-2x per day
Items per request 100 100
Access Scale or Enterprise Scale or Enterprise

C5Game reports no bid_volume in current prices and intraday history, matching CSFloat. The archive series does carry bid_volume for the platforms it covers.

Request intraday candles#

bash
curl -X POST https://api.cs2.sh/v1/prices/history \
  -H "Authorization: Bearer <<YOUR_API_KEY>>" \
  -H "Accept-Encoding: gzip" --compressed \
  -H "Content-Type: application/json" \
  -d '{
  "items": ["USP-S | Printstream (Factory New)"],
  "start": "2026-07-20",
  "sources": ["c5game"],
  "interval": "30m"
}'
Interval Maximum request range
5m 14 days
30m 90 days
1h 365 days
1d Unlimited

Each bucket's c5game object carries open_ask, high_ask, low_ask, close_ask, ask_volume, the matching bid OHLC, sample_count, open_time, and close_time.

Request the long-term archive#

POST /v1/archive/history defaults to the aggregate source only, so C5Game must be named explicitly:

bash
curl -X POST https://api.cs2.sh/v1/archive/history \
  -H "Authorization: Bearer <<YOUR_API_KEY>>" \
  -H "Accept-Encoding: gzip" --compressed \
  -H "Content-Type: application/json" \
  -d '{
  "items": ["USP-S | Printstream (Factory New)"],
  "start": "2023-01-01",
  "sources": ["c5game"],
  "interval": "1d"
}'
json
"c5game": {
  "time": "2026-04-27T23:57:07Z",
  "ask": 132.21,
  "ask_volume": 139,
  "bid": 213.58,
  "bid_volume": 24,
  "sample_count": 24
}

Archive values are the last observed price in the bucket, not an OHLC aggregation. time is when that observation happened and sample_count is how many readings the bucket contained.

Reading the data correctly#

The two series have different collection and aggregation behaviour, so a chart that spans December 24, 2025 is showing a handoff between datasets. Mark it. An OHLC close and a last-observed value are not the same statistic, and a chart that implies otherwise will show a step that is an artefact rather than a market move.

Archive history updates about 1-2x per day. Hourly buckets do not mean hourly collection: the interval describes the bucket width, not how often data arrived.

Intraday bucket is the aligned boundary while open_time and close_time are the real observation window. On a thin item those sit far apart, and sample_count shows how much evidence the candle carries.

Everything in both series is an active order. Neither reports completed sales. For approximate sale activity, the aggregate source in the archive carries hourly_volume, an estimate rather than a marketplace-reported count.

When items fail#

Item-level failures arrive in errors[] beside successful results: unknown_item, invalid_format, unsupported_source where an item has no C5Game identity, and not_in_archive on archive requests for a valid item with no rows.

Request-level failures carry error, message, and a request_id. Correct 400, 401, 403, and 404 before retrying; retry 429 and temporary 5xx with a bounded delay.

Worked example: a multi-year C5Game chart#

Request archive 1d buckets from 2023 to December 24, 2025 with sources: ["c5game"], then request prices/history 1d candles from December 24, 2025 forward. Store both with a column recording which series each row came from.

Plot them as one line only if you label the handoff, and prefer close_ask from the intraday side against ask from the archive side, since both describe the sell listing at the end of the period. Keep sample_count from both so sparse early buckets are visible as sparse.

Full request and response reference: POST /v1/prices/history and POST /v1/archive/history. Both need a Scale or Enterprise key.