How to Get CS2 Skin Liquidity Data
Updated
API reference: GET /v1/liquidity/items · GET /v1/prices/latest
GET /v1/liquidity/itemsreturns a daily liquidity bucket andestimated_sale_timefor 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
unknownmeans 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_timeto an active listing decision.