Games & Comics — entry 019 of 77

Dungeons and Dragons

Verified Jul 2026

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.

dndtabletop-rpgsrdgraphql
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

Scored 100 on greatapis.com
<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

  1. 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
StatusDescriptionSchema
200OK
GET/api/{endpoint}Get list of all available resources for an endpoint.
Responses
StatusDescriptionSchema
200OKAPIReferenceList
Character Data6
GET/api/ability-scores/{index}Get an ability score by index.
Responses
StatusDescriptionSchema
200OKAbilityScore
GET/api/alignments/{index}Get an alignment by index.
Responses
StatusDescriptionSchema
200OKAlignment
GET/api/backgrounds/{index}Get a background by index.
Responses
StatusDescriptionSchema
200OKBackground
GET/api/languages/{index}Get a language by index.
Responses
StatusDescriptionSchema
200OKLanguage
GET/api/proficiencies/{index}Get a proficiency by index.
Responses
StatusDescriptionSchema
200OKProficiency
GET/api/skills/{index}Get a skill by index.
Responses
StatusDescriptionSchema
200OKSkill
Class3
GET/api/classes/{index}Get a class by index.
Responses
StatusDescriptionSchema
200OKClass
GET/api/classes/{index}/multi-classingGet multiclassing resource for a class.
Responses
StatusDescriptionSchema
200OKMulticlassing
GET/api/classes/{index}/spellcastingGet spellcasting info for a class.
Responses
StatusDescriptionSchema
200OKSpellcasting
404Not found.error-response
Class Levels4
GET/api/classes/{index}/levelsGet all level resources for a class.
Responses
StatusDescriptionSchema
200OK
GET/api/classes/{index}/levels/{class_level}Get level resource for a class and level.
Responses
StatusDescriptionSchema
200OKClassLevel
GET/api/classes/{index}/levels/{class_level}/featuresGet features available to a class at the requested level.
Responses
StatusDescriptionSchema
200OKAPIReferenceList
GET/api/classes/{index}/levels/{spell_level}/spellsGet spells of the requested level available to the class.
Responses
StatusDescriptionSchema
200OKAPIReferenceList
Class Resource Lists4
GET/api/classes/{index}/featuresGet features available for a class.
Responses
StatusDescriptionSchema
200List of features for the class.APIReferenceList
GET/api/classes/{index}/proficienciesGet proficiencies available for a class.
Responses
StatusDescriptionSchema
200List of proficiencies for the class.APIReferenceList
GET/api/classes/{index}/spellsGet spells available for a class.
Responses
StatusDescriptionSchema
200OKAPIReferenceList
GET/api/classes/{index}/subclassesGet subclasses available for a class.
Responses
StatusDescriptionSchema
200OKAPIReferenceList
Equipment4
GET/api/equipment-categories/{index}Get an equipment category by index.
Parameters
NameInRequiredType
indexpathyesstring
Responses
StatusDescriptionSchema
200OKEquipmentCategory
GET/api/equipment/{index}Get an equipment item by index.
Responses
StatusDescriptionSchema
200OKEquipment
GET/api/magic-items/{index}Get a magic item by index.
Parameters
NameInRequiredType
indexpathyesstring
Responses
StatusDescriptionSchema
200OKMagicItem
GET/api/weapon-properties/{index}Get a weapon property by index.
Responses
StatusDescriptionSchema
200OKWeaponProperty
Feats1
GET/api/feats/{index}Get a feat by index.
Parameters
NameInRequiredType
indexpathyesstring
Responses
StatusDescriptionSchema
200OKFeat
Features1
GET/api/features/{index}Get a feature by index.
Responses
StatusDescriptionSchema
200OKFeature
Game Mechanics3
GET/api/conditions/{index}Get a condition by index.
Responses
StatusDescriptionSchema
200OKCondition
GET/api/damage-types/{index}Get a damage type by index.
Responses
StatusDescriptionSchema
200OKDamageType
GET/api/magic-schools/{index}Get a magic school by index.
Responses
StatusDescriptionSchema
200OKMagicSchool
Monsters2
GET/api/monstersGet list of monsters with optional filtering
Responses
StatusDescriptionSchema
200OKAPIReferenceList
GET/api/monsters/{index}Get monster by index.
Responses
StatusDescriptionSchema
200OKMonster
Races4
GET/api/races/{index}Get a race by index.
Responses
StatusDescriptionSchema
200OKRace
GET/api/races/{index}/proficienciesGet proficiencies available for a race.
Responses
StatusDescriptionSchema
200List of proficiencies for the race.APIReferenceList
GET/api/races/{index}/subracesGet subraces available for a race.
Responses
StatusDescriptionSchema
200List of subraces for the race.APIReferenceList
GET/api/races/{index}/traitsGet traits available for a race.
Responses
StatusDescriptionSchema
200List of traits for the race.APIReferenceList
Rules2
GET/api/rule-sections/{index}Get a rule section by index.
Responses
StatusDescriptionSchema
200OKRuleSection
GET/api/rules/{index}Get a rule by index.
Responses
StatusDescriptionSchema
200OKRule
Spells2
GET/api/spellsGet list of spells with optional filtering.
Responses
StatusDescriptionSchema
200OKAPIReferenceList
GET/api/spells/{index}Get a spell by index.
Responses
StatusDescriptionSchema
200OKSpell
Subclasses5
GET/api/subclasses/{index}Get a subclass by index.
Responses
StatusDescriptionSchema
200OKSubclass
GET/api/subclasses/{index}/featuresGet features available for a subclass.
Responses
StatusDescriptionSchema
200List of features for the subclass.APIReferenceList
GET/api/subclasses/{index}/levelsGet all level resources for a subclass.
Responses
StatusDescriptionSchema
200List of level resource for the subclass.
GET/api/subclasses/{index}/levels/{subclass_level}Get level resources for a subclass and level.
Parameters
NameInRequiredType
subclass_levelpathyesinteger
Responses
StatusDescriptionSchema
200Level 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
NameInRequiredType
subclass_levelpathyesinteger
Responses
StatusDescriptionSchema
200List of features for the subclass and level.APIReferenceList
Subraces3
GET/api/subraces/{index}Get a subrace by index.
Responses
StatusDescriptionSchema
200OKSubrace
GET/api/subraces/{index}/proficienciesGet proficiences available for a subrace.
Responses
StatusDescriptionSchema
200List of proficiences for the subrace.APIReferenceList
GET/api/subraces/{index}/traitsGet traits available for a subrace.
Responses
StatusDescriptionSchema
200List of traits for the subrace.APIReferenceList
Traits1
GET/api/traits/{index}Get a trait by index.
Responses
StatusDescriptionSchema
200OKTrait

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}