# How to Compare Steam Listings With Completed Sales

> cs2.sh exposes Steam ask and bid OHLC separately from native Steam median sale price and purchase count, so both series can be aligned without treating order counts as sales.

Listings describe active seller asks and buyer bids. The archive's `price` is the median completed-sale price within a native Steam bucket.

## Steam listing and sale datasets

| Dataset | Price fields | Volume fields | Coverage |
| --- | --- | --- | --- |
| Quote OHLC | Ask and bid open, high, low, close | `ask_volume`, `bid_volume` order counts | Since December 24, 2025 |
| Native sales | Median `price` | Purchase `volume` | Daily since April 26, 2013; hourly since May 9, 2026 |

Both series use USD Steam wallet value. Their field names must remain distinct because an order count does not imply execution.

## Align the two histories

Request `steam` at `1h` or `1d` from `POST /v1/prices/history`. Request the same exact regular item, interval, and UTC range from `POST /v1/archive/steam`.

Join on the normalized `bucket` boundary. Keep the quote `open_time` and `close_time` because they show what part of the bucket the order observations covered. Pair archive `price` with `volume` and quote closes with their order counts.

A sale median above or below the closing ask can be valid. Purchases occurred throughout the bucket, while `close_ask` is only the final observed listing floor.

## Applicable endpoints

| Endpoint | Returns | Plans |
| --- | --- | --- |
| `POST /v1/prices/history` | Steam ask and bid OHLC | Scale, Enterprise |
| `POST /v1/archive/steam` | Native median sale price and purchases | Scale, Enterprise |
| `GET /v1/market/steam/latest` | Current orderbook context | All plans |

## Join limitations

- `ask_volume` and `bid_volume` are active order counts. Archive `volume` is purchases.
- A median sale price is not sale OHLC and cannot reconstruct individual trades.
- Missing buckets on either side should remain unpaired rather than becoming zero or a carried value.
- The listing series starts later than the daily sale archive. Earlier Steam analysis can use sales without quote OHLC.
- Both endpoints support regular items only; phase variants are unsupported.

Read [Steam listing history](/resources/how-to-get-steam-listing-price-history) and [Steam sale history](/resources/how-to-get-steam-market-sale-history) for each series independently.
