API
ReferenceMarket data

Book snapshot

GET
/public/v1/book

Every active listing in one response, plus seq (an int64), the sequence number of the last WebSocket event published before the snapshot was taken. Use it to seed a local book: buffer WebSocket events, load the snapshot, drop events with seq <= the snapshot's, apply the rest. Optional app_id filter, worth passing since it cuts a large payload down to the game you trade. Rows are deliberately lean: price/amount state only, no per-game item fields; item detail comes from GET /public/v1/listings or the listing.created events. Snapshots are cached for 10 seconds and carry an ETag, so a repeat call within that window is free; the cached seq is the one the snapshot is valid at, which is all the sync protocol needs. Heavily rate-limited: it exists for (re)synchronization, not polling. If you want item prices rather than individual live listings, use GET /public/v1/prices/all instead, which is far cheaper for both of us.

AuthorizationBearer <token>

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

In: header

Query Parameters

app_id?string
Match^[1-9]\d*$

Response Body

application/json

curl -X GET "https://example.com/public/v1/book"
{  "seq": 0,  "listings": [    {      "id": 1,      "app_id": 1,      "market_hash_name": "string",      "price": -9007199254740991,      "amount": -9007199254740991,      "commodity": true,      "created_at": "2019-08-24T14:15:22Z"    }  ]}