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!
Parameters & Types
On every endpoint page, parameters are color coded to show whether they are required, optional, or global options (the global ones — pagination, condense, locale — work the same way everywhere). The value formats those parameters accept are described below.
Ranges
Numeric filters such as price and gear_score accept a range value — one parameter that covers what a min/max pair used to. Pass any of:
- a bare number for an exact match — 300
- an inclusive range — 200:500
- an open-ended bound — 200: (at least 200) or :500 (at most 500)
- an inequality — >=200, >200, <=999, or <999
Bounds are inclusive unless written with a strict > / <. A non-numeric value (or an inverted range like 500:200) returns a 400.
Booleans
Booleans are true or false. As a query parameter the API also accepts common numeric and string forms, converted as follows:
| Input | Converted |
|---|---|
| true | true |
| 1 | true |
| yes | true |
| on | true |
| false | false |
| 0 | false |
| no | false |
| off | false |
Timestamps
Some endpoints support timestamp filters such as from and to. You may pass either a number representing the number of seconds since the epoch (Jan 1, 1970), a YYYY-MM-DD date, or a valid ISO 8601 timestamp (e.x. 2025-02-17T03:32:08+00:00).
Intervals
Intervals define an aggregation period. They may either be an integer representing the number of seconds in each period or one of several predefined values:
| Interval | Value |
|---|---|
| 1m | 60 |
| 3m | 180 |
| 5m | 300 |
| 10m | 600 |
| 15m | 900 |
| 30m | 1800 |
| 45m | 2700 |
| 1h | 3600 |
| 2h | 7200 |
| 4h | 14400 |
| 1d | 86400 |
| 1w | 604800 |
| 2w | 1209600 |
| 4w | 2592000 |
Attributes
Some endpoints support filtering by primary or secondary item attributes. For these endpoints, you can specify &primary[attribute]=... or &secondary[attribute]=.... All attributes support range filters. Here is a list of supported attributes:
| Name | Field |
|---|---|
| Loading… | |
Classes
Fields like required_class take one or more class names. To match several classes, separate them with |. Items with no class restriction always match.
| Class | Filter value |
|---|---|
| Fighter | fighter |
| Barbarian | barbarian |
| Rogue | rogue |
| Ranger | ranger |
| Wizard | wizard |
| Cleric | cleric |
| Bard | bard |
| Warlock | warlock |
| Druid | druid |
| Sorcerer | sorcerer |
For example, to find all chest armor usable by a wizard, cleric or sorcerer: /v2/items?slot_type=Chest&required_class=wizard|cleric|sorcerer.