API
ReferenceSelling

Value of your listings

Open raw markdownFor pasting into AI assistants
GET
/public/v1/my-listings/value

What your active listings are worth at their asking prices: total_value in cents, across listing_count listings holding item_count items. Optional app_id filter. The v1 equivalent was ISales/GetActiveListingsValue.

AuthorizationBearer <token>

API key generated from your account settings on the website. Send as Authorization: Bearer csd_....

In: header

Query Parameters

app_id?string
Match^[1-9]\d*$

Response Body

application/json

curl -X GET "https://example.com/public/v1/my-listings/value"
{  "listing_count": -9007199254740991,  "item_count": -9007199254740991,  "total_value": -9007199254740991}

List items for sale POST

Puts backpack items on the market. Every listing holds exactly one copy: each group in `listings` is a `price` in cents and the `items` to sell at it, and every copy in the group becomes its own listing. `items` holds backpack item ids (the `id` from `GET /public/v1/backpack`) with the quantity of each to sell, so `amount: 5` creates 5 listings. The response lists every listing created. A commodity backpack row is a quantity rather than a single copy, so the same `id` may appear in several groups to sell copies at different prices; the groups draw from one pool, and asking for more than the row's `amount` in total fails with `INSUFFICIENT_ITEMS`. At most 50 groups per request, 50 items per group. Send `price_decay` instead of `price` on a group to list it with an auto-decaying price: it starts at `start_price` and falls to `end_price` over `total_hours` (24-168). To sell something still sitting in Steam, use `POST /public/v1/sell` instead. Accounts have a ceiling on how much they can have listed at once; past it, listing fails with `LISTING_LIMIT_REACHED`. Contact support if you are hitting it. While listing is switched off site-wide, the call fails with `LISTING_DISABLED`.

Your listings GET

Your own listings, newest first, filterable by `app_id` and `status` (`ACTIVE`, `DISABLED`, `FILLED`). Every row is one copy. On a commodity, `available_amount` is how many more copies you could list from your backpack right now; otherwise it is `0`. `price_decay` is the listing's decay curve and how far into it the listing is, or `null` for a flat price; `price` is always the price right now. Rows are lean: item detail for a listing is in `GET /public/v1/listings`.