Data Coverage
This page covers all provided data, refresh rates, and historical coverage for cs2.sh API endpoints.
Marketplaces & data
cs2.sh supports BUFF, Youpin, CSFloat, Skinport, Steam, and C5Game.
ask is the current lowest sell listing. bid is the current highest generic buy order.
ask_volume and bid_volume are the number of active listings or buy orders.
| Marketplace | Current data | Historical data | Additional data |
|---|---|---|---|
| BUFF | ask, bid, ask_volume, bid_volume | OHLC through prices/history; archive bid/ask prices from 2023 | Float ranges through market/buff/latest and market/buff/history |
| Youpin | ask, bid, ask_volume, bid_volume | OHLC through prices/history; archive bid/ask prices from 2023 | Sale price history through archive/youpin |
| CSFloat | ask, bid, ask_volume | OHLC through prices/history; sale price and sale volume history from 2022 | Sale price and sale volume through archive/csfloat |
| Skinport | ask, ask_volume | OHLC through prices/history | max_ask, mean_ask, median_ask, and rolling 24h/7d/30d/90d sale statistics |
| Steam | ask, bid, ask_volume, bid_volume | OHLC through prices/history; median sale price and sale volume history from 2013 | Full bid/ask orderbooks through market/steam/latest and market/steam/history |
| C5Game | ask, bid, ask_volume | OHLC through prices/history; archive bid/ask prices from 2023 | - |
| Aggregate | hourly_volume, total_supply | Archive data from archive/history from 2023 | archive/history provides historical approximate sale volume and item supply |
BUFF, Youpin, CSFloat, Skinport, and C5Game support current Doppler and Gamma Doppler prices. Current Case Hardened prices are supported on BUFF, Skinport, and C5Game. The Youpin archive can also return mapped Case Hardened variants.
Steam doesn't support any variants since the Steam Community Market doesn't distinguish between individual phases and their base item.
Archive data
cs2.sh's archive endpoints provide several different types of historical data:
archive/historyfor hourly and daily bid/ask prices,ask_volume,bid_volume, approximate sale volume, and item supply.archive/csfloatfor CSFloat daily average sale prices and sale volume.archive/steamfor Steam Community Market median sale prices and sale volume.archive/youpinfor Youpin sale prices.
Refresh rates
| Endpoint | Refresh rate |
|---|---|
GET /v1/prices/latest | Most prices update every ~5 minutes, depending on the marketplace |
POST /v1/prices/latest | Same data as GET /v1/prices/latest |
POST /v1/prices/history | Updates continuously using the same data as prices/latest |
GET /v1/liquidity/items | Daily |
GET /v1/market/buff/latest | Every 10 minutes |
POST /v1/market/buff/history | Every 10 minutes |
GET /v1/market/steam/latest | Every ~3-10 minutes, depending on item liquidity |
POST /v1/market/steam/history | Same data as GET /v1/market/steam/latest |
GET /v1/schema | Automatically updated when Counter-Strike 2 game files update |
The refresh rate is approximate, so individual items may update less or more frequently when the marketplace has new/no data, or depending on item liquidity.
Archive refresh rates
| Endpoint | Refresh rate |
|---|---|
POST /v1/archive/history | ~1-2x per day |
POST /v1/archive/csfloat | ~1-2x per day |
POST /v1/archive/steam | ~1-4x per day |
POST /v1/archive/youpin | ~1-2x per day |
Variant refresh rates
Variant prices typically have a slightly different refresh rate from regular item prices.
| Marketplace | Variant refresh rate |
|---|---|
| BUFF | Every ~3-5 minutes |
| Youpin | Every ~5-15 minutes |
| CSFloat asks | Every ~10-15 minutes |
| CSFloat bids | Every ~10-15 minutes |
| Skinport | Every ~5 minutes |
| Steam | N/A (not supported) |
| C5Game | Every ~5 minutes |
BUFF float and fade ranges, including ranges for variants, update every 10 minutes.
Historical coverage
| Endpoint | Historical coverage | Intervals |
|---|---|---|
POST /v1/prices/history | Since December 24, 2025 | 5m, 30m, 1h, 1d |
POST /v1/market/buff/history | Since May 19, 2026 | 30m, 1h, 1d |
POST /v1/market/steam/history | Since June 9, 2026 | 1h, 1d |
POST /v1/archive/history | Since 2023 | 1h, 1d |
POST /v1/archive/csfloat | Since 2022 | 1d |
POST /v1/archive/steam | Daily since April 26, 2013; hourly since May 9, 2026 | 1h, 1d |
POST /v1/archive/youpin | 12h since November 12, 2025; 4h since June 27, 2026; 1h since July 20, 2026 | 1h, 4h, 12h |
The continuous history endpoints have interval-specific request limits. This determines the maximum request range you can query in a single request, though you can still combine several requests. For example, if you wanted 30m prices/history data for 180 days, you'd have to combine 2 requests since the maximum request range is 90 days.
| Endpoint | Interval | Maximum request range |
|---|---|---|
prices/history | 5m | 14 days |
prices/history | 30m | 90 days |
prices/history | 1h | 365 days |
prices/history | 1d | Unlimited |
market/buff/history | 30m | 90 days |
market/buff/history | 1h | 365 days |
market/buff/history | 1d | Unlimited |
market/steam/history | 1h | 90 days |
market/steam/history | 1d | Unlimited |
Endpoint types
cs2.sh provides three distinct types of price-data endpoints:
- Snapshot
- Historical time-series
- Archive
Snapshot endpoints provide the current, latest prices available at the given request time. Every marketplace price object has a distinct updated_at and collected_at so you can check data freshness.
updated_at is when the marketplace last updated the price. collected_at is when cs2.sh collected it.
Historical time-series endpoints aggregate the snapshot data to construct price history. For example, the prices/history endpoint uses the same data as prices/latest, but collects the OHLC (open, high, low, and close within a given time period) for a set interval. If you were to request the 1h interval for prices/history, each separate bucket would contain the OHLC for that given hour's data. This allows prices/history to provide a continuously growing time-series at 5m/30m/1h/1d intervals.
prices/historyandmarket/buff/historyare OHLC aggregations.market/steam/historyis sampled history. Each bucket contains the latest full Steam orderbook snapshot collected within that interval. If you were to query the 1h interval, each bucket would contain the last orderbook collected during that hour.
Archive endpoints are reserved for longer-term historical data, with up to 13 years of history. These endpoints typically update ~1-2x per day, with archive/steam updating more frequently.
Archive data does not always have the same meaning as snapshot data. Depending on the endpoint, it may represent listing prices, sale prices, sale volume, item supply, or marketplace-provided samples.