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

POST /v1/market/csfloat/history

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

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

该端点为快照,会为指定区间选择最新的成功数据。例如,请求 1h 区间会返回该饰品在任意一个小时内最新的数据。

访问#

需要 Scale 或 Enterprise API 密钥。

支持的间隔#

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

请求#

POSTapi.cs2.sh/v1/market/csfloat/history
curl -X POST https://api.cs2.sh/v1/market/csfloat/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",
  "currency": "USD"
}'

参数#

字段类型必需描述
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 不限。
currencystring否默认值: USD. 允许值: AUD, CAD, CHF, CNY, EUR, GBP, JPY, NZD, SGD, USD. 响应中所有价格使用的货币。

响应#

{
  "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是响应中所有价格的货币代码:即请求的 currency,默认为 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/latest 相同。
data[].top_generic_bid已观测无条件订单中的最高价格;未观测到无条件订单时为 null。
data[].updated_at、collected_at采集轮次完成时间(旧订单簿使用观测时间)与 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。

完整结构:CSFloatBuyOrdersHistoryItem、CSFloatBuyOrdersHistoryVariant、CSFloatBuyOrdersHistoryPoint、CSFloatBuyOrder、CSFloatBuyOrderConditions、CSFloatStickerCondition、CSFloatKeychainCondition。

错误#

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