How to Get CS2 Skin Liquidity Data

Updated

API reference: GET /v1/liquidity/items · GET /v1/prices/latest

GET /v1/liquidity/items returns a daily liquidity bucket and estimated_sale_time for every tracked item. Doppler phases, Gamma Doppler phases, and Case Hardened tiers are scored independently.

Liquidity describes how readily an item has sold under recent market conditions. It does not validate the current listing price, so an estimated sale time assumes the item is listed competitively.

How cs2.sh liquidity is calculated#

Liquidity uses real sale volume and traded value (price * volume) from BUFF, Steam, and CSFloat. The calculation looks across rolling 30-day and 90-day windows, weights recent activity more heavily, and recomputes daily.

Each exact market_hash_name receives one absolute, deterministic bucket:

Less liquid More liquid
unknown
extremely_illiquid
very_illiquid
illiquid
moderate
liquid
very_liquid
extremely_liquid

These are fixed classifications from sale data, not percentile ranks relative to the current item population.

estimated_sale_time ranges from under 1 hour through 2+ months, with unknown for insufficient evidence. It is an 80th-percentile estimate for a competitively priced listing rather than a deadline or guarantee.

Read item and variant liquidity#

Fetch the full daily snapshot and select the exact item in items. Read liquidity and estimated_sale_time from the item object.

When variants is present, evaluate each child independently. The map is keyed by display name, while each variant includes the base market_hash_name, full variant name, and stable version. Copying the base item's bucket to Ruby, Black Pearl, Emerald, or a Case Hardened tier can materially understate its expected sale time.

Use run_date to identify the UTC date of the daily computation. Pair the result with the current ask from GET /v1/prices/latest when applying a rule that assumes competitive pricing. The liquidity reference lists every allowed sale-time label.

Applicable endpoints#

Endpoint Returns Plans
GET /v1/liquidity/items Daily item and variant liquidity plus estimated sale time Scale, Enterprise
GET /v1/prices/latest Current asks and bids used to assess listing competitiveness All plans

Decision boundaries#

  • unknown means recent sale evidence is insufficient for classification. Treat it as an explicit coverage result rather than the least-liquid bucket.
  • Re-fetching during the same UTC day does not create a more recent classification; the snapshot is recomputed daily.
  • Liquidity does not account for one item's exact float, paint seed, stickers, or a noncompetitive ask.
  • Current prices can move faster than the daily score. Check price freshness before applying estimated_sale_time to an active listing decision.