GET /v1/prices/latest
Returns the latest prices for all items across supported marketplaces (BUFF, Youpin, CSFloat, Skinport, Steam, and C5Game).
Most prices update about every 5 minutes, depending on the marketplace. Every source object includes its own updated_at and collected_at timestamps.
Access
Available on all plans.
Supported sources
| Source | Fields |
|---|---|
buff | ask, bid, ask_volume, bid_volume |
youpin | ask, bid, ask_volume, bid_volume |
csfloat | ask, bid, ask_volume |
skinport | ask, ask_volume, max_ask, mean_ask, median_ask, 24h_history, 7d_history, 30d_history, 90d_history |
steam | ask, bid, ask_volume, bid_volume |
c5game | ask, bid, ask_volume |
Items with Doppler, Gamma Doppler, or Case Hardened prices can include variants; see Variants.
Request
curl https://api.cs2.sh/v1/prices/latest \
-H "Authorization: Bearer <<YOUR_API_KEY>>" \
-H "Accept-Encoding: gzip" --compressedResponse
{
"response_time": "2026-07-26T18:54:04.041256216Z",
"currency": "USD",
"items": {
"USP-S | Printstream (Factory New)": {
"market_hash_name": "USP-S | Printstream (Factory New)",
"buff": {
"updated_at": "2026-07-26T18:50:53Z",
"collected_at": "2026-07-26T18:53:10.67Z",
"ask": 109.72,
"ask_volume": 463,
"bid": 106.17,
"bid_volume": 41
},
"youpin": {
"updated_at": "2026-07-26T18:52:35.85Z",
"collected_at": "2026-07-26T18:52:41.584Z",
"ask": 108.24,
"ask_volume": 507,
"bid": 107.06,
"bid_volume": 63
},
"csfloat": {
"updated_at": "2026-07-26T18:53:05.094Z",
"collected_at": "2026-07-26T18:53:05.134Z",
"ask": 107.99,
"ask_volume": 227,
"bid": 105
},
"skinport": {
"updated_at": "2026-07-26T18:53:09.397Z",
"collected_at": "2026-07-26T18:53:15.672Z",
"ask": 115.95,
"ask_volume": 39,
"max_ask": 575.78,
"mean_ask": 181.61,
"median_ask": 156.61,
"24h_history": {
"price": 113.78,
"max_price": 116.48,
"mean_price": 115.13,
"median_price": 115.13,
"volume": 2
},
"7d_history": {
"price": 102.41,
"max_price": 147.72,
"mean_price": 118.31,
"median_price": 113.79,
"volume": 7
},
"30d_history": {
"price": 102.41,
"max_price": 147.72,
"mean_price": 119.16,
"median_price": 118.57,
"volume": 44
},
"90d_history": {
"price": 96.72,
"max_price": 210.73,
"mean_price": 123.13,
"median_price": 119.33,
"volume": 149
}
},
"steam": {
"updated_at": "2026-07-26T18:52:21.42Z",
"collected_at": "2026-07-26T18:52:54.624Z",
"ask": 169.14,
"ask_volume": 70,
"bid": 155.05,
"bid_volume": 2951
},
"c5game": {
"updated_at": "2026-07-26T18:49:05.186Z",
"collected_at": "2026-07-26T18:49:07.9Z",
"ask": 113.56,
"ask_volume": 141,
"bid": 221.65
}
}
}
}Response fields
LatestPricesGetResponse fields:
| Field | Type | Required | Description |
|---|---|---|---|
response_time | string (date-time) | Yes | When the response was generated |
currency | string | Yes | Currency code (always USD) |
items | Record<string, Item> | Yes | Map of market_hash_name to item price data. |
Item data
| Field | Description |
|---|---|
items.<name>.<source> | Latest ask/bid prices and volumes on that marketplace, with updated_at and collected_at. |
items.<name>.variants | The same per-source shape for Doppler and Case Hardened variants. |
- Base item source objects are dense:
buff,youpin,csfloat,skinport,steam, andc5gameare present once any source has data for the item. - Unavailable source fields are
null. - Variant source objects are sparse and appear only when that source has variant data.
Full schemas: Item, Variant, SkinportPriceWindow, and the per-source types under Latest Price Source Data.
Errors
503 service_unavailable means the latest snapshot is not ready. See Request errors for errors shared by all endpoints.
POST /v1/prices/latest
Returns the same latest-price data as GET /v1/prices/latest, filtered to up to 100 requested items.
Most prices update about every 5 minutes, depending on the marketplace. Items with Doppler, Gamma Doppler, or Case Hardened prices can include variants.
Request
curl -X POST https://api.cs2.sh/v1/prices/latest \
-H "Authorization: Bearer <<YOUR_API_KEY>>" \
-H "Accept-Encoding: gzip" --compressed \
-H "Content-Type: application/json" \
-d '{
"items": [
"USP-S | Printstream (Factory New)",
"★ Karambit | Doppler (Factory New)"
]
}'Parameters
| Field | Type | Required | Description |
|---|---|---|---|
items | string[] | Yes | List of market_hash_name values (max 100) |
Response
{
"response_time": "2026-08-16T02:40:27.537385456Z",
"currency": "USD",
"items": {
"USP-S | Printstream (Factory New)": {
"market_hash_name": "USP-S | Printstream (Factory New)",
"buff": {
"updated_at": "2026-08-16T02:36:51Z",
"collected_at": "2026-08-16T02:39:08.389Z",
"ask": 98.72,
"ask_volume": 509,
"bid": 97.61,
"bid_volume": 38
},
"youpin": {
"updated_at": "2026-08-16T02:34:11.218Z",
"collected_at": "2026-08-16T02:34:19.719Z",
"ask": 101.61,
"ask_volume": 540,
"bid": 99.39,
"bid_volume": 64
},
"csfloat": {
"updated_at": "2026-08-16T02:39:06.114Z",
"collected_at": "2026-08-16T02:39:06.156Z",
"ask": 98.84,
"ask_volume": 244,
"bid": 97
},
"skinport": {
"updated_at": "2026-08-16T02:39:10.489Z",
"collected_at": "2026-08-16T02:39:17.102Z",
"ask": 106.28,
"ask_volume": 62,
"max_ask": 586,
"mean_ask": 165.9,
"median_ask": 141.66,
"24h_history": {
"price": 106.08,
"max_price": 106.08,
"mean_price": 106.08,
"median_price": 106.08,
"volume": 1
},
"7d_history": {
"price": 103.44,
"max_price": 163.45,
"mean_price": 112.27,
"median_price": 106.42,
"volume": 10
},
"30d_history": {
"price": 103.44,
"max_price": 190.96,
"mean_price": 118.68,
"median_price": 115.8,
"volume": 34
},
"90d_history": {
"price": 98.44,
"max_price": 214.47,
"mean_price": 120.23,
"median_price": 118.11,
"volume": 139
}
},
"steam": {
"updated_at": "2026-08-16T02:38:15.395Z",
"collected_at": "2026-08-16T02:38:15.765Z",
"ask": 154.58,
"ask_volume": 64,
"bid": 148.73,
"bid_volume": 2847
},
"c5game": {
"updated_at": "2026-08-16T02:39:16.373Z",
"collected_at": "2026-08-16T02:39:17.181Z",
"ask": 103.25,
"ask_volume": 231,
"bid": 203.82
}
},
"★ Karambit | Doppler (Factory New)": {
"market_hash_name": "★ Karambit | Doppler (Factory New)",
"buff": {
"updated_at": "2026-08-16T02:36:29Z",
"collected_at": "2026-08-16T02:39:08.389Z",
"ask": 1320.24,
"ask_volume": 1592,
"bid": 1265.35,
"bid_volume": 73
},
"youpin": {
"updated_at": "2026-08-16T02:39:15.117Z",
"collected_at": "2026-08-16T02:39:30.793Z",
"ask": 1275.36,
"ask_volume": 1654,
"bid": 1257.94,
"bid_volume": 24
},
"csfloat": {
"updated_at": "2026-08-16T02:39:06.114Z",
"collected_at": "2026-08-16T02:39:06.156Z",
"ask": 1262,
"ask_volume": 958,
"bid": null
},
"skinport": {
"updated_at": null,
"collected_at": null,
"ask": null,
"ask_volume": null,
"max_ask": null,
"mean_ask": null,
"median_ask": null,
"24h_history": null,
"7d_history": null,
"30d_history": null,
"90d_history": null
},
"steam": {
"updated_at": "2026-08-16T02:38:51.747Z",
"collected_at": "2026-08-16T02:38:52.055Z",
"ask": 1932.57,
"ask_volume": 1,
"bid": 1790.09,
"bid_volume": 6564
},
"c5game": {
"updated_at": "2026-08-16T02:39:00.4Z",
"collected_at": "2026-08-16T02:39:01.15Z",
"ask": 1304.49,
"ask_volume": 315,
"bid": 1253.49
},
"variants": {
"Phase 2": {
"market_hash_name": "★ Karambit | Doppler (Factory New)",
"name": "★ Karambit | Doppler (Factory New) | Phase 2",
"display_name": "Phase 2",
"version": "p2",
"buff": {
"updated_at": "2026-08-16T02:36:29Z",
"collected_at": "2026-08-16T02:39:08.389Z",
"ask": 1876.52,
"ask_volume": null,
"bid": 1802.35,
"bid_volume": null
},
"youpin": {
"updated_at": "2026-08-16T02:38:00.447Z",
"collected_at": "2026-08-16T02:38:27.248Z",
"ask": 1824.06,
"ask_volume": 445,
"bid": 1794.93,
"bid_volume": 39
},
"csfloat": {
"updated_at": "2026-08-16T02:33:30.519Z",
"collected_at": "2026-08-16T02:33:30.541Z",
"ask": 1851.86,
"ask_volume": null,
"bid": 1800
},
"c5game": {
"updated_at": "2026-08-16T02:35:44.486Z",
"collected_at": "2026-08-16T02:36:52.69Z",
"ask": 1868.55,
"ask_volume": 67,
"bid": 1794.93
}
},
"Ruby": {
"market_hash_name": "★ Karambit | Doppler (Factory New)",
"name": "★ Karambit | Doppler (Factory New) | Ruby",
"display_name": "Ruby",
"version": "ruby",
"buff": {
"updated_at": "2026-08-16T02:36:29Z",
"collected_at": "2026-08-16T02:39:08.389Z",
"ask": 7713.76,
"ask_volume": null,
"bid": 7053.64,
"bid_volume": null
},
"youpin": {
"updated_at": "2026-08-16T02:38:00.447Z",
"collected_at": "2026-08-16T02:38:27.248Z",
"ask": 7680.03,
"ask_volume": 69,
"bid": 7250.93,
"bid_volume": 36
},
"csfloat": {
"updated_at": "2026-08-16T02:37:08.797Z",
"collected_at": "2026-08-16T02:37:37.562Z",
"ask": 7723,
"ask_volume": null,
"bid": 7220
},
"c5game": {
"updated_at": "2026-08-16T02:35:45.934Z",
"collected_at": "2026-08-16T02:36:52.69Z",
"ask": 8156.36,
"ask_volume": 12,
"bid": 6230.34
}
}
}
}
}
}Response fields
LatestPricesPostResponse fields:
| Field | Type | Required | Description |
|---|---|---|---|
response_time | string (date-time) | Yes | When the response was generated |
currency | string | Yes | Currency code (always USD) |
items | Record<string, Item> | Yes | Map of market_hash_name to item price data, filtered to the requested items. |
errors | ItemError[] | No | Per-item failures alongside successful results (partial success). |
Errors
404 not_found means none of the requested valid items are present in the latest snapshot. 503 service_unavailable means the snapshot is not ready.
When only some items fail, the endpoint returns 200 with the successful items and an errors[] entry for each failure. Possible item codes are unknown_item, invalid_format, and not_in_cache. See Partial success and Request errors.