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

POST /v1/market/csfloat/orderbook/history

返回随时间变化的 CSFloat 求购订单快照(日或小时间隔)。此端点的结构与 GET /v1/market/csfloat/orderbook/latest 相同。

数据始于 2026 年 8 月 10 日。每次请求最多 100 个饰品。

每个间隔包含该间隔内观测到的最新数据。例如,请求 1h 间隔会返回该小时内最新的数据。

访问#

需要 Scale 或 Enterprise API 密钥。

支持的间隔#

间隔最大范围
1h365 天
1d不限

请求#

POSTapi.cs2.sh/v1/market/csfloat/orderbook/history
curl -X POST https://api.cs2.sh/v1/market/csfloat/orderbook/history \
  -H "Authorization: Bearer <<YOUR_API_KEY>>" \
  -H "Accept-Encoding: gzip" --compressed \
  -H "Content-Type: application/json" \
  -d '{
  "items": [
    "★ Karambit | Doppler (Factory New)"
  ],
  "start": "2026-08-10",
  "end": "2026-08-23",
  "interval": "1h"
}'

参数#

字段类型必需描述
itemsstring[]基础或 Doppler/Gamma Doppler 相位 market_hash_name 值列表(最多 100 个)。
startstring开始日期/时间(YYYY-MM-DD 或 RFC3339),包含。数据始于 2026-08-10。
endstring结束日期/时间(YYYY-MM-DD 或 RFC3339),不含。默认现在。
intervalstring默认值: 1h. 允许值: 1h, 1d. 分桶间隔。1h 最多 365 天;1d 不限。

响应#

{
  "response_time": "2026-08-23T22:00:11.929760469Z",
  "currency": "USD",
  "start": "2026-08-20T00:00:00Z",
  "end": "2026-08-22T00:00:00Z",
  "interval": "1h",
  "items": {
    "★ Karambit | Doppler (Factory New)": {
      "market_hash_name": "★ Karambit | Doppler (Factory New)",
      "count": 48,
      "data": [
        {
          "bucket": "2026-08-20T00:00:00Z",
          "updated_at": "2026-08-20T00:55:11.258Z",
          "collected_at": "2026-08-20T00:56:10.301Z",
          "top_generic_bid": null,
          "orders": [
            {
              "price": 6550,
              "quantity": 1,
              "kind": "paint_index",
              "conditions": {
                "paint_index": 417
              }
            },
            {
              "price": 4290,
              "quantity": 1,
              "kind": "paint_index",
              "conditions": {
                "paint_index": 416
              }
            }
          ]
        }
      ],
      "variants": {
        "Phase 2": {
          "market_hash_name": "★ Karambit | Doppler (Factory New)",
          "name": "★ Karambit | Doppler (Factory New) | Phase 2",
          "display_name": "Phase 2",
          "version": "p2",
          "count": 46,
          "data": [
            {
              "bucket": "2026-08-20T00:00:00Z",
              "updated_at": "2026-08-20T00:57:14.824Z",
              "collected_at": "2026-08-20T00:58:10.396Z",
              "top_generic_bid": 1230,
              "orders": [
                {
                  "price": 1630,
                  "quantity": 1,
                  "kind": "paint_index",
                  "conditions": {
                    "paint_index": 419
                  }
                },
                {
                  "price": 1620,
                  "quantity": 1,
                  "kind": "paint_index",
                  "conditions": {
                    "paint_index": 419
                  }
                }
              ]
            }
          ]
        }
      }
    }
  }
}

响应字段#

CSFloatBuyOrdersHistoryResponse 字段:

字段类型必需描述
response_timestring (date-time)生成响应的时间。
currencystring货币代码(始终为 USD)。
startstring (date-time)查询区间的有效起点,向下对齐到间隔边界。包含。
endstring (date-time)查询区间的有效终点,向上对齐到间隔边界。不含。
intervalstring允许值: 1h, 1d. 请求的分桶间隔。
itemsRecord<string, CSFloatBuyOrdersHistoryItem>market_hash_name 到所返回求购订单簿历史的映射。
errorsItemError[]与成功结果一并返回的逐饰品错误(部分成功)。

采样分桶#

字段描述
items.<name>.count有数据的分桶数。
items.<name>.data[]求购订单簿:每个 bucket 内最新的观测。
items.<name>.variantsDoppler 和 Gamma Doppler 相位序列,以显示名称为键。
data[].orders求购订单阶梯,按价格降序,结构与 GET /v1/market/csfloat/orderbook/latest 相同。
data[].top_generic_bid无条件订单中的最高价格;仅存在条件订单时为 null
data[].updated_atcollected_atCSFloat 的更新时间与 cs2.sh 的抓取时间。
  • 仅请求相位名(例如 ★ Karambit | Doppler (Factory New) | Phase 2)时,该相位仍嵌套在其基础条目下返回。

求购订单条件#

kind含义
generic无条件。conditions{}
paint_index挂单的 paint index 必须匹配。
float挂单的磨损值必须位于给定范围内。
sticker挂单必须满足指定的印花要求。
keychain_pattern已挂挂件的图案值必须位于给定范围内。
paint_seeds挂单的 paint seed 必须是给定值之一。
keychain挂单必须具有指定挂件。
mixed挂单必须同时满足所有给定条件类别。
conditions类型含义
paint_indexinteger挂单的 paint index 必须等于此值。
min_floatnumber挂单的磨损值必须大于或等于此值。
max_floatnumber挂单的磨损值必须小于或等于此值。
stickersCSFloatStickerCondition[]挂单必须满足每项印花要求。同一 sId 重复出现表示要求多枚该印花。
min_keychain_patterninteger已挂挂件的图案值必须大于或等于此值。
max_keychain_patterninteger已挂挂件的图案值必须小于或等于此值。
paint_seedsinteger[]挂单的 paint seed 必须等于其中一个值。
keychainsCSFloatKeychainCondition[]挂单必须具有此数组中标识的每个挂件。

存在多个条件字段时,挂单必须全部满足。mixed 订单还可以原样包含其他 CSFloat 条件键。

印花要求:

字段类型必需含义
sIdinteger挂单必须具有的印花的 CSFloat 数字 ID。
sinteger必须贴有此印花的槽位,从零开始。省略时,该印花可位于任意槽位。

挂件要求:

字段类型必需含义
sIdinteger挂单必须具有的挂件的 CSFloat 数字 ID。

完整结构:CSFloatBuyOrdersHistoryItemCSFloatBuyOrdersHistoryVariantCSFloatBuyOrdersHistoryPointCSFloatBuyOrderCSFloatBuyOrderConditionsCSFloatStickerConditionCSFloatKeychainCondition

错误#

如果只有部分饰品名称失败,端点仍返回 200,其中包含成功的序列和 errors[]。没有 CSFloat paint index 的变体(Marble Fade、Case Hardened 以及其他按图案定价的系列)使用 unsupported_variant。见部分成功请求错误