Market Data
GET /v1/games — Games You Can Pass as appId
List the games your key can read with appId — CS2, Dota 2 and Rust — and whether it can also buy in each one.
GET
Games you can pass as appId
CSBoard sells CS2, Dota 2 and Rust items. You choose the game with the
A game with Where
On
appId parameter, using Steam’s own appIds: 730 for CS2, 570 for Dota 2, 252490 for Rust. This endpoint lists the games your key can use and, for each one, whether it can buy there too (tradable).
Authentication required. Send your key as Authorization: Bearer csb_pub_.... No balance is needed, so you can check this before you fund the account.
Example request
Example response
tradable: false can be read through the market data endpoints but not bought yet.
Where appId works
Leave
appId out and every endpoint answers for CS2, exactly as it did before the parameter existed.
What changes for Dota 2 and Rust
- Same response shape. Dota 2 and Rust rows have the same keys as CS2 rows, so one parser reads all three. The CS2-only fields —
wear,doppler_phase,float_value,paint_seed,inspect_link,tradable_at,listed_at— arenull, andstickersis[]. - CS2-only filters are refused, not ignored. Sending
wear,min_float,max_float,stat_trak,souvenir,available_afterorsort=newestwith a Dota 2 or RustappIdanswers400 invalid_param. OnGET /v1/pricesonlywearis CS2-only. - Orders are queued. A Dota 2 or Rust order answers
delivery: "pending"andexpected_minutes: null. Follow it withGET /v1/orders/{id}. - Ids belong to their game. Buy and check ids under the same
appIdyou read them with.
appId: GET /v1/listings/stream, GET /v1/prices/snapshot.ndjson.gz and POST /v1/market/buy.
Error codes
AnappId your key cannot use — unknown, switched off, or not open to you — answers 400 unsupported_game. The body lists what you can use:
POST /v1/orders, supported_app_ids lists the games you can buy in.