Your Steam inventory
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 stack holds, and tradable is false while Steam is holding the item. This reads live from Steam, so it is heavily rate-limited.
Authorization
apiKey API key generated from your account settings on the website. Send as Authorization: Bearer csd_....
In: header
Query Parameters
^[1-9]\d*$Response Body
application/json
curl -X GET "https://example.com/public/v1/steam-inventory?app_id=string"{ "items": [ { "token": "string", "app_id": 1, "steam_asset_id": "string", "market_hash_name": "string", "amount": -9007199254740991, "commodity": true, "tradable": true, "market_price": -9007199254740991, "recommended_price": -9007199254740991, "icon_url": "string" } ]}Sell from Steam POST
Lists items straight from your Steam inventory: we send you a trade offer for them, and they go on the market at your price once you accept. `items` holds `token`s from `GET /public/v1/steam-inventory` with how many of each to sell, and `price` is per copy in cents. Items of the same type can share a listing; different types need their own group. This is the v1 `ISales/ListItems` flow with the Steam half intact. 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. Items already on site are listed with `POST /public/v1/list` instead, no trade offer needed.
Your backpack GET
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.