Fetch a user's inventory for a specific game with GET https://steamcommunity.com/inventory/<STEAMID64>/<APPID>/<CONTEXTID>?l=english&count=5000 — CONTEXTID is typically 2 for tradable game items; this endpoint is public if the inventory is not private.
Parse the response: assets contains item instances (assetid, classid, instanceid, amount); descriptions contains item metadata keyed by classid+instanceid — join them to get named, described items.
To initiate trades between users, use the Steam Trade Offer API (IEconService): CreateTradeOffer requires a Partner SteamID, a JSON trade offer containing items from both sides, and a trade offer URL token from the recipient.
Monitor trade offer states with IEconService/GetTradeOffers — offers cycle through states (Active, Accepted, Countered, Expired, Canceled, Declined, InvalidItems); only Accepted means the trade completed.
For Steam Community Market interactions, note that Valve does not provide an official public market API — the market listing endpoints observed from the web client are unofficial, undocumented, and subject to change or blocking.
When using trade offers in an automated or bot context, the sending account must have Steam Guard Mobile Authenticator active and may need to wait a trade hold period (up to 15 days for accounts without the authenticator or with recently changed credentials).
Known gotchas
The /inventory/ endpoint is rate-limited aggressively for IPs making many requests; scraping inventories at scale will result in temporary IP bans — cache inventory data and fetch only when explicitly needed.
Trade holds (escrow) apply when either party does not have Steam Guard Mobile Authenticator enabled or has recently changed their account credentials — automated trading systems must handle the hold state and cannot assume items move immediately on acceptance.
The Steam Market has no official API for placing buy/sell orders or reading price history at scale; any market price data tool relies on undocumented endpoints that Valve may break or block at any time — do not build business-critical systems on them.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp