GET/v1/pricing/:marketHashName/historyPRO+
价格历史
饰品按时间分桶的历史价格序列(avg/median/min/max 及最优买卖价,单位美分)。可用 from/to(ISO)、listingType(SELL_OFFER | BUY_ORDER | SALE_HISTORY)与 salesWindow 过滤。粒度默认根据时间范围自动选择,也可用 interval 固定。需要按市场拆分的序列请见按市场的历史。
返回从旧到新的时间分桶序列。每个分桶汇总该窗口内观察到的价格(avg / median / min / max),以及当时的最优求购价、最优在售价与价差——正是画价格图所需的结构。
listingType 决定你画的是什么:SELL_OFFER(在售价,默认)、BUY_ORDER(求购价)或 SALE_HISTORY(已完成交易,配合 salesWindow 使用)。分桶粒度默认由 from/to 范围自动选择,也可用 interval 固定。
volume 在 listingType=SALE_HISTORY 时是该分桶的滚动成交笔数(完成交易的数量,不是成交额),在 SELL_OFFER / BUY_ORDER 下为 null。totalQuantity 在 BUY_ORDER 分桶上携带求购数量。请把 null 理解为"此处不适用",而不是零。
Parameters
marketHashNamestringrequired
路径段。URL 编码的 market_hash_name。fromstringoptional
查询参数。ISO 8601 起始时间。默认:now − 30d。tostringoptional
查询参数。ISO 8601 结束时间。默认:now。listingTypestringoptional
查询参数。SELL_OFFER | BUY_ORDER | SALE_HISTORY。默认:SELL_OFFER。salesWindowstringoptional
查询参数。24h | 7d | 30d | 90d。仅当 listingType=SALE_HISTORY 时有效。intervalstringoptional
查询参数。固定分桶粒度:MINUTE_5 | MINUTE_15 | HOUR_1 | HOUR_6 | DAY_1。会覆盖由 from/to 推导的粒度。未知值返回 400。Response fields
HistoryResponse饰品按时间分桶的价格序列。
canonicalItemIdstring
规范饰品 id。namestring
Market hash name。listingTypestring
SELL_OFFER | BUY_ORDER | SALE_HISTORY。salesWindowstringnullable
仅当 listingType=SALE_HISTORY 时设置。historyHistoryBucket[]
每个时间分桶一行,从旧到新。嵌套与共享结构链接到 API Objects 参考页(英文)。
Response 200
{
"canonicalItemId": "cmlofca920lka01yozajhixt3",
"name": "Glock-18 | Water Elemental (Factory New)",
"listingType": "SELL_OFFER",
"salesWindow": null,
"history": [
{
"timestamp": "2026-05-25T00:00:00.000Z",
"avgPrice": 4923,
"medianPrice": 4222,
"minPrice": 3522,
"maxPrice": 8805,
"listingCount": 1442,
"totalQuantity": null,
"volume": null,
"bestBidCents": null,
"bestAskCents": 3522,
"spreadBps": null
}
]
}Errors
400未知的
interval / listingType,或日期范围无效。401缺少
Authorization 头、认证方案不支持,或密钥未知、未激活、已过期、已吊销。403密钥有效,但订阅未激活/已过期,或套餐不含此接口。
429超出速率限制;见 Retry-After 与 X-RateLimit-* 响应头。配额按账号合并计算,所有密钥共享。
curl "https://pricing.skinpricer.com/v1/pricing/:marketHashName/history" \
-H "Authorization: ApiKey sk_live_•••••••••••"Response headers
X-RateLimit-Limit: <per-minute, set by your plan>
X-RateLimit-Remaining: <remaining this minute>
X-RateLimit-Reset: <seconds to reset>
X-Request-ID: req_xxxxxxxxxxxxxxxx