Attribute Price History
Time series of per-attribute bucket prices: the same float/fade/pattern/seed/variant bands as /v1/attribute-prices/latest, but each bucket carries a points[] series instead of a single ask/bid. Scope by marketHashName, canonicalItemId, OR by bucketId / bucketIds alone (any one is a valid scope). Window with from / to (default last 7d) and pin spacing with granularity. Prices are integer USD cents.
The history companion to attribute prices: same float/fade/pattern/seed/variant bands, but each bucket carries a points[] series instead of a single ask/bid. Every point is an OHLC-style summary of one granularity window (openAskCents, highAskCents, lowAskCents, closeAskCents, plus avgAskCents and closeBidCents).
Scope tightly: pass bucketId (or a bucketIds CSV) to pull just the bands you track rather than every band on the item. points[] is oldest-first; bid prices and bidOrderCount are null on markets that expose no buy side.
Parameters
marketHashName / canonicalItemId / bucketId / bucketIds is required.marketHashName / canonicalItemId / bucketId / bucketIds is required.bucketId. Valid as a standalone scope (no item id needed).bucketIds. Valid as a standalone scope (no item id needed).10m | 1h | 1d. Defaults from the date range. The window is capped at 10,000 buckets (400 if exceeded).sourceGaps.Response fields
USD.10m.Nested and shared shapes link to the API Objects reference.
Response 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": []
}Errors
marketHashName, canonicalItemId, bucketId, or bucketIds supplied. (Any one. Including bucketId / bucketIds alone. Is a valid scope.) Also returned for an invalid granularity, limit, or a window exceeding the 10,000-bucket cap.Authorization header, unsupported scheme, or a key that is unknown, inactive, expired, or revoked.curl "https://pricing.skinpricer.com/v1/attribute-prices/history" \
-H "Authorization: ApiKey sk_live_•••••••••••"Authenticated endpoint — call it with your API key from your own client (see the code sample).