How to Find Underpriced Skinport Listings

Updated

API reference: GET /v1/prices/latest · GET /v1/liquidity/items

GET /v1/prices/latest exposes Skinport's current lowest ask, listing count, listing-price statistics, and rolling sale windows beside current asks from five other marketplaces.

The endpoint identifies item-level candidates. It does not return individual Skinport listing IDs or the exact float, stickers, and paint seed attached to the floor listing.

Skinport fields for a deal screen#

  • ask: the lowest active Skinport listing in USD.
  • ask_volume: the number of active listings.
  • max_ask, mean_ask, and median_ask: statistics across active listing prices.
  • 24h_history, 7d_history, 30d_history, and 90d_history: Skinport-supplied rolling sale windows with price statistics and volume.
  • updated_at and collected_at: source and collection timestamps.

Skinport has no current bid. The other source objects in the snapshot can provide peer asks and, where supported, bids for a separate exit check.

Finding item-level candidates#

For each exact item or nested variant, require a positive, fresh Skinport ask and compare it with median_ask. Then compare the floor with a documented peer reference, such as the median current ask across available cash marketplaces.

Rank a candidate by the smaller of its internal Skinport discount and peer-market discount so one extreme reference cannot dominate. Keep ask_volume, source timestamps, and the peer-source count with the result.

Use the rolling sale windows to check whether recent Skinport activity exists, and optionally join GET /v1/liquidity/items for a sale-volume-based liquidity bucket and estimated sale time across BUFF, Steam, and CSFloat history.

Applicable endpoints#

Endpoint Returns Plans
GET /v1/prices/latest Current Skinport and peer-market item data All plans
GET /v1/liquidity/items Daily liquidity and estimated sale time Scale, Enterprise

Candidate limits#

  • The lowest ask can be one unusual asset. Without its exact float, stickers, or paint seed, the discount remains a screening signal.
  • median_ask describes active listings, not completed sales. Use a rolling sale window when the comparison needs recent sale context.
  • A peer ask is another acquisition quote, not an executable exit. A true arbitrage screen needs a current destination bid and route costs.
  • A rolling window is an aggregate, not a daily time series. Do not turn its one summary object into multiple historical points.

See current Skinport fields and cross-market arbitrage inputs for the two follow-up checks.