GET /v1/market/csfloat/orderbook/latest
Returns current CSFloat buy orders for every item. This includes price, quantity, and conditionals such as float ranges, paint indexes, applied stickers, applied charms/keychain fields, charm patterns, and paint seeds.
Orderbooks update every ~10-30 minutes depending on item liquidity, where a higher liquidity = higher refresh rate.
Access
Requires a Scale or Enterprise API key.
Request
curl https://api.cs2.sh/v1/market/csfloat/orderbook/latest \
-H "Authorization: Bearer <<YOUR_API_KEY>>" \
-H "Accept-Encoding: gzip" --compressedResponse
{
"response_time": "2026-08-23T21:59:41.701806658Z",
"currency": "USD",
"items": {
"USP-S | Printstream (Factory New)": {
"market_hash_name": "USP-S | Printstream (Factory New)",
"updated_at": "2026-08-23T21:54:42.008Z",
"collected_at": "2026-08-23T21:55:35.051Z",
"top_generic_bid": 92.6,
"orders": [
{
"price": 93.3,
"quantity": 1,
"kind": "float",
"conditions": {
"min_float": 0,
"max_float": 0.04
}
},
{
"price": 93.2,
"quantity": 1,
"kind": "float",
"conditions": {
"min_float": 0,
"max_float": 0.04
}
},
{
"price": 92.6,
"quantity": 1,
"kind": "float",
"conditions": {
"min_float": 0.03,
"max_float": 0.04
}
}
]
},
"★ Karambit | Doppler (Factory New)": {
"market_hash_name": "★ Karambit | Doppler (Factory New)",
"updated_at": "2026-08-23T21:54:42.871Z",
"collected_at": "2026-08-23T21:55:35.051Z",
"top_generic_bid": null,
"orders": [
{
"price": 6800,
"quantity": 1,
"kind": "paint_index",
"conditions": {
"paint_index": 415
}
},
{
"price": 6790,
"quantity": 1,
"kind": "paint_index",
"conditions": {
"paint_index": 415
}
}
],
"variants": {
"Phase 2": {
"market_hash_name": "★ Karambit | Doppler (Factory New)",
"name": "★ Karambit | Doppler (Factory New) | Phase 2",
"display_name": "Phase 2",
"version": "p2",
"updated_at": "2026-08-23T21:57:12.655Z",
"collected_at": "2026-08-23T21:57:35.153Z",
"top_generic_bid": 1190,
"orders": [
{
"price": 1650,
"quantity": 1,
"kind": "paint_index",
"conditions": {
"paint_index": 419
}
},
{
"price": 1640,
"quantity": 1,
"kind": "paint_index",
"conditions": {
"paint_index": 419
}
}
]
},
"Ruby": {
"market_hash_name": "★ Karambit | Doppler (Factory New)",
"name": "★ Karambit | Doppler (Factory New) | Ruby",
"display_name": "Ruby",
"version": "ruby",
"updated_at": "2026-08-23T21:10:37.529Z",
"collected_at": "2026-08-23T21:11:32.943Z",
"top_generic_bid": 1190,
"orders": [
{
"price": 6800,
"quantity": 1,
"kind": "paint_index",
"conditions": {
"paint_index": 415
}
},
{
"price": 6790,
"quantity": 1,
"kind": "paint_index",
"conditions": {
"paint_index": 415
}
}
]
}
}
}
}
}Response fields
CSFloatBuyOrdersLatestResponse fields:
| Field | Type | Required | Description |
|---|---|---|---|
response_time | string (date-time) | Yes | When this snapshot response was generated. |
currency | string | Yes | Currency code (always USD). |
items | Record<string, CSFloatBuyOrdersItem> | Yes | Items with current buy-order books, keyed by market_hash_name. |
Orderbook data
| Field | Description |
|---|---|
items.<name>.orders | The buy-order ladder, price descending. Each order has a kind and a conditions object ({} for generic orders). |
items.<name>.top_generic_bid | Highest order price with no conditions; null when only conditional orders stand. |
items.<name>.variants | Doppler and Gamma Doppler phase books, keyed by display name. |
items.<name>.updated_at, collected_at | CSFloat's update time and cs2.sh's fetch time. |
- An empty
ordersarray appears only for a Doppler or Gamma Doppler phase confirmed to have no standing orders. Missing items and missing phase books are unknown or stale, never confirmed empty.
Buy-order conditions
kind | Meaning |
|---|---|
generic | No conditions. conditions is {}. |
paint_index | The listing's paint index must match. |
float | The listing's float value must be within the supplied bounds. |
sticker | The listing must have the specified sticker requirements. |
keychain_pattern | The applied charm's pattern value must be within the supplied bounds. |
paint_seeds | The listing's paint seed must be one of the supplied values. |
keychain | The listing must have the specified charm. |
mixed | The listing must satisfy all supplied condition families. |
conditions key | Type | Meaning |
|---|---|---|
paint_index | integer | The listing's paint index must equal this value. |
min_float | number | The listing's float value must be at least this value. |
max_float | number | The listing's float value must be at most this value. |
stickers | CSFloatStickerCondition[] | The listing must satisfy every sticker requirement. Repeating an sId requires multiple copies. |
min_keychain_pattern | integer | The applied charm's pattern value must be at least this value. |
max_keychain_pattern | integer | The applied charm's pattern value must be at most this value. |
paint_seeds | integer[] | The listing's paint seed must equal one of these values. |
keychains | CSFloatKeychainCondition[] | The listing must have every charm identified in this array. |
If multiple condition fields are present, the listing must satisfy all of them. mixed orders can also include additional CSFloat condition keys verbatim.
Sticker requirement:
| Field | Type | Required | Meaning |
|---|---|---|---|
sId | integer | Yes | Numeric CSFloat ID of the sticker the listing must have. |
s | integer | No | Zero-based slot that must contain this sticker. If omitted, the sticker may be in any slot. |
Charm requirement:
| Field | Type | Required | Meaning |
|---|---|---|---|
sId | integer | Yes | Numeric CSFloat ID of the charm the listing must have. |
Full schemas: CSFloatBuyOrdersItem, CSFloatBuyOrdersVariant, CSFloatBuyOrder, CSFloatBuyOrderConditions, CSFloatStickerCondition, CSFloatKeychainCondition.
Errors
503 service_unavailable means the latest orderbook snapshot is missing, stale, or empty. See Request errors for shared errors.