BUFF sale history is now available - POST /v1/archive/buff returns sale prices and daily total supply since September 2024.

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#

GETapi.cs2.sh/v1/market/csfloat/orderbook/latest
curl https://api.cs2.sh/v1/market/csfloat/orderbook/latest \
  -H "Authorization: Bearer <<YOUR_API_KEY>>" \
  -H "Accept-Encoding: gzip" --compressed

Response#

{
  "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:

FieldTypeRequiredDescription
response_timestring (date-time)YesWhen this snapshot response was generated.
currencystringYesCurrency code (always USD).
itemsRecord<string, CSFloatBuyOrdersItem>YesItems with current buy-order books, keyed by market_hash_name.

Orderbook data#

FieldDescription
items.<name>.ordersThe buy-order ladder, price descending. Each order has a kind and a conditions object ({} for generic orders).
items.<name>.top_generic_bidHighest order price with no conditions; null when only conditional orders stand.
items.<name>.variantsDoppler and Gamma Doppler phase books, keyed by display name.
items.<name>.updated_at, collected_atCSFloat's update time and cs2.sh's fetch time.
  • An empty orders array 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#

kindMeaning
genericNo conditions. conditions is {}.
paint_indexThe listing's paint index must match.
floatThe listing's float value must be within the supplied bounds.
stickerThe listing must have the specified sticker requirements.
keychain_patternThe applied charm's pattern value must be within the supplied bounds.
paint_seedsThe listing's paint seed must be one of the supplied values.
keychainThe listing must have the specified charm.
mixedThe listing must satisfy all supplied condition families.
conditions keyTypeMeaning
paint_indexintegerThe listing's paint index must equal this value.
min_floatnumberThe listing's float value must be at least this value.
max_floatnumberThe listing's float value must be at most this value.
stickersCSFloatStickerCondition[]The listing must satisfy every sticker requirement. Repeating an sId requires multiple copies.
min_keychain_patternintegerThe applied charm's pattern value must be at least this value.
max_keychain_patternintegerThe applied charm's pattern value must be at most this value.
paint_seedsinteger[]The listing's paint seed must equal one of these values.
keychainsCSFloatKeychainCondition[]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:

FieldTypeRequiredMeaning
sIdintegerYesNumeric CSFloat ID of the sticker the listing must have.
sintegerNoZero-based slot that must contain this sticker. If omitted, the sticker may be in any slot.

Charm requirement:

FieldTypeRequiredMeaning
sIdintegerYesNumeric 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.