The Market Analytics API gives you programmatic access to CS2 market intelligence: scan for arbitrage across 40+ buy and sell providers, view category-level market cap indexes, compute technical indicators from composite OHLCV candles, and retrieve per-item analytics snapshots with full provider depth data.Documentation Index
Fetch the complete documentation index at: https://docs.cs2cap.com/llms.txt
Use this file to discover all available pages before exploring further.
GET /market/arbitrage
Scans buy-side and sell-side providers for cross-market arbitrage opportunities and ranks results by estimated net profit after fees. Tier: Quant only · Rate limit: 300 req/minMinimum gross spread percentage to include. Results below this threshold are excluded.
Buy-side provider keys. Repeat the parameter to pass more than one. Valid values:
avanmarket, buff163, buffmarket, c5, csdeals, csfloat, csgo500, csgoempire, csmoney_m, csmoney_t, cstrade, dmarket, dupefi, ecosteam, gameboost, haloskins, itradegg, lisskins, lootfarm, mannco, marketcsgo, pirateswap, rapidskins, shadowpay, skinbaron, skinflow, skinland, skinout, skinplace, skinport, skinscom, skinsmonkey, skinswap, skinvault, steam, swapgg, tradeit, waxpeer, whitemarket, youpin.Sell-side provider keys. Repeat the parameter to pass more than one. Only providers that support buy orders are valid here:
buff163, buffmarket, c5, csfloat, dmarket, dupefi, ecosteam, marketcsgo, steam, waxpeer, whitemarket, youpin.Number of results per page.
Zero-based pagination offset.
Response example
Catalog item ID.
Full item name as it appears in the Steam catalog.
Doppler/Gamma phase, or
null for non-phase items.Provider key where you purchase the item.
Provider key where you sell the item.
Decimal string purchase price in USD.
Decimal string sell price in USD.
Gross spread as a percentage before fees.
Decimal string estimated transaction fees in USD.
Decimal string net profit after fees in USD.
ISO 8601 timestamp of the most recent price data used.
buy_price_usd, sell_price_usd, estimated_fees_usd, and net_profit_usd are decimal strings in USD — not minor units (cents).pagination.total is always -1 on this endpoint. Use offset pagination only — passing a cursor returns HTTP 400.GET /market/indexes
Aggregates the cached 24-hour market snapshot into category-level market cap indexes grouped byitem_type or weapon_type.
Tier: Quant only · Rate limit: 300 req/min
Catalog dimension to group by. One of:
item_type, weapon_type.Response example
Decimal string total market cap across all included items, in USD.
Category breakdown sorted by
marketcap_usd descending.meta.window.timeframe is always 24h. Groups remain in the response even when every item in that group was excluded from the total. Items without a grouping value are omitted entirely.GET /market/indicators
Computes technical indicators — including RSI, MACD, Bollinger Bands, ATR, VWAP, and OBV — from composite OHLCV candles across all providers for a single item. Tier: Quant only · Rate limit: 300 req/minCatalog item ID. Takes precedence over
market_hash_name when both are provided.Exact item name as it appears in the Steam catalog. Use
item_id instead when you have it.Doppler/Gamma phase filter. One of:
Phase 1, Phase 2, Phase 3, Phase 4, Ruby, Sapphire, Black Pearl, Emerald.Candle interval for indicator computation. One of:
1h, 1d.Output currency for price-level indicators (ISO 4217).
Response example
Momentum indicators.
Volatility indicators.
Volume indicators.
Human-readable signal summaries derived from the indicators above.
Candle history metadata for the item.
This endpoint does not accept a
provider filter — indicators reflect the best available price across all providers. close_price_usd is always in USD. Price-level indicators (SMA, EMA, Bollinger Bands) are returned in your requested currency.GET /market/items
Returns a market-wide summary snapshot with one row per catalog item. Liquidity is always scored against the 24-hour horizon. The snapshot is refreshed periodically — requests return the most recently available data. Tier: Pro, Quant · Rate limit: Pro 100 req/min · Quant 300 req/minResponse example
Decimal string best ask price in USD across providers with active listings.
Decimal string highest bid in USD across all providers, including providers without a current ask.
best_ask_usd × supply, expressed in USD major units.Best available estimate of the number of items in circulation.
Price change over the last 24 hours, in USD.
Same 24h price change expressed as a percentage.
Estimated number of trades in the last 24 hours. A useful approximation, not a guaranteed exact count.
Composite liquidity score (0–100) scored against the 24h horizon.
Listing-depth component score (0–15).
null when liquidity data is unavailable.Bid/ask gap component score (0–10).
null when liquidity data is unavailable.24h churn component score (0–35).
null when liquidity data is unavailable.Price stability component score (0–20): measures how consistently the item is observed and how stable its price has been over the last 24 hours.
null when insufficient history.External confirmation component score (0–20): based on Steam and Buff163 market activity.
null when external data is unavailable.best_ask_usd and all price_* values are decimal strings in USD — not minor units. Rows are sorted by rank, then by item ID.GET /market/items/:item_id
Returns per-item market analytics including a summary and per-provider depth, spread, and volume data. Tier: Pro, Quant · Rate limit: Pro 100 req/min · Quant 300 req/minCatalog item ID to analyze. Use
GET /items to look up IDs.Response example
Per-provider depth and spread data. Ask-driven: providers with a live ask but no current bid still appear with
bid_usd, spread_usd, spread_pct, and bid_depth set to null.Provider coverage summary for this item.
ask_usd, bid_usd, spread_usd, and total_value_24h_usd are decimal strings in USD — not minor units. summary.best_bid_usd is the highest bid across all providers, including providers that do not appear in data.providers[].