cs2.sh vs Official Skinport API for CS2 Market Data

Updated

Endpoints used: GET /v1/prices/latest & POST /v1/prices/history

Use Skinport's official API for Skinport's current item catalog, rolling sale statistics, live listed and sold events, or your own account transactions. Use cs2.sh when the product needs Skinport price movement as 5m, 30m, 1h, or 1d OHLC, plus longer-running price, sale, supply, liquidity, and variant datasets that a current marketplace interface does not provide.

Skinport exposes the marketplace as it exists now#

Skinport's official REST documentation is useful and specific. GET /v1/items returns current minimum, maximum, mean, and median listing prices plus quantity. GET /v1/sales/history returns sale-price and volume statistics for rolling 24-hour, 7-day, 30-day, and 90-day windows. A live WebSocket feed emits newly listed and sold items, and an authenticated endpoint returns the account owner's transactions.

Those are strong inputs for a Skinport-only application. The rolling windows are current summaries, however, not a queryable series of timestamped historical buckets. A team can consume the WebSocket and build that database from today forward, but it cannot recreate observations from before collection started.

Current differences#

Requirement Skinport API cs2.sh
Current Skinport listings Minimum, maximum, mean, median, and quantity Lowest sell listing (ask), active sell-listing count (ask_volume), maximum, mean, median, and rolling sale windows
Live item events WebSocket events for listed and sold items Public API returns item-level snapshots; Enterprise is for custom and raw-data requirements
Sale statistics Rolling 24h, 7d, 30d, and 90d price and volume Preserves Skinport's rolling windows and adds separate long-term CSFloat, Youpin, and Steam sale datasets
Historical Skinport movement No timestamped history endpoint Continuously recorded OHLC at 5m, 30m, 1h, and 1d since December 24, 2025
Liquidity and supply analysis No comparable published endpoint Liquidity bucket and estimated sale time for every item and variant; multi-year archive supply and sale volume
Request policy Items and sale history are cached for 5 minutes and limited to 8 requests per 5 minutes Unlimited monthly requests at 10 requests per second
Account activity Authenticated transaction history No marketplace account or transaction management

Skinport requires Brotli encoding on its large item and sale-history responses. Its five-minute cache also means polling faster does not create a more granular historical record.

Use Skinport for live events and account records#

Skinport's official API should drive features tied to the marketplace itself. Its WebSocket provides individual listed and sold events, its REST endpoints provide Skinport's current catalog and rolling sale summaries, and its authenticated interface returns the account owner's transactions. cs2.sh does not replace those event-level or account-level workflows.

Add cs2.sh for fixed historical series#

cs2.sh records Skinport observations as fixed 5m, 30m, 1h, and 1d OHLC, so a chart or model can query what the market looked like at an earlier timestamp instead of receiving only today's rolling window. It also places that Skinport series beside multi-market archives, completed-sale datasets, item supply, liquidity estimates, and separately priced Doppler, Gamma Doppler, and Case Hardened variants.

A common integration consumes Skinport's feed to react to a new listing or sale, then queries cs2.sh to compare that event with the item's prior price, supply, sale, and liquidity history.

What cs2.sh returns for Skinport#

Skinport is the richest single source object in the API, because it carries the shape of the listing set and its own recent sales rather than a single price:

json
"skinport": {
  "updated_at": "2026-07-26T18:53:09.397Z",
  "collected_at": "2026-07-26T18:53:15.672Z",
  "ask": 115.95,
  "ask_volume": 39,
  "max_ask": 575.78,
  "mean_ask": 181.61,
  "median_ask": 156.61,
  "24h_history": {
    "price": 113.78,
    "max_price": 116.48,
    "mean_price": 115.13,
    "median_price": 115.13,
    "volume": 2
  }
}

max_ask, mean_ask, and median_ask describe every active listing, not just the cheapest, so an outlier at the bottom of the book is visible as one. Four rolling sale windows arrive beside them, 24h_history through 90d_history, each carrying price, max_price, mean_price, median_price, and volume, and each null when Skinport has no recent sales.

Skinport publishes no buy orders, so there is no bid or bid_volume on this source, and POST /v1/prices/history is ask-only for it. The value of routing Skinport through cs2.sh is that it lands beside BUFF, Youpin, CSFloat, Steam, and C5Game under one item identity.

Disclosure: this comparison is published by cs2.sh. Skinport endpoints, fields, caching, and limits were checked against its official documentation on August 5, 2026.