Explore the
DarkerDB API documentation, your gateway to harnessing Dark and Darker game data. Use our APIs to track in-game market trends, analyze live player stats, and access detailed item data, including stats, descriptions, and market data. Download game assets like item icons to enhance your apps or generate interactive tooltips. Feel free to get in touch with us in our Discord for support or to request new features or data!
Authentication
Requests are authenticated either using a session cookie (when you have logged in through Discord) or with an API key which are managed through the user dashboard. When creating an application, it is strongly recommended to use an API key. Send it in the X-Api-Key header, or where setting a header is awkward (a plain link, a spreadsheet import) as a query string parameter: ?key=your-api-key. The header wins when both are sent. Prefer the header — URLs end up in logs, browser history and pasted links, and the key travels with them.
Data endpoints need a key. A few keyless routes stay open for things a browser can't send a header on (icons, model and map images, the health probe) — this one runs without a key:
Scopes
A key carries one or more scopes, and each scope covers a slice of the data and sets its own rate limit. A key only holds what it needs:
- darkerdb.data — static catalog: items, monsters, maps, merchants, quests, … (300 / 60s).
- darkerdb.live — live feeds: market, trades, population, status (60 / 60s).
- darkerdb.tooltips — the embeddable item tooltip endpoint (600 / 60s).
A key missing the route's scope gets a 403. The live feeds sit on time-series tables and cost more to serve than the cached static catalog, so darkerdb.live is throttled tighter.
Rate limits
The limit on a request is set by the scope gating the route, so the same key meters live and static reads independently. Every response carries the live budget for the scope being hit: X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset. Going over returns 429 Too Many Requests with a Retry-After header (seconds) — honor it. Need a higher limit on a key? reach out on Discord.