idomanteu/cs2-historical-item-prices-hourly-march-april-2026
CS2 Historical Item Price Dataset - Hourly Data from BUFF, CSFloat, Youpin (March-April 2026) Published by cs2.sh - the pricing API for the Counter-Strike 2 skin market. Released free under CC BY 4.0. Hourly price history for Counter-Strike 2 (CS2) items across three marketplaces - BUFF (buff163), CSFloat, and Youpin (youpin898) - plus a cross-marketplace aggregate with trading volume and total supply. Window: 2026-03-22 → 2026-04-15 (25 days, 600 hourly buckets) Items: 33… See the full description on the dataset page: https://huggingface.co/datasets/idomanteu/cs2-historical-item-prices-hourly-march-april-2026.
CS2 Historical Item Price Dataset - Hourly Data from BUFF, CSFloat, Youpin (March-April 2026)
Published by [cs2.sh](https://cs2.sh) - the pricing API for the Counter-Strike 2 skin market. Released free under CC BY 4.0.
Hourly price history for Counter-Strike 2 (CS2) items across three marketplaces - BUFF (buff163), CSFloat, and Youpin (youpin898) - plus a cross-marketplace aggregate with trading volume and total supply.
- Window: 2026-03-22 → 2026-04-15 (25 days, 600 hourly buckets)
- Items: 33,063 base items + 971 variants (Doppler phases, Case Hardened tiers)
- Formats: Parquet (zstd-compressed) and gzipped CSV
- License: CC BY 4.0
For full access, use the [cs2.sh](https://cs2.sh) API directly. API access to live prices, high-frequency historical data, and years of archive data.
Files
All timestamps are UTC. Monetary values are in USD.
Schema
cs2_listing_prices_hourly.*
One row per (item × variant × source × hour). Per-marketplace hourly OHLC listing prices.
cs2_market_aggregate_hourly.*
One row per (item × variant × hour). Cross-marketplace aggregate. Shares market_hash_name, variant_version, variant_display_name, and bucket with the listing file.
Variants
Variants appear as rows with the same market_hash_name as their base item but with variant_version and variant_display_name populated.
Null semantics
- Missing rows: a row is not emitted if a source had no data for that item at that hour. For cross-marketplace comparisons, use an explicit join rather than assuming aligned rows.
- Null columns: CSFloat has no bid data, so
open_bid,close_bid,bid_volumeetc. are always null whensource = 'csfloat'.
Quick start
import pandas as pd
import duckdb
prices = pd.read_parquet("cs2_listing_prices_hourly.parquet")
aggregate = pd.read_parquet("cs2_market_aggregate_hourly.parquet")
# DuckDB runs directly on the files
duckdb.sql("SELECT * FROM 'cs2_listing_prices_hourly.parquet' LIMIT 10")Attribution
CS2 Historical Item Price Dataset - Hourly Data from BUFF, CSFloat, Youpin (March-April 2026). cs2.sh. https://cs2.sh
