Current prices

How to Get Steam Community Market Prices for CS2 Items

Pull live Steam Community Market list prices for CS2 skins via GET /v1/prices/latest?markets=steam — same JSON schema as YouPin, BUFF163 and Skinport, with doppler_phase where applicable. Steam prices are a reference, not withdrawable cash.

Endpoint
GET /v1/prices/latest?markets=steam or legacy GE
Currency
USD (Steam Wallet)
Refresh
~5 min live snapshots
Markets in one key
13 marketplaces — compare Steam vs YouPin in one

Quick start

Copy-paste curl example

Authenticate with your Bearer API key. Full reference in the API docs and data coverage.

curl -s "https://api.cspriceapi.com/v1/prices/latest?markets=steam" \
  -H "Authorization: Bearer YOUR_API_KEY"

Overview

What CSPriceAPI provides for Steam

CSPriceAPI is an independent aggregator, not an official Valve API. Steam has no public market API for third-party developers.

Guide

Response fields (typical row)

{
  "market": "steam",
  "currency": "USD",
  "updated_at": "2026-08-28T12:00:00Z",
  "items": [
    {
      "market_hash_name": "AK-47 | Redline (Field-Tested)",
      "price": 42.50,
      "count": 1240,
      "change_24h": -0.8,
      "doppler_phase": null
    }
  ]
}
FieldMeaning
priceLowest listing ask on Steam Community Market (not a completed sale)
countActive listings — liquidity proxy, not sales volume
change_24h / change_7dMovement vs prior snapshot — useful for alerts
doppler_phaseSet for Doppler/Gamma rows — never merge phases

Guide

Reading Steam data correctly

Listing ≠ sale. Steam price is what sellers ask right now. A skin can sit listed for weeks without selling. Confirm with market sales search when sizing a trade.

Steam Wallet ≠ cash. Valve takes ~15% on sales and funds stay in Steam Wallet. A $150 Steam listing does not equal $150 bank cash. For cash valuation, weight YouPin898 or BUFF163 (CNY) and Western markets (EUR/USD).

Steam is slow to react. Skinport and YouPin often move first on meta shifts (tournament stickers, case drops). Steam lags — good for reference, risky as sole arb target.

Null is missing, not zero. If an item returns no row, it may have zero listings — do not substitute 0 in portfolio math.

Guide

Cross-market context (why traders still pull Steam)

International traders use this pattern daily:

  1. YouPin898 sets the global wholesale reference (CNY).
  2. BUFF163 tracks YouPin closely — gaps = CN arbitrage.
  3. Skinport / CSFloat = Western cash venues (EUR/USD).
  4. Steam = visibility and wallet-only liquidity.

Compare all four in one call:

curl -s -X POST "https://api.cspriceapi.com/v1/prices/latest" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"items":["★ Karambit | Doppler (Factory New)"],"markets":"steam,youpin,buff163,skinport,csfloat"}'

Match rows by (market_hash_name, doppler_phase). A Karambit Doppler Ruby on CSFloat is not comparable to Phase 4 on Steam.

Guide

No-code alternatives

Guide

Worked example: Steam premium vs YouPin reference

Suppose POST returns:

MarketPriceCurrency
YouPin (lowest ask)¥2,800CNY
Steam (lowest ask)$520USD

At ¥7.2 / USD, YouPin ≈ $389 cash-equivalent listing. Steam shows ~34% above the CN reference — common on liquid skins (Steam convenience premium). That gap is not free profit: you cannot withdraw Steam Wallet to bank at par.

Decision: A bot should not auto-buy on Skinport because Steam is higher unless it models wallet value separately.

Guide

History & sales

Daily Steam-oriented history (where available):

curl -s "https://api.cspriceapi.com/v1/prices/steam/history?market_hash_name=AK-47%20%7C%20Redline%20(Field-Tested)" \
  -H "Authorization: Bearer YOUR_API_KEY"

Recent completed sales (cross-check listing asks):

curl -s "https://api.cspriceapi.com/v1/market-sales/search?market_hash_name=AK-47%20%7C%20Redline%20(Field-Tested)" \
  -H "Authorization: Bearer YOUR_API_KEY"

Related

Continue reading

More guides

Related Current prices

Ready to integrate?

Interactive Scalar docs, OpenAPI YAML and machine-readable Markdown mirrors for every endpoint.