How to Get Skinport Listing Volume and Sale Statistics

Updated

API reference: GET /v1/prices/latest

The Skinport object on GET /v1/prices/latest combines current ask_volume with rolling 24h, 7d, 30d, and 90d completed-sale statistics.

Listing inventory and sale volume are different populations. ask_volume counts items currently offered for sale, while a window's volume counts completed sales inside that moving period.

Available listing and sale fields#

Current Skinport listing data includes ask, ask_volume, max_ask, mean_ask, and median_ask.

Each 24h_history, 7d_history, 30d_history, and 90d_history object can include:

Field Meaning
price Last sale in the window
max_price Highest sale price
mean_price Arithmetic mean sale price
median_price Median sale price
volume Completed-sale count

A window is null when Skinport has no recent sale summary for the item.

Read inventory beside sales#

Fetch GET /v1/prices/latest, locate the exact market_hash_name, and read its skinport object. Report ask_volume as current listings. Choose one rolling window whose horizon matches the analysis and report its volume and price statistic.

Dividing a window's sale count by its number of days can describe average observed sales per day. It is not an estimated sale time. For that, GET /v1/liquidity/items returns a daily sale-data-based estimated_sale_time under a different model.

Use POST /v1/prices/history when a fixed-bucket listing count and ask series is required. It does not convert the current rolling sale windows into history.

Applicable endpoints#

Endpoint Returns Plans
GET /v1/prices/latest Current listings and rolling sale windows All plans
POST /v1/prices/history Ask OHLC and last listing count per bucket Scale, Enterprise
GET /v1/liquidity/items Liquidity bucket and estimated sale time Scale, Enterprise

Window rules#

  • The four sale windows overlap. Never sum their volume values.
  • A null window means no returned summary. It does not make the current ask or listing count invalid.
  • ask_volume divided by historical sales per day is an inventory multiple, not a forecast.
  • Mean and maximum sale prices can be moved by unusual float, seed, or sticker premiums. Keep volume and median beside them.
  • Repeating the request later produces newly shifted windows, not the next point in a fixed series.

The Skinport source schema lists all current and window fields.