Skip to content
DB-Steam
Sign in

Public API

Everything this site renders, a third party can query. JSON only, all timestamps ISO 8601 UTC, all money in integer minor units with an explicit currency.

Endpoint summary
GET /api/v1/appsCatalogue, filtered and keyset-paginated
GET /api/v1/apps/{appId}Full detail plus the current rollup
GET /api/v1/apps/{appId}/price-historyPrice step series with the carry-forward point
GET /api/v1/apps/{appId}/playersConcurrent players at raw, hourly, or daily resolution
GET /api/v1/apps/{appId}/changesChange events for one app
GET /api/v1/apps/{appId}/depotsDepots, branches, latest manifests
GET /api/v1/changesThe global change feed
GET /api/v1/searchApps, companies and tags in one request
GET /api/v1/salesCurrent discounts
GET /api/v1/compare2–4 apps as aligned rows
GET /api/v1/statsCatalogue-wide totals
GET /api/v1/metaIngestion freshness per collector

Pagination

Keyset, never OFFSET. Cursors are opaque — pass them back unmodified. There is no total count: counting a filtered catalogue on every request is a full scan to render a number almost nobody uses.

Errors

RFC 9457 problem documents with a stable machine-readable type, so a client can branch on the failure without matching on prose.

Rate limits

Per-IP token bucket. Every response carries RateLimit-Limit, -Remaining and -Reset so you can slow down before being rejected rather than after.