Skip to main content

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.

The Prices API gives you access to the current lowest ask for every CS2 item across all tracked marketplaces. You can query a single item, batch up to 100 items in one request, stream the entire live catalog as NDJSON, retrieve OHLCV candles for charting, and page through raw historical price records. All price values are returned in minor units of the response currency.

GET /prices — List prices

Returns the current lowest ask across marketplaces. You can filter by item, phase, provider, and currency. Valid filters with no current matches return 200 with an empty items array; 503 indicates the data source is temporarily unavailable. Tiers: free · starter · pro · quant
curl -sS \
  -H "Authorization: Bearer $CS2C_API_KEY" \
  "$CS2C_API_BASE/prices?item_id=4994&providers=buff163&providers=csfloat&currency=USD&limit=10"

Parameters

item_id
integer
Filter by item ID. Takes precedence over market_hash_name and phase when provided.
market_hash_name
string
Exact item name as it appears in inventory. Ignored when item_id is provided.
phase
string
Doppler or Gamma Doppler phase filter. Can be used without market_hash_name. One of: Phase 1, Phase 2, Phase 3, Phase 4, Ruby, Sapphire, Black Pearl, Emerald.
providers
string[]
Provider keys to include. Repeat the parameter to pass more than one: providers=steam&providers=buff163. Valid keys: 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.
currency
string
default:"USD"
Target currency. Accepts 160+ ISO 4217 codes. See GET /fx for the full list.
limit
integer
Results per page. Defaults to the caller’s effective tier cap: 100 for Free, 1000 for Starter, Pro, and Quant.
offset
integer
default:"0"
Pagination offset.

Response example

{
  "meta": {...},
  "items": [
    {
      "provider": "buff163",
      "item_id": 4994,
      "market_hash_name": "★ Karambit | Doppler (Factory New)",
      "phase": "Sapphire",
      "lowest_ask": 531143,
      "quantity": 158,
      "link": "https://cs2c.app/r/buff163/4994",
      "url": "https://buff.163.com/goods/42998?from=market#tag_ids=446968",
      "timestamp": "2026-03-20T13:09:25.771066Z",
      "last_updated": "2026-03-21T05:02:44.450067Z"
    },
    {
      "provider": "csfloat",
      "item_id": 4994,
      "market_hash_name": "★ Karambit | Doppler (Factory New)",
      "phase": "Sapphire",
      "lowest_ask": 531143,
      "quantity": 29,
      "link": "https://cs2c.app/r/csfloat/4994",
      "url": "https://csfloat.com/search?def_index=507&paint_index=416",
      "timestamp": "2026-03-21T05:03:40.179351Z",
      "last_updated": "2026-03-21T05:03:40.837477Z"
    }
  ],
  "pagination": {...}
}

Response fields

provider
string
Provider key for this listing.
item_id
integer
Unique catalog item ID.
market_hash_name
string
Full item name as it appears in the Steam economy.
phase
string
Doppler phase, or null for non-phased items.
lowest_ask
integer
Current best ask price in minor units of the response currency. For example, 531143 in USD = $5,311.43.
lowest_ask_decimal
string
lowest_ask as a decimal string with adaptive precision: two decimal places at or above 1.0, eight below it. Use this for low-value currencies such as crypto, where the integer lowest_ask rounds to 0 (for example a $25.50 skin in BTC returns lowest_ask = 0, lowest_ask_decimal = "0.00041600").
quantity
integer
Number of listings at or near the lowest ask on this provider.
CS2Cap tracked redirect URL. Available on all tiers.
url
string
Direct marketplace URL. Returned on Pro and Quant only.
timestamp
string
When the price or quantity last changed.
last_updated
string
When this record was last refreshed, even if the price stayed the same.
If the item exists in the catalog but none of the selected providers currently has a listing, the endpoint returns 200 with items: [].

POST /prices — Stream full prices snapshot

Streams the complete live prices catalog as NDJSON, with one JSON object per line. The snapshot is captured once at request start and then streamed in full. Tiers: pro · quant
Rate limit: 1 request per 5 minutes per API key

Query parameters

providers
string[]
Optional. Repeat to restrict the stream to specific providers. Uses the same provider keys as GET /prices. If omitted, all providers are included.
curl -sS -X POST \
  -H "Authorization: Bearer $CS2C_API_KEY" \
  "$CS2C_API_BASE/prices?providers=buff163"

Response example

