# How to Get CS2 Item Supply History

> `POST /v1/archive/history` returns approximate CS2 item supply through
> `total_supply` on the `aggregate` source. Coverage begins in 2023 and is
> available in `1h` or `1d` archive buckets.

`total_supply` is an observed level. The change between two observations can
describe movement in estimated supply, but it does not identify an in-game
cause or a set of individual items.

## Supply-history fields

Requesting the `aggregate` source can return:

| Field | Meaning |
| --- | --- |
| `total_supply` | Approximate total supply at the observation |
| `time` | Actual last observation timestamp inside the archive bucket |
| `bucket` | Aligned UTC start of the `1h` or `1d` interval |
| `sample_count` | Number of observations aggregated into the bucket |
| `ask`, `bid` | Last-observed prices for context |
| `hourly_volume` | Approximate sale-volume metric |

Archive data begins in 2023 and updates once or twice per day. Supported
variants can appear under `variants` when archive data exists for them.

## Query and compare supply observations

Request up to 100 exact `market_hash_name` values, set `sources` to
`aggregate`, and choose `1h` or `1d`. Read `total_supply` from the aggregate
object in each returned bucket.

Sort by `bucket`, retain the actual `time`, and calculate changes between
consecutive observed rows. If a bucket is absent, preserve that longer time gap
instead of filling it with the previous value.

The endpoint supports partial success. Resolved items remain under `items`,
while invalid names or items without archive rows can appear in `errors[]`.
The [archive reference](/docs/api-reference/archive-history) describes these
item-level errors and timestamp fields.

## Applicable endpoint

| Endpoint | Returns | Plans |
| --- | --- | --- |
| `POST /v1/archive/history` | Approximate `total_supply` from 2023 | Scale, Enterprise |

## Interpreting supply changes

- A positive change can reflect newly observed items or revised coverage. A
  negative change does not prove items were destroyed.
- `ask_volume` counts active listings and is not total supply. Substituting it
  would measure visible sell-side inventory instead of the item population.
- Large changes should be checked against adjacent observations and
  `sample_count` before an in-game event is assigned as the cause.
- Use [supply and sale volume together](/resources/how-to-get-cs2-item-supply-sale-volume)
  when trading activity is needed beside the supply level.
