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!

Containers

Lootable world objects: chests, gold piles, ore veins, bookshelves, corpses, and every other non-monster spawner that points at a loot group. The container's loot resolves through the same graph as monster drops, so drops entries carry the same fields (item_id, rarity, archetype, localized name, drop_rate). Always reflects the current patch.

The container's own name resolves from the best source available, in order: the matching item's localized name when the slug mirrors an item id (e.g. crimson_thread_spool maps to id.item.crimson_thread_spool); then the placed prop's localized name (so new_props_hoard01_3 reads Treasure Hoard rather than "Hoard01 3"); then the titleized slug as a last resort.

A container is keyed by that name. Every spawner sharing it, like the dozens of Treasure Hoard props placed around the dungeons (hoard01_3, hoard01_5, …), collapses into one entry whose slug is the name-slug (treasure_hoard) and whose drops and locations are the union of its members. variants is how many spawners folded in.

GET /v2/containers

Every lootable container, one entry per name, each with its name-slug slug / name, the variants folded in, its total spawn_count across dungeon modules, and the dungeons it appears in.

GET/v2/containers

GET /v2/containers/{id}

&id = Pick any container id from the list

One container plus its collapsed drop table and where it spawns. Accepts the canonical id (id.container.gold_chest), the name-slug (treasure_hoard), or, for back-compat, any member's display slug (hoard01_3) / full spawner id. The drops are the union of every folded-in spawner's loot, each item keeping its best per-roll odds; spawner_ids lists the members and variants counts them. locations groups the dungeon modules it stands in by dungeon, each module carrying its localized name and placement spawn_count. Same loot query params as monster loot. Carries has_icon / has_model flags for whether any member prop has rendered art (see the icon / model routes).

&dungeon_grade = Report odds at one dungeon tier instead of best-across
Example: 0
&luck = Player luck stat. Scales each luck grade's odds by the game's luck curve (see /v2/luck); 0 leaves the base rates untouched
Options: 0 - 500
Default: 0
&category = Keep only these categories (csv)

GET /v2/containers/{id}/icon

&id = Pick any container id from the list

The container's icon, a 3/4 render of its prop mesh (the game ships no 2D art for props). 302-redirects to the immutable asset bytes; transform query params (size, format, …) are forwarded. 404s for the slug-only spawners that have no placed prop, where the has_icon flag on the detail response is false and a categorical UI glyph is shown instead.

GET /v2/containers/{id}/model

&id = Pick any container id from the list

The container's 3D prop mesh (model/gltf-binary), the same mesh its icon is rendered from. 302-redirects to the asset bytes; 404s with no model when the family has no mapped mesh (has_model is then false).