Skip to main content
GET/v1/attribute-prices/historyPRO+

属性价格历史

按属性分桶的价格时间序列:与 /v1/attribute-prices/latest 相同的磨损/渐变/图案/模板/变体区间,但每个分桶携带 points[] 序列而非单一买卖价。可按 marketHashName、canonicalItemId,或仅凭 bucketId / bucketIds 限定范围(任一均可)。用 from / to 设定窗口(默认最近 7 天),用 granularity 固定间隔。价格为整数美分。

属性价格的历史版本:同样的磨损/渐变/图案/模板/变体区间,但每个 bucket 携带 points[] 序列而非单一买卖价。每个点是一个 granularity 窗口的 OHLC 式汇总(openAskCents、highAskCents、lowAskCents、closeAskCents,外加 avgAskCents 与 closeBidCents)。

范围尽量收窄:传 bucketId(或 bucketIds CSV)只拉取你追踪的区间,而不是该饰品的全部区间。points[] 从旧到新;在没有求购侧的市场上,求购价与 bidOrderCount 为 null。

参数

marketHashNamestring可选
查询参数。用于限定分桶的精确 market_hash_name。marketHashName / canonicalItemId / bucketId / bucketIds 至少需要其一。
canonicalItemIdstring可选
查询参数。用于限定分桶的规范饰品 id。marketHashName / canonicalItemId / bucketId / bucketIds 至少需要其一。
bucketIdstring可选
查询参数。按稳定 bucketId 限定到单个分桶。可作为独立范围使用(无需饰品 id)。
bucketIdsstring可选
查询参数。bucketId 的 CSV。可作为独立范围使用(无需饰品 id)。
attributesstring可选
查询参数。属性维度 CSV:float | fade | tag。按 bucketId / bucketIds 限定范围时默认三者全含,按饰品限定时默认仅 float;因此要获取某饰品的渐变与相位/变体历史,请传入 attributes=float,fade,tag(或 tag)。
fromstring可选
查询参数。ISO 8601 起始时间。默认:now − 7d。
tostring可选
查询参数。ISO 8601 结束时间。默认:now。
granularitystring可选
查询参数。点间隔:10m | 1h | 1d。默认由日期范围推导。窗口上限为 10,000 个分桶(超出返回 400)。
limitinteger可选
查询参数。所有分桶合计返回的最大历史点数,1 到 10000。默认 5000。
marketsstring可选
查询参数。用于限定响应的市场 id CSV;不受支持的市场会在 sourceGaps 中报告。

响应字段

AttributeHistoryResponse按属性分桶价格的时间序列。
bucketSchemaVersioninteger
分桶结构的 schema 版本。
marketsstring[]
本响应覆盖的市场。
currencystring
恒为 USD。
granularitystring
点间隔,例如 10m。
每个 饰品 × 市场 一条。
sourceGapsstring[]
请求了但无覆盖的市场。

嵌套与共享结构链接到 API 对象 参考页。

错误

400完全没有范围参数:marketHashName、canonicalItemId、bucketId、bucketIds 一个都没提供(任一即可,仅传 bucketId / bucketIds 也是有效范围)。granularity / limit 无效或窗口超过 10,000 分桶上限时同样返回。
401缺少 Authorization 头、认证方案不支持,或密钥未知、未激活、已过期、已吊销。
403密钥有效,但订阅未激活/已过期,或套餐不含此接口。
429超出速率限制;见 Retry-After 与 X-RateLimit-* 响应头。配额按账号合并计算,所有密钥共享。
5xx上游快照不可用或服务端问题。请退避后重试。

使用此端点的指南(英文)

export SKINPRICER_API_KEY="sp_live_•••"

curl -G "https://pricing.skinpricer.com/v1/attribute-prices/history" \
  --data-urlencode "marketHashName=★ Karambit | Gamma Doppler (Factory New)" \
  -H "Authorization: ApiKey $SKINPRICER_API_KEY"
// npm i @skinpricer/sdk
import { SkinpricerClient } from "@skinpricer/sdk";