{"provider":"avanmarket","item_id":2,"market_hash_name":"'Blueberries' Buckshot | NSWC SEAL","phase":null,"lowest_ask":3460,"quantity":6,"link":"https://cs2c.app/r/avanmarket/2","url":"https://avan.market/en/market/cs/blueberries-buckshot-nswc-seal","timestamp":"2026-03-22T01:41:35.353783Z","last_updated":"2026-03-22T01:41:36.221322Z"}
{"provider":"buff163","item_id":2,"market_hash_name":"'Blueberries' Buckshot | NSWC SEAL","phase":null,"lowest_ask":3187,"quantity":84,"link":"https://cs2c.app/r/buff163/2","url":"https://buff.163.com/goods/835687?from=market","timestamp":"2026-03-22T00:08:50.544878Z","last_updated":"2026-03-22T00:54:22.230624Z"}
{"provider":"c5","item_id":2,"market_hash_name":"'Blueberries' Buckshot | NSWC SEAL","phase":null,"lowest_ask":3156,"quantity":57,"link":"https://cs2c.app/r/c5/2","url":"https://www.c5game.com/csgo/808836530722177024/item/sell","timestamp":"2026-03-22T01:27:20.020270Z","last_updated":"2026-03-22T01:42:46.706601Z"}

POST /prices/batch — Batch prices lookup

Returns current lowest asks for up to 100 items in a single request, grouped by item ID across the selected providers. Tiers: starter · pro · quant

Request body

item_ids
integer[]
Array of item IDs to fetch. Provide at least one of item_ids or market_hash_names.
market_hash_names
string[]
Array of market hash names to fetch. Provide at least one of item_ids or market_hash_names.
providers
string[]
Provider keys to include. If omitted, all providers are queried.
currency
string
default:"USD"
Target currency. Use GET /fx for supported ISO 4217 codes.
Phased items (Dopplers / Gammas): market_hash_name resolves to the phaseless catalog entry and returns the cheapest variant regardless of phase. To target a specific phase (Phase 1, Phase 2, Phase 3, Phase 4, Sapphire, Ruby, Emerald, or Black Pearl), pass the corresponding item_id instead.
curl -sS -X POST \
  -H "Authorization: Bearer $CS2C_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"item_ids":[4994,2],"providers":["buff163","csfloat"],"currency":"USD"}' \
  "$CS2C_API_BASE/prices/batch"

Request example

{
  "item_ids": [4994, 2],
  "market_hash_names": ["AK-47 | Redline (Field-Tested)"],
  "providers": ["buff163", "steam"],
  "currency": "USD"
}

Response example

{
  "meta": {...},
  "items": [
    {
      "item_id": 4994,
      "market_hash_name": "★ Karambit | Doppler (Factory New)",
      "phase": "Sapphire",
      "quotes": [
        {
          "provider": "buff163",
          "lowest_ask": 531143,
          "quantity": 158,
          "timestamp": "2026-03-20T13:09:25Z",
          "last_updated": "2026-03-21T05:02:44Z"
        }
      ]
    },
    {
      "item_id": 2,
      "market_hash_name": "'Blueberries' Buckshot | NSWC SEAL",
      "phase": null,
      "quotes": [
        {
          "provider": "buff163",
          "lowest_ask": 3187,
          "quantity": 84,
          "timestamp": "2026-03-22T00:08:50Z",
          "last_updated": "2026-03-22T00:54:22Z"
        },
        {
          "provider": "steam",
          "lowest_ask": 3923,
          "quantity": 57053,
          "timestamp": "2026-03-21T05:00:30Z",
          "last_updated": "2026-03-21T05:00:34Z"
        }
      ]
    }
  ],
  "items_not_found": [],
  "names_not_found": []
}
items
object[]
Array of results, one entry per resolved item.
items_not_found
integer[]
Item IDs (including those resolved from market_hash_names) that returned no quotes on any queried provider.
names_not_found
string[]
market_hash_names that could not be resolved to any catalog item.

GET /prices/candles — Price candles (OHLCV)

Returns composite OHLCV candles across all providers for the resolved item. Supports 5m, 1h, and 1d intervals. Empty buckets can optionally be forward-filled. Tiers: free (1d only) · starter (1d only) · pro · quant
curl -sS \
  -H "Authorization: Bearer $CS2C_API_KEY" \
  "$CS2C_API_BASE/prices/candles?item_id=4994&interval=1d&lookback=30d&currency=USD"

Parameters

