How to Get CSFloat Sale Volume
Updated
API reference: POST /v1/archive/csfloat
POST /v1/archive/csfloatreturns CSFloat daily completed-salevolumefrom 2022 onward, paired with the day's average saleprice.
Sale volume counts completed purchases. It is different from ask_volume, which counts listings that remain active.
CSFloat volume fields
Every returned UTC day contains:
| Field | Meaning |
|---|---|
date |
Calendar date of the aggregate |
price |
Arithmetic average completed-sale price in USD |
volume |
Number of completed sales |
The series refreshes once or twice per day. Doppler and Gamma Doppler phases can have their own sale series under variants when archive data exists. Case Hardened tier sale histories are not collected.
Query daily sale counts
Send exact market_hash_name values and a date range to POST /v1/archive/csfloat. The endpoint accepts up to 100 items and supports partial success through errors[]. Read the requested item's chronological data[] rows and sum volume only across the dates relevant to the analysis.
For supported Doppler and Gamma Doppler variants, request the base item and match the desired version under variants. Parent volume must not be counted once for every phase.
If the task needs a current listing count, use ask_volume from GET /v1/prices/latest and label it separately. The CSFloat sales history guide covers using price and volume together.
Applicable endpoints
| Endpoint | Returns | Plans |
|---|---|---|
POST /v1/archive/csfloat |
Daily completed-sale average and count | Scale, Enterprise |
GET /v1/prices/latest |
Current listing count | All plans |
Keep in mind
- Days without a returned aggregate are absent, not zero-sale observations.
priceis an arithmetic average, so multiplying it byvolumecan support weighted summaries but does not recover individual sale prices.- Sparse phase days can mix different float, seed, and sticker premiums.
- The archive end boundary is exclusive and dates are UTC.
The CSFloat archive reference defines the response and archive error codes.