const client = new SkinpricerClient({
  apiKey: process.env.SKINPRICER_API_KEY!,
  authScheme: "ApiKey",
});

const { items, granularity } = await client.attributePrices.history({ marketHashName: "★ Karambit | Gamma Doppler (Factory New)" });
console.log(items.length, "bucket series at", granularity);
import os
import requests

res = requests.get(
    "https://pricing.skinpricer.com/v1/attribute-prices/history",
    params={"marketHashName": "★ Karambit | Gamma Doppler (Factory New)"},
    headers={"Authorization": f"ApiKey {os.environ['SKINPRICER_API_KEY']}"},
    timeout=10,
)
res.raise_for_status()
print(res.json())

需要认证的接口:请在你自己的客户端中携带 API 密钥调用(见代码示例)。

响应 200
{
  "bucketSchemaVersion": 1,
  "markets": ["buff163", "steamcommunity", "marketcsgo", "csfloat", "dmarket"],
  "currency": "USD",
  "granularity": "10m",
  "items": [
    {
      "canonicalItemId": "cmlofa7dh08ww01yo9lrpej3e",
      "marketHashName": "★ Karambit | Doppler (Factory New) - Phase 2",
      "market": "buff163",
      "buckets": [
        {
          "bucketId": "buff163:cmlofa7dh08ww01yo9lrpej3e:tag:446954:float:0-0.01",
          "bucketKey": "tag:446954:float:0-0.01",
          "bucketType": "attribute",
          "attributeType": "tag",
          "attributeTypes": ["tag", "float"],
          "dimensions": {
            "variant": "Phase2",
            "float": { "min": 0, "max": 0.01, "minInclusive": true, "maxInclusive": false },
            "fade": null,
            "pattern": null,
            "paintSeed": null
          },
          "points": [
            {
              "bucketStart": "2026-06-16T14:40:00.000Z",
              "openAskCents": 192390,
              "highAskCents": 192390,
              "lowAskCents": 192390,
              "closeAskCents": 192390,
              "avgAskCents": 192390,
              "closeBidCents": 179367,
              "askListingCount": 87,
              "bidOrderCount": null,
              "firstObservedAt": "2026-06-16T14:41:02.190Z",
              "lastObservedAt": "2026-06-16T14:41:04.342Z"
            },
            {
              "bucketStart": "2026-06-16T14:50:00.000Z",
              "openAskCents": 192390,
              "highAskCents": 192390,
              "lowAskCents": 192390,
              "closeAskCents": 192390,
              "avgAskCents": 192390,
              "closeBidCents": 179367,
              "askListingCount": 87,
              "bidOrderCount": null,
              "firstObservedAt": "2026-06-16T14:51:03.475Z",
              "lastObservedAt": "2026-06-16T14:51:12.491Z"
            },
            {
              "bucketStart": "2026-06-16T15:00:00.000Z",
              "openAskCents": 192410,
              "highAskCents": 192410,
              "lowAskCents": 192410,
              "closeAskCents": 192410,
              "avgAskCents": 192410,
              "closeBidCents": 179385,
              "askListingCount": 87,
              "bidOrderCount": null,
              "firstObservedAt": "2026-06-16T15:00:49.830Z",
              "lastObservedAt": "2026-06-16T15:00:49.830Z"
            }
          ]
        }
      ]
    }
  ],
  "sourceGaps": []
}
响应头
X-RateLimit-Limit: <每分钟配额,由套餐决定>
X-RateLimit-Remaining: <本分钟剩余次数>
X-RateLimit-Reset: <距重置的秒数>
X-RateLimit-Remaining-Month: <本月剩余次数,仅限有月度上限的套餐>
X-Request-ID: req_xxxxxxxxxxxxxxxx

使用与许可

API 及其数据的使用受我们的服务条款(英文)约束:不得转售或再分发数据,不得用于构建竞争性服务, 不得超出套餐的速率限制;在条款允许展示数据的场景下须注明数据来源为 SkinPricer。滥用行为可能被限流或封禁。