POST /v1/archive/youpin
Returns Youpin sale price history at three independent intervals.
12hfrequency from November 12, 20254hfrequency from June 27, 20261hfrequency from July 20, 2026
Youpin publishes one sale per bucket (either 1h, 4h, or 12h). For example, this means that a 1h series can contain up to 24 points per day.
The same sale can also appear in multiple series, if the item doesn't sell frequently. Because of this, I'd recommend treating 1h, 4h, and 12h as separate views of the data.
sale at 12:42
-> 1h series: bucket 12:00-13:00
-> 4h series: bucket 12:00-16:00
-> 12h series: bucket 12:00-00:00Supports ~all items with sale history, including Doppler, Gamma Doppler, and Case Hardened variants. Data updates ~1-2x per day. Max 100 items per request.
Access
Requires a Scale or Enterprise API key.
Supported intervals
| Interval | Sampling bucket |
|---|---|
1h | One sale per hour |
4h | One sale per 4 hours |
12h | One sale per 12 hours |
All observed intervals return together under each item's intervals map.
Request
curl -X POST https://api.cs2.sh/v1/archive/youpin \
-H "Authorization: Bearer <<YOUR_API_KEY>>" \
-H "Accept-Encoding: gzip" --compressed \
-H "Content-Type: application/json" \
-d '{
"items": [
"★ Karambit | Doppler (Factory New)"
],
"start": "2026-02-24",
"end": "2026-08-23",
"currency": "USD"
}'Parameters
| Field | Type | Required | Description |
|---|---|---|---|
items | string[] | Yes | List of market_hash_name values (max 100). |
start | string | No | Start date/time as YYYY-MM-DD or RFC3339, inclusive. Defaults to 180 days ago; floored to the hour. |
end | string | No | End date/time as YYYY-MM-DD or RFC3339, exclusive. Defaults to now; ceiled to the hour. |
currency | string | No | Default: USD. Allowed: AUD, CAD, CHF, CNY, EUR, GBP, JPY, NZD, SGD, USD. Currency for every price in the response. |
Response
{
"response_time": "2026-08-23T22:00:08.796888946Z",
"currency": "USD",
"start": "2026-02-24T00:00:00Z",
"end": "2026-08-23T00:00:00Z",
"items": {
"★ Karambit | Doppler (Factory New)": {
"market_hash_name": "★ Karambit | Doppler (Factory New)",
"intervals": {
"1h": {
"count": 595,
"data": [
{
"bucket": "2026-07-21T16:00:00Z",
"time": "2026-07-21T16:52:38.307Z",
"price": 1314.88
},
{
"bucket": "2026-07-21T18:00:00Z",
"time": "2026-07-21T18:49:58.613Z",
"price": 8125.64
}
]
},
"4h": {
"count": 324,
"data": [
{
"bucket": "2026-06-27T16:00:00Z",
"time": "2026-06-27T18:37:02.696Z",
"price": 1971.09
},
{
"bucket": "2026-06-27T20:00:00Z",
"time": "2026-06-27T23:59:41.06Z",
"price": 1995.59
}
]
},
"12h": {
"count": 360,
"data": [
{
"bucket": "2026-02-24T04:00:00Z",
"time": "2026-02-24T14:31:07.376Z",
"price": 1505.36
},
{
"bucket": "2026-02-24T16:00:00Z",
"time": "2026-02-25T03:42:29.407Z",
"price": 2215.6
}
]
}
},
"variants": {
"Phase 2": {
"market_hash_name": "★ Karambit | Doppler (Factory New)",
"name": "★ Karambit | Doppler (Factory New) | Phase 2",
"display_name": "Phase 2",
"version": "p2",
"intervals": {
"1h": {
"count": 295,
"data": [
{
"bucket": "2026-07-22T22:00:00Z",
"time": "2026-07-22T22:01:51.055Z",
"price": 1902.37
}
]
},
"4h": {
"count": 267,
"data": [
{
"bucket": "2026-06-29T00:00:00Z",
"time": "2026-06-29T01:20:49.596Z",
"price": 2156.42
}
]
},
"12h": {
"count": 356,
"data": [
{
"bucket": "2026-02-24T04:00:00Z",
"time": "2026-02-24T14:03:32.869Z",
"price": 2272.73
}
]
}
}
}
}
}
}
}Response fields
ArchiveYoupinResponse fields:
| Field | Type | Required | Description |
|---|---|---|---|
response_time | string (date-time) | Yes | When the response was generated. |
currency | string | Yes | Currency code for every price in the response. Matches the requested currency; defaults to USD. |
start | string (date-time) | Yes | Effective start of the queried range, floored to the 1h boundary. Inclusive. |
end | string (date-time) | Yes | Effective end of the queried range, ceiled to the 1h boundary. Exclusive. |
items | Record<string, ArchiveYoupinItem> | Yes | Map of market_hash_name to Youpin sale series. |
errors | ItemError[] | No | Per-item failures alongside successful results (partial success). |
Series
| Field | Description |
|---|---|
items.<name>.intervals | Map keyed 1h, 4h, and 12h; each an independent series. |
intervals.<width>.count | Number of sale points in the window. |
intervals.<width>.data[] | Sale points. |
data[].bucket | Sampling bucket boundary. |
data[].time | The actual sale time. |
data[].price | Sale price, USD, converted at the sale date's exchange rate. |
items.<name>.variants | The same shape per variant. |
- An interval key appears only when that width was observed in the window;
count: 0means observed with no sales. countis the number of points in that one series. It is not sale volume.- Valid requested items with no Youpin sale history return
not_in_archive.
Full schemas: ArchiveYoupinItem, ArchiveYoupinSeries, ArchiveYoupinPoint.
Errors
404 not_found means none of the requested valid items have Youpin history in the window. Partial results return 200 with errors[]; possible item codes are unknown_item, invalid_format, not_in_archive, unsupported_source, and unsupported_variant. See Partial success and Request errors.