How to Get Current CS2 Item Prices

Updated

API reference: GET /v1/prices/latest · GET /v1/schema

GET /v1/prices/latest returns current prices for every tracked CS2 item across BUFF, Youpin, CSFloat, Skinport, Steam, and C5Game in one USD snapshot.

Current price can mean the cheapest listing, highest buy order, or a completed-sale statistic. The live snapshot exposes asks and bids. Sale archives are separate because they answer a different question.

Current-price fields by marketplace#

Source Current fields
BUFF, Youpin, Steam ask, bid, ask_volume, bid_volume
CSFloat, C5Game ask, bid, ask_volume
Skinport ask, ask_volume, listing summaries, and rolling sale windows

ask is the lowest active listing and bid is the highest buy order. Prices are normalized to USD. Every source object also has updated_at and collected_at for marketplace and collection freshness.

Doppler, Gamma Doppler, and Case Hardened can have per-source prices under variants rather than sharing the parent price.

Look up an item in the snapshot#

Fetch GET /v1/prices/latest and locate the exact market_hash_name in the items map. The endpoint returns the complete tracked catalog and requires gzip. It is available on all plans.

Select the price field that matches the use case. Use ask for the cheapest currently listed unit and bid for the immediate sell-side quote. Compare cash marketplaces separately from Steam when wallet value and withdrawable value must not be mixed.

If the exact item name is unknown, use GET /v1/schema. The catalog supplies canonical names, wears, variants, collections, marketplace IDs, and images. The item schema guide explains that mapping.

Applicable endpoints#

Endpoint Returns Plans
GET /v1/prices/latest Current all-items, all-marketplace snapshot All plans
GET /v1/schema Exact item names and metadata All plans
POST /v1/prices/history Historical ask and bid OHLC Scale, Enterprise

Price-selection caveats#

  • Missing fields are unavailable, not zero. A zero substitution can make a source incorrectly appear cheapest.
  • Use collected_at to measure when cs2.sh fetched a source. updated_at is the marketplace's own update time.
  • ask_volume and bid_volume count active orders, not completed sales.
  • Variant source objects are sparse. A missing phase quote must not inherit the base item's price.
  • Live prices refresh every ~5-10 minutes depending on source. Applications should enforce their own acceptable freshness threshold.

The current-price reference documents the full snapshot shape.