API
ReferenceTrading

Your backpack

Open raw markdownFor pasting into AI assistants
GET
/public/v1/backpack

Your on-site items, paginated. Each row's id is the backpack item id, the value you pass to withdraw. trade_locked_until is set while Steam's trade hold applies. Optional app_id and search filters.

AuthorizationBearer <token>

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

In: header

Query Parameters

page*string
Match^[1-9]\d*$
limit*string

Value in

  • "5"
  • "10"
  • "25"
  • "30"
  • "50"
  • "100"
app_id?string
Match^[1-9]\d*$
search?string
Length1 <= length <= 200

Response Body

application/json

curl -X GET "https://example.com/public/v1/backpack?page=string&limit=5"
{  "items": [    {      "id": 1,      "app_id": 1,      "market_hash_name": "string",      "amount": -9007199254740991,      "commodity": true,      "market_price": -9007199254740991,      "trade_locked_until": "2019-08-24T14:15:22Z"    }  ],  "metadata": {    "total_pages": -9007199254740991,    "total_items": -9007199254740991,    "current_page": -9007199254740991,    "current_limit": -9007199254740991  }}

Your Steam inventory GET

What is currently in your Steam inventory for one game, ready to be sold here. Each row carries a `token`: an opaque, signed handle for that item which you hand to `POST /public/v1/sell`. Tokens are tied to your account and expire after 30 minutes, so fetch, decide and sell in one pass rather than storing them. `amount` is how many copies that row's `token` covers, and `tradable` is false while Steam is holding the item. One row is one Steam stack, so a commodity you hold several stacks of comes back as several rows, each with its own `token` and `steam_asset_id`. To sell more than one stack of the same item, send them as separate entries in the same `items` array. This reads live from Steam, so it is heavily rate-limited.

Deposit from Steam POST

Moves items from your Steam inventory into your backpack without listing them: we send you a trade offer, and the items land in your backpack once you accept. `items` holds `token`s from `GET /public/v1/steam-inventory` with how many of each to deposit. Nothing goes on the market and no price is involved, so listing limits and price checks do not apply — use `POST /public/v1/list` later to sell any of it. The same trade caps as `POST /public/v1/sell` apply: one request becomes one trade offer per game, a game's offer may carry at most 500 copies in total, counting `amount`, otherwise the call fails with `DEPOSIT_ITEM_LIMIT`, and at most 15 trades may be in flight at once, past which it fails with `ACTIVE_TRADE_LIMIT`. Each response `deposit_id` matches the `deposit_id` on `GET /public/v1/trades` rows, which is where you watch for the offer and its status.