# How to Get C5Game Price History for CS2

> cs2.sh provides C5Game price history through a long-term archive from 2023
> and a continuously updated OHLC series from December 24, 2025. Both include
> asks, bids, and active listing counts.

C5Game asks and bids are collected in separate passes. Historical rows can
therefore contain a plausible ask and a bid that is missing or above that ask.
Use each side independently until the pair passes a crossed-quote check.

## C5Game history datasets

| Endpoint | Coverage | Data model |
| --- | --- | --- |
| `POST /v1/archive/history` | From 2023 at `1h` or `1d` | Last-observed ask, bid, `ask_volume`, `time`, and `sample_count` |
| `POST /v1/prices/history` | From December 24, 2025 at `5m`, `30m`, `1h`, or `1d` | Ask and bid OHLC, `ask_volume`, `sample_count`, `open_time`, and `close_time` |

The archive updates once or twice per day. The OHLC endpoint updates
continuously with current price collection.

C5Game does not expose `bid_volume`. Neither dataset supplies completed-sale
prices or C5Game purchase counts.

## Query an ask-first C5Game series

Request up to 100 exact `market_hash_name` values and filter to `c5game`. Use
the archive for long horizons, or choose the OHLC endpoint when intraday highs,
lows, and closing prices matter.

For archive rows, read the outer `bucket` as the UTC boundary and C5Game
`time` as the real last observation inside it. For OHLC, use `open_time` and
`close_time` to see when the source was actually observed.

Keep a positive ask even when its paired bid is unusable. Include a bid in
spread analysis only when it is positive and no higher than the ask. These
source quotes answer a different question from completed-sale data and should
remain separately labeled.

## Applicable endpoints

| Endpoint | Returns | Plans |
| --- | --- | --- |
| `POST /v1/archive/history` | Long-term C5Game observations from 2023 | Scale, Enterprise |
| `POST /v1/prices/history` | C5Game OHLC from December 24, 2025 | Scale, Enterprise |

## C5Game history caveats

- Do not turn a crossed bid into an absolute spread or clip it to the ask. That
  would manufacture a coherent quote from independently timed data.
- Archive values are last observations, while OHLC fields summarize movement
  within a bucket. Combining them without labeling the model creates a
  discontinuity in charts and returns.
- `ask_volume` is active listing count, not sale volume.
- A valid item with no rows in the requested archive range can return an
  item-level archive error. Check `errors[]` alongside successful items.
