# D&D 5e API API

> D&D 5e API API on Apizie: 47 endpoints (Get all resource URLs., Get an ability score by index., Get an alignment by index., Get a background by index., …) returned as clean JSON through one API key. 47 endpoints are live now. Call it over REST at https://apizie.tech/v1/open-data:dnd5eapi/{endpoint} or from Claude, ChatGPT and Cursor through the Apizie MCP server. Free plan: 1,000 requests a month.

- Project key: `open-data:dnd5eapi`
- Category: Open Data
- Status: live
- Source: https://github.com/5e-bits
- Page: https://apizie.tech/api/open-data/dnd5eapi
- OpenAPI: https://apizie.tech/api/open-data/dnd5eapi/openapi.json

# Introduction Welcome to the dnd5eapi, the Dungeons & Dragons 5th Edition API! This documentation should help you familiarize yourself with the resources available and how to consume them with HTTP requests. Read…

## Endpoints

### Get all resource URLs.
`GET https://apizie.tech/v1/open-data:dnd5eapi/get-api`

### Get an ability score by index.
`GET https://apizie.tech/v1/open-data:dnd5eapi/get-api-ability-scores-index`

| Parameter | Type | Required | Description |
|---|---|---|---|
| index | string | yes | The `index` of the ability score to get. |

### Get an alignment by index.
`GET https://apizie.tech/v1/open-data:dnd5eapi/get-api-alignments-index`

| Parameter | Type | Required | Description |
|---|---|---|---|
| index | string | yes | The `index` of the alignment to get. |

### Get a background by index.
`GET https://apizie.tech/v1/open-data:dnd5eapi/get-api-backgrounds-index`

| Parameter | Type | Required | Description |
|---|---|---|---|
| index | string | yes | The `index` of the background to get. |

### Get a class by index.
`GET https://apizie.tech/v1/open-data:dnd5eapi/get-api-classes-index`

| Parameter | Type | Required | Description |
|---|---|---|---|
| index | string | yes | The `index` of the class to get. |

### Get features available for a class.
`GET https://apizie.tech/v1/open-data:dnd5eapi/get-api-classes-index-features`

| Parameter | Type | Required | Description |
|---|---|---|---|
| index | string | yes | The `index` of the class to get. |

### Get all level resources for a class.
`GET https://apizie.tech/v1/open-data:dnd5eapi/get-api-classes-index-levels`

| Parameter | Type | Required | Description |
|---|---|---|---|
| index | string | yes | The `index` of the class to get. |
| subclass | string | no | Adds subclasses for class to the response |

### Get level resource for a class and level.
`GET https://apizie.tech/v1/open-data:dnd5eapi/get-api-classes-index-levels-class-level`

| Parameter | Type | Required | Description |
|---|---|---|---|
| index | string | yes | The `index` of the class to get. |
| class_level | number | yes |  |

### Get features available to a class at the requested level.
`GET https://apizie.tech/v1/open-data:dnd5eapi/get-api-classes-index-levels-class-level-features`

| Parameter | Type | Required | Description |
|---|---|---|---|
| index | string | yes | The `index` of the class to get. |
| class_level | number | yes |  |

### Get spells of the requested level available to the class.
`GET https://apizie.tech/v1/open-data:dnd5eapi/get-api-classes-index-levels-spell-level-spells`

| Parameter | Type | Required | Description |
|---|---|---|---|
| index | string | yes | The `index` of the class to get. |
| spell_level | number | yes |  |

### Get multiclassing resource for a class.
`GET https://apizie.tech/v1/open-data:dnd5eapi/get-api-classes-index-multi-classing`

| Parameter | Type | Required | Description |
|---|---|---|---|
| index | string | yes | The `index` of the class to get. |

### Get proficiencies available for a class.
`GET https://apizie.tech/v1/open-data:dnd5eapi/get-api-classes-index-proficiencies`

| Parameter | Type | Required | Description |
|---|---|---|---|
| index | string | yes | The `index` of the class to get. |

### Get spellcasting info for a class.
`GET https://apizie.tech/v1/open-data:dnd5eapi/get-api-classes-index-spellcasting`

| Parameter | Type | Required | Description |
|---|---|---|---|
| index | string | yes | The `index` of the class to get. |

### Get spells available for a class.
`GET https://apizie.tech/v1/open-data:dnd5eapi/get-api-classes-index-spells`

| Parameter | Type | Required | Description |
|---|---|---|---|
| index | string | yes | The `index` of the class to get. |

### Get subclasses available for a class.
`GET https://apizie.tech/v1/open-data:dnd5eapi/get-api-classes-index-subclasses`

| Parameter | Type | Required | Description |
|---|---|---|---|
| index | string | yes | The `index` of the class to get. |

