Per-Market Price History
Per-market historical price series for an item: the same time buckets as /v1/pricing/:marketHashName/history, but split into one series per marketplace instead of a single cross-market aggregate. Filter to specific venues with markets. Prices are integer USD cents.
The per-market companion to item price history: instead of one blended series, you get series[] with one entry per marketplace, each carrying its own history[] of buckets (avgPrice, bestBidCents / bestAskCents, spreadBps, and so on). Use it to compare how a single item trades across venues.
Pass a markets CSV (e.g. buff163,csfloat) to limit which venues come back; omit it for every covered market. from / to / interval / listingType / salesWindow behave exactly like the aggregate history endpoint.
Parameters
buff163,csfloat. Omit for every covered market.SELL_OFFER | BUY_ORDER | SALE_HISTORY. Default: SELL_OFFER.24h | 7d | 30d | 90d. Only when listingType=SALE_HISTORY.MINUTE_5 | MINUTE_15 | HOUR_1 | HOUR_6 | DAY_1. Overrides the granularity otherwise derived from from/to. An unknown value returns 400.Response fields
SELL_OFFER | BUY_ORDER | SALE_HISTORY.Nested and shared shapes link to the API Objects reference.
Response 200
{
"canonicalItemId": "cmlofczf90qj401vsd80dskd1",
"name": "AK-47 | Redline (Field-Tested)",
"listingType": "SELL_OFFER",
"salesWindow": null,
"series": [
{
"market": "buff163",
"history": [
{
"timestamp": "2026-06-22T00:00:00.000Z",
"avgPrice": 3820,
"medianPrice": 3531,
"minPrice": 3028,
"maxPrice": 6185,
"listingCount": 9374,
"totalQuantity": null,
"volume": null,
"bestBidCents": 5978,
"bestAskCents": 3028,
"spreadBps": -6551
},
{
"timestamp": "2026-06-23T00:00:00.000Z",
"avgPrice": 3884,
"medianPrice": 3542,
"minPrice": 3063,
"maxPrice": 6249,
"listingCount": 9138,
"totalQuantity": null,
"volume": null,
"bestBidCents": 6022,
"bestAskCents": 3063,
"spreadBps": -6514
}
]
},
{
"market": "csfloat",
"history": [
{
"timestamp": "2026-06-22T00:00:00.000Z",
"avgPrice": 2973,
"medianPrice": 2972,
"minPrice": 2906,
"maxPrice": 3000,
"listingCount": 3425,
"totalQuantity": null,
"volume": null,
"bestBidCents": 2940,
"bestAskCents": 2906,
"spreadBps": -116
},
{
"timestamp": "2026-06-23T00:00:00.000Z",
"avgPrice": 2976,
"medianPrice": 2964,
"minPrice": 2964,
"maxPrice": 3000,
"listingCount": 3421,
"totalQuantity": null,
"volume": null,
"bestBidCents": null,
"bestAskCents": 2964,
"spreadBps": null
}
]
}
]
}Errors
interval / listingType, or an invalid date range.curl "https://pricing.skinpricer.com/v1/pricing/:marketHashName/history/markets" \
-H "Authorization: ApiKey sk_live_•••••••••••"Authenticated endpoint — call it with your API key from your own client (see the code sample).