Inventory
The inventory endpoint returns a user’s tradeable Steam items along with live offer prices. This is what you show users when they want to deposit (sell) items.Fetching Inventory
Query Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
game | number | 730 | Game app ID (730 for CS2, 252490 for Rust) |
refresh | boolean | false | Force-refresh from Steam instead of using cache |
search | string | - | Filter items by name |
sort | string | - | Sort order for results |
minPrice | number | - | Minimum offer price filter (USD) |
maxPrice | number | - | Maximum offer price filter (USD) |
page | number | 1 | Page number |
perPage | number | 50 | Items per page |
Understanding the Response
Pricing Fields
Each item can have two price fields, and they mean different things:marketPriceis the BUFF163 market reference price in USD. This is not what the user gets paid. Use it to show market value context in your UI.offer.priceis the actual amount in USD the user will receive for depositing this item. This is the number that matters for your balance calculations.offer.referenceis an opaque string you must pass back when initiating the deposit. It identifies the specific offer.
The accepted Field
Items where accepted is true have a valid offer and can be deposited. Items where it’s false or missing don’t have an active buyer and can’t be deposited right now.
Collateral
Thecollateral field in the response tells you how much instant credit is available for this user if you’re using instant deposits. See the Deposits guide for details.
Caching Behavior
Inventory results are cached for 15 minutes on our side. TheupdatedAt field tells you when the cache was last refreshed.
Use refresh=true only when:
- Loading the inventory for the first time in a session
- The user explicitly asks to refresh
Rust Items
Rust items work the same way, but they can be stackable. When an item has anamount field greater than 1, it means the user has multiple copies of the same item. The offer.maxAmount field tells you how many can be deposited in a single trade.
Filtering and Sorting
You can combine query parameters to build a search UI:count field in the response reflects the total matching items (not just the current page), so you can build pagination controls.