Skip to main content
Returns individual listings for a specific item. Use this when you want to let users pick a specific skin variant (different float, stickers, etc.) rather than just the cheapest one. Authentication: Client Token (Authorization header)

Request

Query Parameters

* Provide either itemId or marketHashName.

Response

Each listing represents a specific item instance with its own float value, stickers, and price. Use the id and offer.price when initiating a withdrawal. On supplier listings marketPrice equals offer.price, and type and iconUrl are always present (an empty string when unknown). When pool stock is included (any delivery other than "standard"), pool listings are merged with supplier listings and the combined list is sorted by offer.price ascending before it is paginated. Pool listings carry assetId and botInfo, have no marketPrice, and always deliver "instant". In a merged response only the first min(100, page * perPage) supplier listings are fetched, so supplier listings deeper than that can’t be reached by paging. If supplier listings can’t be loaded, the pool listings are returned without an error.
This endpoint is currently CS2-only. Rust withdrawals don’t use per-variant listings: the cheapest available stack is sourced when the withdrawal is purchased.
Listings here carry no itemId: you named the item in the request, and every row belongs to it. id identifies the individual listing and is what you pass to a withdrawal. itemId appears on GET /client/market rows, where the response spans many items.

Rate Limits

Errors