item_id
integer
Item ID to query. Required if market_hash_name is not provided.
market_hash_name
string
Exact item name. Required if item_id is not provided.
phase
string
Doppler or Gamma phase filter. One of: Phase 1, Phase 2, Phase 3, Phase 4, Ruby, Sapphire, Black Pearl, Emerald.
start
string
Inclusive ISO 8601 start timestamp. Accepts YYYY-MM-DD or YYYY-MM-DDThh:mm:ss.
end
string
Exclusive ISO 8601 end timestamp. Defaults to the current time when omitted.
lookback
string
Duration shorthand such as 7d or 30. When sent with start or end, lookback takes precedence and selects a completed time window. For interval=1h, the window includes a short delay to ensure the latest bucket is fully complete.
interval
string
default:"1d"
Candle interval. One of: 5m, 1h, 1d.
fill
boolean
default:"false"
Forward-fill empty buckets using the previous close.
currency
string
default:"USD"
Target currency. Use /v1/fx for the currently supported currency codes. Unsupported codes return 422; temporary FX-rate unavailability returns 503.

Response example

meta.start and meta.end describe the effective query window. With fill=false, data can be sparse inside that window; use fill=true to forward-fill empty buckets.
{
  "meta": {...},
  "data": [
    {
      "t": 1773466200,
      "o": 1783,
      "h": 2529,
      "l": 1529,
      "c": 1782,
      "v": 24,
      "q": 54792,
      "providers": {
        "o": "csfloat",
        "h": "steam",
        "l": "csfloat",
        "c": "buff163"
      }
    },
    {
      "t": 1773776700,
      "o": 1748,
      "h": 2517,
      "l": 1434,
      "c": 1747,
      "v": 18,
      "q": 91342
    }
  ]
}

Response fields

t
integer
Unix timestamp in seconds for the start of the candle bucket.
o
integer
Open price — the lowest ask price at the start of the bucket, in minor units.
h
integer
High price in minor units. Unusually high values are capped to reduce the impact of outliers.
l
integer
Low price in minor units. The lowest ask observed across providers in this bucket.
c
integer
Close price — the lowest ask price at the end of the bucket, in minor units.
v
integer
Estimated trade volume for the bucket. Derived from inventory changes rather than reported sale counts.
q
integer
Total number of active listings at the end of the bucket. May be null for older 1d windows.
providers
object
Identifies which provider contributed the open (o), high (h), low (l), and close (c) values for this candle.

Data retention

IntervalRetention
5m7 days
1h30 days
1d365 days
Free and Starter accounts may only use interval=1d. The fill, start, and end parameters are not available on those tiers — use lookback instead.

GET /prices/history — Price history

Returns historical price records for one item, optionally filtered to a single provider. Results are ordered newest-first and use cursor pagination. Tiers: pro · quant
curl -sS \
  -H "Authorization: Bearer $CS2C_API_KEY" \
  "$CS2C_API_BASE/prices/history?item_id=4994&provider=buff163&currency=USD&limit=50"

Parameters

item_id
integer
Filter by item ID. Takes precedence over market_hash_name and phase when provided.
market_hash_name
string
Exact item name as it appears in inventory.
phase
string
Doppler or Gamma phase filter. One of: Phase 1, Phase 2, Phase 3, Phase 4, Ruby, Sapphire, Black Pearl, Emerald.
provider
string
A single provider key, for example provider=steam. Returns records from that provider only.
start
string
Inclusive ISO 8601 timestamp. Accepts YYYY-MM-DD or YYYY-MM-DDThh:mm:ss. Defaults to the last 14 days when omitted.
end
string
Exclusive ISO 8601 timestamp.
currency
string
default:"USD"
Target currency. Accepts 160+ ISO 4217 codes.
limit
integer
Results per page. Range: 1–1000.
cursor
string
Cursor for keyset pagination. Pass the next_cursor value from the previous response.

Response example

{
  "meta": {...},
  "items": [
    {
      "item_id": 16828,
      "market_hash_name": "★ Karambit | Doppler (Factory New)",
      "phase": "Phase 4",
      "provider": "CSFloat",
      "time": "2026-03-19T23:55:00Z",
      "price": 147150,
      "currency": "USD",
      "quantity": 169
    },
    {
      "item_id": 16828,
      "market_hash_name": "★ Karambit | Doppler (Factory New)",
      "phase": "Phase 4",
      "provider": "Youpin898",
      "time": "2026-03-19T23:50:00Z",
      "price": 143200,
      "currency": "USD",
      "quantity": 668
    }
  ],
  "pagination": {...}
}

Response fields

item_id
integer
Catalog item ID.
market_hash_name
string
Full item name.
phase
string
Doppler phase or null.
provider
string
Provider name for this record.
time
string
ISO 8601 timestamp of the price observation.
price
integer
Price in minor units of the response currency.
currency
string
ISO 4217 currency code for the returned price.
quantity
integer
Listing count observed at this timestamp.
pagination.total is always -1 on this endpoint. Use has_next and next_cursor to paginate.
Last modified on May 29, 2026