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!

Gems

The socketable gems — four families, each cut at seven rarities, 28 in all. A gem is an item, so its id is an item id (id.item.ruby_5001); these routes add the socketing detail — what it costs to inset a gem of that rarity, and the attribute pool its family can inscribe. Both are served through the standard paginated envelope on the list and a bare object on the single-gem route. Always reflects the current patch.

Each gem row carries:

  • id — the gem's item id (id.item.ruby_5001).
  • family — gem family slug (ruby, …); the seven rarities of a family share it.
  • name — localized display name (Ruby (Perfect)).
  • rarity — the gem's rarity tier; joins to items.rarity.
  • gear_score (int | null) — gear score, when the codex sets one.
  • icon / icon_url — the asset hash and its ready-to-use CDN URL.
  • cost — gold to socket a gem of this rarity into a piece of gear.
  • bonuses — every attribute this gem family can inscribe, identical across the family's seven rarities. Each entry has property (item-attribute slug, joins to item_attributes.attribute in the Items schema), name (localized), effect_type (tag slug classifying the bonus), value_ratio (relative magnitude hint — the real per-rarity ranges are runtime SetByCaller, not in the cooked data), and enchant_order (tooltip sort).

GET /v2/gems

All 28 gems, one row per gem item.

&sort = `field:order` or `asc|desc` (default field per endpoint)
&cursor = Opaque cursor from the previous response's `pagination.next`; omit for the first page.
&limit = Pagination
Options: 1 - 200
Default: 50
GET/v2/gems

GET /v2/gems/{id}

&id = Gem item id — pick any from the /v2/gems listing
Example: id.item.ruby_5001

One gem, same shape as a list row, returned bare (not enveloped).

GET/v2/gems/{id}