New dedicated Steam Community Market endpoints are available! - full historical sale data and full-depth bid/ask orderbook. See docs.

POST /v1/prices/latest

Returns current bid/ask prices for up to 100 specific items for all marketplaces.

Prices update from marketplaces every ~5 minutes. Items with Doppler phases or Case Hardened tiers include a variants response; see Response Format.

Access#

Available on all plans (Developer, Scale, Enterprise).

Supported sources#

SourceFields
buffask, bid, ask_volume, bid_volume
youpinask, bid, ask_volume, bid_volume
csfloatask, ask_volume
skinportask, ask_volume, max_ask, mean_ask, median_ask, 24h_history, 7d_history, 30d_history, 90d_history
steamask, bid, ask_volume, bid_volume
c5gameask, bid, ask_volume

Request#

POSTapi.cs2.sh/v1/prices/latest
curl -X POST https://api.cs2.sh/v1/prices/latest \
  -H "Authorization: Bearer <<YOUR_API_KEY>>" \
  -H "Accept-Encoding: gzip" --compressed \
  -H "Content-Type: application/json" \
  -d '{
  "items": [
    "AK-47 | Redline (Field-Tested)",
    "AWP | Asiimov (Field-Tested)"
  ]
}'

Parameters#

FieldTypeRequiredDescription
itemsstring[]YesList of market_hash_name values (max 100)

Response#

json
{
  "response_time": "2026-02-28T18:36:58.240257517Z",
  "currency": "USD",
  "items": {
    "AWP | Asiimov (Field-Tested)": {
      "market_hash_name": "AWP | Asiimov (Field-Tested)",
      "buff": {
        "updated_at": "2026-02-28T18:20:00Z",
        "collected_at": "2026-02-28T18:36:28.82Z",
        "ask": 128.31,
        "ask_volume": 1889,
        "bid": 125.25,
        "bid_volume": 90
      },
      "youpin": {
        "updated_at": "2026-02-28T18:35:07Z",
        "collected_at": "2026-02-28T18:35:39.853Z",
        "ask": 127.07,
        "ask_volume": 1884,
        "bid": 125.69,
        "bid_volume": 59
      },
      "csfloat": {
        "updated_at": "2026-02-28T18:36:14.864Z",
        "collected_at": "2026-02-28T18:36:15.106Z",
        "ask": 126,
        "ask_volume": 506
      },
      "skinport": {
        "updated_at": "2026-02-28T18:36:18.349Z",
        "collected_at": "2026-02-28T18:36:29.717Z",
        "ask": 131.44,
        "ask_volume": 139,
        "max_ask": 71064.8,
        "mean_ask": 734.27,
        "median_ask": 180.59
      },
      "steam": {
        "updated_at": "2026-02-28T18:04:31Z",
        "collected_at": "2026-02-28T18:35:39.853Z",
        "ask": 183.69,
        "ask_volume": 133,
        "bid": 178.02,
        "bid_volume": 61
      },
      "c5game": {
        "updated_at": "2026-02-28T18:35:08.062Z",
        "collected_at": "2026-02-28T18:35:12.34Z",
        "ask": 127.35,
        "ask_volume": 545,
        "bid": 234.76
      }
    }
  }
}

Returns a LatestPricesPostResponse object. See Objects for the full shape.

Response fields#

Each item maps market_hash_name to one object per marketplace. Items with Doppler or Case Hardened variants nest the same shape under variants.

  • Base item source objects are dense: buff, youpin, csfloat, skinport, steam, and c5game are present once any source has data for the item.
  • Unavailable source fields are null.
  • Variant source objects are sparse and appear only when that source has variant data.

Full schemas: Item, Variant, SkinportPriceWindow, and the per-source types under Latest Price Source Data.

Errors#

StatusWhen
400 validation_errorThe request body or query failed validation (e.g. bad JSON, missing items/start, over 100 items, or a bad interval or date range).
404 not_foundNo requested valid item is present in the latest snapshot.
401 / 403Missing key, invalid key, or plan access.
429Rate-limited.
503 / 5xxSnapshot unavailable or server-side issue.

When some items resolve and others don't, the request still returns 200 with the resolved items plus an errors[] array – each entry is an ItemError with a code of unknown_item, invalid_format, or not_in_cache.