### Get a condition by index.
`GET https://apizie.tech/v1/open-data:dnd5eapi/get-api-conditions-index`

| Parameter | Type | Required | Description |
|---|---|---|---|
| index | string | yes | The `index` of the condition to get. |

### Get a damage type by index.
`GET https://apizie.tech/v1/open-data:dnd5eapi/get-api-damage-types-index`

| Parameter | Type | Required | Description |
|---|---|---|---|
| index | string | yes | The `index` of the damage type to get. |

### Get an equipment category by index.
`GET https://apizie.tech/v1/open-data:dnd5eapi/get-api-equipment-categories-index`

| Parameter | Type | Required | Description |
|---|---|---|---|
| index | string | yes | The `index` of the equipment category score to get. Available values can be found in the resource list for this endpoint. |

### Get an equipment item by index.
`GET https://apizie.tech/v1/open-data:dnd5eapi/get-api-equipment-index`

| Parameter | Type | Required | Description |
|---|---|---|---|
| index | string | yes | The `index` of the equipment to get. Available values can be found in the [`ResourceList`](#get-/api/-endpoint-) for `equipment`. |

### Get a feat by index.
`GET https://apizie.tech/v1/open-data:dnd5eapi/get-api-feats-index`

| Parameter | Type | Required | Description |
|---|---|---|---|
| index | string | yes | The `index` of the feat to get. |

### Get a feature by index.
`GET https://apizie.tech/v1/open-data:dnd5eapi/get-api-features-index`

| Parameter | Type | Required | Description |
|---|---|---|---|
| index | string | yes | The `index` of the feature to get. Available values can be found in the [`ResourceList`](#get-/api/-endpoint-) for `features`. |

### Get a language by index.
`GET https://apizie.tech/v1/open-data:dnd5eapi/get-api-languages-index`

| Parameter | Type | Required | Description |
|---|---|---|---|
| index | string | yes | The `index` of the language to get. |

### Get a magic item by index.
`GET https://apizie.tech/v1/open-data:dnd5eapi/get-api-magic-items-index`

| Parameter | Type | Required | Description |
|---|---|---|---|
| index | string | yes | The `index` of the magic item to get. Available values can be found in the resource list for this endpoint. |

### Get a magic school by index.
`GET https://apizie.tech/v1/open-data:dnd5eapi/get-api-magic-schools-index`

| Parameter | Type | Required | Description |
|---|---|---|---|
| index | string | yes | The `index` of the magic school to get. |

### Get list of monsters with optional filtering
`GET https://apizie.tech/v1/open-data:dnd5eapi/get-api-monsters`

| Parameter | Type | Required | Description |
|---|---|---|---|
| challenge_rating | array | no | The challenge rating or ratings to filter on. |

### Get monster by index.
`GET https://apizie.tech/v1/open-data:dnd5eapi/get-api-monsters-index`

| Parameter | Type | Required | Description |
|---|---|---|---|
| index | string | yes | The `index` of the `Monster` to get. |

### Get a proficiency by index.
`GET https://apizie.tech/v1/open-data:dnd5eapi/get-api-proficiencies-index`

| Parameter | Type | Required | Description |
|---|---|---|---|
| index | string | yes | The `index` of the proficiency to get. Available values can be found in the [`ResourceList`](#get-/api/-endpoint-) for `proficiencies`. |

### Get a race by index.
`GET https://apizie.tech/v1/open-data:dnd5eapi/get-api-races-index`

| Parameter | Type | Required | Description |
|---|---|---|---|
| index | string | yes | The `index` of the race to get. |

### Get proficiencies available for a race.
`GET https://apizie.tech/v1/open-data:dnd5eapi/get-api-races-index-proficiencies`

| Parameter | Type | Required | Description |
|---|---|---|---|
| index | string | yes | The `index` of the race to get. |

### Get subraces available for a race.
`GET https://apizie.tech/v1/open-data:dnd5eapi/get-api-races-index-subraces`

| Parameter | Type | Required | Description |
|---|---|---|---|
| index | string | yes | The `index` of the race to get. |

### Get traits available for a race.
`GET https://apizie.tech/v1/open-data:dnd5eapi/get-api-races-index-traits`

| Parameter | Type | Required | Description |
|---|---|---|---|
| index | string | yes | The `index` of the race to get. |

### Get a rule section by index.
`GET https://apizie.tech/v1/open-data:dnd5eapi/get-api-rule-sections-index`

| Parameter | Type | Required | Description |
|---|---|---|---|
| index | string | yes | The `index` of the rule section to get. |

### Get a rule by index.
`GET https://apizie.tech/v1/open-data:dnd5eapi/get-api-rules-index`

| Parameter | Type | Required | Description |
|---|---|---|---|
| index | string | yes | The `index` of the rule to get. |

### Get a skill by index.
`GET https://apizie.tech/v1/open-data:dnd5eapi/get-api-skills-index`

| Parameter | Type | Required | Description |
|---|---|---|---|
| index | string | yes | The `index` of the skill to get. |

### Get list of spells with optional filtering.
`GET https://apizie.tech/v1/open-data:dnd5eapi/get-api-spells`

| Parameter | Type | Required | Description |
|---|---|---|---|
| level | array | no | The level or levels to filter on. |
| school | array | no | The magic school or schools to filter on. |

### Get a spell by index.
`GET https://apizie.tech/v1/open-data:dnd5eapi/get-api-spells-index`

| Parameter | Type | Required | Description |
|---|---|---|---|
| index | string | yes | The `index` of the `Spell` to get. Available values can be found in the [`ResourceList`](#get-/api/-endpoint-) for `spells`. |

### Get a subclass by index.
`GET https://apizie.tech/v1/open-data:dnd5eapi/get-api-subclasses-index`

| Parameter | Type | Required | Description |
|---|---|---|---|
| index | string | yes | The `index` of the subclass to get. |

### Get features available for a subclass.
`GET https://apizie.tech/v1/open-data:dnd5eapi/get-api-subclasses-index-features`

| Parameter | Type | Required | Description |
|---|---|---|---|
| index | string | yes | The `index` of the subclass to get. |

### Get all level resources for a subclass.
`GET https://apizie.tech/v1/open-data:dnd5eapi/get-api-subclasses-index-levels`

| Parameter | Type | Required | Description |
|---|---|---|---|
| index | string | yes | The `index` of the subclass to get. |

### Get level resources for a subclass and level.
`GET https://apizie.tech/v1/open-data:dnd5eapi/get-api-subclasses-index-levels-subclass-level`

| Parameter | Type | Required | Description |
|---|---|---|---|
| index | string | yes | The `index` of the subclass to get. |
| subclass_level | integer | yes |  |

### Get features of the requested spell level available to the class.
`GET https://apizie.tech/v1/open-data:dnd5eapi/get-api-subclasses-index-levels-subclass-level-features`

| Parameter | Type | Required | Description |
|---|---|---|---|
| index | string | yes | The `index` of the subclass to get. |
| subclass_level | integer | yes |  |

### Get a subrace by index.
`GET https://apizie.tech/v1/open-data:dnd5eapi/get-api-subraces-index`

| Parameter | Type | Required | Description |
|---|---|---|---|
| index | string | yes | The `index` of the subrace to get. |

### Get proficiences available for a subrace.
`GET https://apizie.tech/v1/open-data:dnd5eapi/get-api-subraces-index-proficiencies`

| Parameter | Type | Required | Description |
|---|---|---|---|
| index | string | yes | The `index` of the subrace to get. |

### Get traits available for a subrace.
`GET https://apizie.tech/v1/open-data:dnd5eapi/get-api-subraces-index-traits`

| Parameter | Type | Required | Description |
|---|---|---|---|
| index | string | yes | The `index` of the subrace to get. |

### Get a trait by index.
`GET https://apizie.tech/v1/open-data:dnd5eapi/get-api-traits-index`

| Parameter | Type | Required | Description |
|---|---|---|---|
| index | string | yes | The `index` of the `Trait` to get. |

### Get a weapon property by index.
`GET https://apizie.tech/v1/open-data:dnd5eapi/get-api-weapon-properties-index`

| Parameter | Type | Required | Description |
|---|---|---|---|
| index | string | yes | The `index` of the weapon property to get. |

### Get list of all available resources for an endpoint.
`GET https://apizie.tech/v1/open-data:dnd5eapi/get-api-endpoint`

| Parameter | Type | Required | Description |
|---|---|---|---|
| endpoint | string | yes |  |

## Example
```
curl "https://apizie.tech/v1/open-data:dnd5eapi/get-api" \
  -H "x-api-key: $APIZIE_KEY"
```

## FAQ

### How do I call the D&D 5e API API?
Create a free Apizie key, then send GET https://apizie.tech/v1/open-data:dnd5eapi/get-api with the header x-api-key. Every endpoint returns { project, data, timestamp }.

### Is the D&D 5e API API free on Apizie?
Yes. The Free plan includes 1,000 requests a month at 100 requests a minute, no credit card.

### Can AI agents use the D&D 5e API API?
Yes. Add the Apizie MCP server (https://apizie.tech/mcp) to Claude, ChatGPT, Cursor or VS Code, then ask in plain language. The agent calls run_scraper with project key open-data:dnd5eapi.

### What is the status of the D&D 5e API API?
Live: works with just an Apizie key
