# How to Find the Most Liquid CS2 Skins

> Join `GET /v1/liquidity/items` to `GET /v1/schema` by exact `market_hash_name`, keep tradable `skin` records, and filter by liquidity bucket or estimated sale time.

The liquidity snapshot contains many CS2 item categories. The schema join is what turns it into a skin-only list.

## Liquidity data available

Each item has an absolute `liquidity` bucket and `estimated_sale_time`. Buckets run from `extremely_illiquid` through `extremely_liquid`, with `unknown` for items that lack enough recent evidence.

The score uses real BUFF, Steam, and CSFloat sale volume and traded value over rolling 30- and 90-day windows, weighted toward recent activity. It is recomputed daily and is deterministic, not a percentile ranking against the rest of the market.

Estimated sale time is the 80th-percentile time for a competitively priced listing. Values range from `under 1 hour` through `2+ months`.

## Building the liquid-skin list

Filter the schema to `category: skin` and the required `is_tradable` state, then join those exact names to the liquidity snapshot. Apply a minimum accepted bucket, maximum estimated sale time, or both.

Items tied within the same bucket and time band have no hidden public numeric score to break the tie. Sort them by an independent field such as exact name, rarity, or current price and label that secondary rule.

Handle nested variants separately. Supported phases and tiers have their own liquidity and estimated sale time rather than inheriting the base item's result.

## Applicable endpoints

| Endpoint | Returns | Plans |
| --- | --- | --- |
| `GET /v1/schema` | Item category, tradability, and metadata | All plans |
| `GET /v1/liquidity/items` | Daily liquidity and estimated sale time | Scale, Enterprise |

## Ranking limits

- The first item after alphabetical tie-breaking is not more liquid than peers in the same public bucket and time band.
- `unknown` is insufficient evidence, not the lowest numeric rank. Keep it out of strict sale-time screens.
- A sale-time estimate assumes competitive pricing and is not a guaranteed deadline.
- Liquidity does not include the current acquisition price. Join current prices separately when budget matters.

See [variant liquidity comparison](/resources/how-to-compare-cs2-variant-liquidity) for phase and tier handling.
