The D&D 5e SRD API (the 5e-bits project) is a fully keyless reference for the System Reference Document — spells, classes, monsters, equipment, races, and rules — queryable through both a REST API and a GraphQL endpoint at the same host. Its old `/docs/` path now redirects to a rebuilt documentation site on GitHub Pages, but the underlying API itself is unchanged and still served over HTTPS from the original `dnd5eapi.co` domain.
AuthenticationNone requiredCall it straight away — no key, no signup.
HTTPSSupportedTraffic is encrypted in transit.
CORSEnabledCallable directly from browser JavaScript.
PricingFreeNo paid tier — free for the documented use case.
FormatsJSON, GraphQLResponses can be requested as JSON or GraphQL.
GreatAPIs Score
Score100out of 100
Authentication25/25No authentication required
Pricing20/20Free to use
Docs20/20Machine-readable spec file bundled
Formats15/15Supports 2 response formats
Freshness20/20Verified within 6 months
Embed this badge
<a href="https://greatapis.com/api/dungeons-and-dragons/"><img src="https://greatapis.com/badge/dungeons-and-dragons.svg" alt="Scored 100 on greatapis.com"></a>
Auth quickstart
No key needed — call it now.
Stored keyNo key stored
Your key is stored only in this browser (localStorage) and sent directly to the API — never to greatapis.
Endpoints
Servers
https://www.dnd5eapi.cohttp://localhost:3000
Common2
GET/apiGet all resource URLs.
Responses
Status
Description
Schema
200
OK
—
GET/api/{endpoint}Get list of all available resources for an endpoint.
Responses
Status
Description
Schema
200
OK
APIReferenceList
Character Data6
GET/api/ability-scores/{index}Get an ability score by index.
Responses
Status
Description
Schema
200
OK
AbilityScore
GET/api/alignments/{index}Get an alignment by index.
Responses
Status
Description
Schema
200
OK
Alignment
GET/api/backgrounds/{index}Get a background by index.
Responses
Status
Description
Schema
200
OK
Background
GET/api/languages/{index}Get a language by index.
Responses
Status
Description
Schema
200
OK
Language
GET/api/proficiencies/{index}Get a proficiency by index.
Responses
Status
Description
Schema
200
OK
Proficiency
GET/api/skills/{index}Get a skill by index.
Responses
Status
Description
Schema
200
OK
Skill
Class3
GET/api/classes/{index}Get a class by index.
Responses
Status
Description
Schema
200
OK
Class
GET/api/classes/{index}/multi-classingGet multiclassing resource for a class.
Responses
Status
Description
Schema
200
OK
Multiclassing
GET/api/classes/{index}/spellcastingGet spellcasting info for a class.
Responses
Status
Description
Schema
200
OK
Spellcasting
404
Not found.
error-response
Class Levels4
GET/api/classes/{index}/levelsGet all level resources for a class.
Responses
Status
Description
Schema
200
OK
—
GET/api/classes/{index}/levels/{class_level}Get level resource for a class and level.
Responses
Status
Description
Schema
200
OK
ClassLevel
GET/api/classes/{index}/levels/{class_level}/featuresGet features available to a class at the requested level.
Responses
Status
Description
Schema
200
OK
APIReferenceList
GET/api/classes/{index}/levels/{spell_level}/spellsGet spells of the requested level available to the class.
Responses
Status
Description
Schema
200
OK
APIReferenceList
Class Resource Lists4
GET/api/classes/{index}/featuresGet features available for a class.
Responses
Status
Description
Schema
200
List of features for the class.
APIReferenceList
GET/api/classes/{index}/proficienciesGet proficiencies available for a class.
Responses
Status
Description
Schema
200
List of proficiencies for the class.
APIReferenceList
GET/api/classes/{index}/spellsGet spells available for a class.
Responses
Status
Description
Schema
200
OK
APIReferenceList
GET/api/classes/{index}/subclassesGet subclasses available for a class.
Responses
Status
Description
Schema
200
OK
APIReferenceList
Equipment4
GET/api/equipment-categories/{index}Get an equipment category by index.
Parameters
Name
In
Required
Type
index
path
yes
string
Responses
Status
Description
Schema
200
OK
EquipmentCategory
GET/api/equipment/{index}Get an equipment item by index.
Responses
Status
Description
Schema
200
OK
Equipment
GET/api/magic-items/{index}Get a magic item by index.
Parameters
Name
In
Required
Type
index
path
yes
string
Responses
Status
Description
Schema
200
OK
MagicItem
GET/api/weapon-properties/{index}Get a weapon property by index.
Responses
Status
Description
Schema
200
OK
WeaponProperty
Feats1
GET/api/feats/{index}Get a feat by index.
Parameters
Name
In
Required
Type
index
path
yes
string
Responses
Status
Description
Schema
200
OK
Feat
Features1
GET/api/features/{index}Get a feature by index.
Responses
Status
Description
Schema
200
OK
Feature
Game Mechanics3
GET/api/conditions/{index}Get a condition by index.
Responses
Status
Description
Schema
200
OK
Condition
GET/api/damage-types/{index}Get a damage type by index.
Responses
Status
Description
Schema
200
OK
DamageType
GET/api/magic-schools/{index}Get a magic school by index.
Responses
Status
Description
Schema
200
OK
MagicSchool
Monsters2
GET/api/monstersGet list of monsters with optional filtering
Responses
Status
Description
Schema
200
OK
APIReferenceList
GET/api/monsters/{index}Get monster by index.
Responses
Status
Description
Schema
200
OK
Monster
Races4
GET/api/races/{index}Get a race by index.
Responses
Status
Description
Schema
200
OK
Race
GET/api/races/{index}/proficienciesGet proficiencies available for a race.
Responses
Status
Description
Schema
200
List of proficiencies for the race.
APIReferenceList
GET/api/races/{index}/subracesGet subraces available for a race.
Responses
Status
Description
Schema
200
List of subraces for the race.
APIReferenceList
GET/api/races/{index}/traitsGet traits available for a race.
Responses
Status
Description
Schema
200
List of traits for the race.
APIReferenceList
Rules2
GET/api/rule-sections/{index}Get a rule section by index.
Responses
Status
Description
Schema
200
OK
RuleSection
GET/api/rules/{index}Get a rule by index.
Responses
Status
Description
Schema
200
OK
Rule
Spells2
GET/api/spellsGet list of spells with optional filtering.
Responses
Status
Description
Schema
200
OK
APIReferenceList
GET/api/spells/{index}Get a spell by index.
Responses
Status
Description
Schema
200
OK
Spell
Subclasses5
GET/api/subclasses/{index}Get a subclass by index.
Responses
Status
Description
Schema
200
OK
Subclass
GET/api/subclasses/{index}/featuresGet features available for a subclass.
Responses
Status
Description
Schema
200
List of features for the subclass.
APIReferenceList
GET/api/subclasses/{index}/levelsGet all level resources for a subclass.
Responses
Status
Description
Schema
200
List of level resource for the subclass.
—
GET/api/subclasses/{index}/levels/{subclass_level}Get level resources for a subclass and level.
Parameters
Name
In
Required
Type
subclass_level
path
yes
integer
Responses
Status
Description
Schema
200
Level resource for the subclass and level.
SubclassLevel
GET/api/subclasses/{index}/levels/{subclass_level}/featuresGet features of the requested spell level available to the class.
Parameters
Name
In
Required
Type
subclass_level
path
yes
integer
Responses
Status
Description
Schema
200
List of features for the subclass and level.
APIReferenceList
Subraces3
GET/api/subraces/{index}Get a subrace by index.
Responses
Status
Description
Schema
200
OK
Subrace
GET/api/subraces/{index}/proficienciesGet proficiences available for a subrace.
Responses
Status
Description
Schema
200
List of proficiences for the subrace.
APIReferenceList
GET/api/subraces/{index}/traitsGet traits available for a subrace.
Responses
Status
Description
Schema
200
List of traits for the subrace.
APIReferenceList
Traits1
GET/api/traits/{index}Get a trait by index.
Responses
Status
Description
Schema
200
OK
Trait
Try it
Developer reference
Base URLhttps://www.dnd5eapi.co
Rate limit
100 requests per 2-second window per instance, confirmed live via the x-ratelimit-limit/x-ratelimit-reset response headers on an unauthenticated GET; the open-source repo's own default (src/server.ts) is a lower 50 requests/second, so production runs a raised RATE_LIMIT_MAX/RATE_LIMIT_WINDOW_MS
Key endpoints
GET/api/monsters/{index}
GET/api/spells/{index}
GET/api/classes/{index}
GET/api/races/{index}
GET/api/equipment/{index}
People comparing Dungeons and Dragons also look at…