Discover/5e API
live

5e API5e.tools ↗

Access D&D 5e game data via API: races, classes, spells, feats, optional features, and spell-to-class mappings sourced from 5e.tools.

Endpoint health
verified 19h ago
get_spells
get_races
get_spell_sources
get_feats
get_optional_features
7/7 passing latest checkself-healing
Endpoints
7
Updated
8d ago

What is the 5e API?

The 5e.tools API exposes 7 endpoints covering core D&D 5th Edition game data — races, classes, spells, feats, optional features, and spell-to-class cross-references. The get_spells_by_class endpoint, for example, returns each spell with its associated class list and spell level, including separate records for the 2014 PHB and 2024 XPHB printings, making it straightforward to power spell list lookups that are edition-aware.

This call costs2 credits / call— charged only on success
Try it
Case-insensitive search keyword to filter races by name (e.g. 'elf', 'dwarf', 'halfling').
→ api.parse.bot/scraper/8452e5a0-87b8-461e-9cfd-d9ac9fa336b4/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/8452e5a0-87b8-461e-9cfd-d9ac9fa336b4/get_races?query=elf' \
  -H 'X-API-Key: $PARSE_API_KEY'
All endpoints · 7 totalmissing one? ·

Retrieve D&D 5e species and races from the 5e.tools data. Filterable by a case-insensitive keyword matching race name. Returns all races when no query is provided. Each race includes name, source book, size, speed, darkvision range, trait tags, and detailed entry text.

Input
ParamTypeDescription
querystringCase-insensitive search keyword to filter races by name (e.g. 'elf', 'dwarf', 'halfling').
Response
{
  "type": "object",
  "fields": {
    "races": "array of race objects each containing name, source, size, speed, darkvision, traitTags, and entries"
  },
  "sample": {
    "data": {
      "races": [
        {
          "name": "Elf",
          "size": [
            "M"
          ],
          "speed": 30,
          "source": "PHB",
          "entries": [
            {
              "name": "Age",
              "type": "entries",
              "entries": [
                "..."
              ]
            }
          ],
          "traitTags": [
            "Improved Resting"
          ],
          "darkvision": 60
        }
      ]
    },
    "status": "success"
  }
}

About the 5e API

Race, Class, and Feat Data

The get_races endpoint returns race objects with fields including name, source, size, speed, darkvision, traitTags, and full entries text. An optional query parameter does case-insensitive name filtering — pass 'elf' to narrow results to elf variants. The get_classes endpoint works in two modes: omit class_name to get a summary list of all classes plus an available_classes index; supply a class name to get the complete record including subclasses, class features, and subclass features. get_feats returns roughly 300 feat records across all source books, with fields like category, prerequisite, ability, and entries. Both the 2014 and 2024 printings of the same feat appear as separate records under different source values.

Spell Endpoints

get_spells defaults to PHB spells when neither source nor fetch_all is specified. Use the source parameter with a book code (discoverable via get_spell_sources) to target a specific sourcebook. Set fetch_all to true to pull spells across all available sources in one call — expect a large result set. Each spell object carries level, school, time, range, components, duration, and entries. The get_spell_sources endpoint returns a mapping of source codes (e.g. PHB, XPHB) to their underlying filenames, giving you a complete list of valid source values.

Spell-to-Class Cross-Reference and Optional Features

get_spells_by_class extends spell data with a classes array on each record, showing which classes can cast that spell and at what level (0 = cantrip). You can filter by class_name, source, or spell query independently or in combination. Because each printing is a separate record, wizard spells from PHB and XPHB appear distinctly. The get_optional_features endpoint covers eldritch invocations, metamagic options, fighting styles, maneuvers, artificer infusions, rune knight runes, and similar class-option lists. Filter by feature_type (matched against the featureType array on each record) or use query for name search. The response always includes available_feature_types — all type codes present in the full dataset, unaffected by any active filters.

Reliability & maintenanceVerified

The 5e API is a managed, monitored endpoint for 5e.tools — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when 5e.tools changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official 5e.tools API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
19h ago
Latest check
7/7 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a character creation tool that populates race options with darkvision range and trait tags from get_races.
  • Generate printable spell lists per class using get_spells_by_class filtered by class_name.
  • Display complete class progression pages including subclass features using get_classes with a specific class_name.
  • Show feat prerequisites and ability score changes in a feat browser backed by get_feats.
  • Implement a warlock invocation picker using get_optional_features filtered to the EI feature type.
  • Sync spell databases across edition-year by distinguishing PHB vs. XPHB records from get_spells_by_class.
  • Populate a sourcebook selector dropdown from get_spell_sources before letting users query spells by source.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 req/min

Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does 5e.tools have an official developer API?+
No. 5e.tools does not publish an official developer API or documented REST endpoints for third-party consumption. The data it hosts is community-maintained and available through this Parse API.
How does `get_spells_by_class` differ from `get_spells`?+
get_spells returns mechanical spell details — level, school, range, components, duration, and entry text — without class associations. get_spells_by_class adds a classes array to each spell record, listing every class that can cast it and the slot level required. Both endpoints support the same query, source, and fetch_all filters; get_spells_by_class also accepts a class_name filter.
Why do some feats and spells appear more than once in results?+
5e.tools tracks each printing separately. A feat or spell reprinted in the 2024 Player's Handbook (XPHB) appears as a distinct record from its 2014 PHB version, differentiated by the source field. Filtering by source lets you restrict results to a single printing.
Does the API return monster stat blocks or magic items?+
Not currently. The API covers races, classes, spells, feats, optional features, and spell-to-class mappings. Monsters, magic items, backgrounds, and equipment are not included. You can fork this API on Parse and revise it to add endpoints for those data types.
Are there pagination controls for large result sets?+
No pagination parameters are exposed. Endpoints return all matching records in a single response. Calls with fetch_all: true on spell endpoints or unfiltered calls to get_feats can return several hundred records at once. Use the query or source filters to reduce result size when needed.
Page content last updated . Spec covers 7 endpoints from 5e.tools.
Related APIs in EntertainmentSee all →
bg3.wiki API
Search and retrieve detailed information about Baldur's Gate 3 classes, subclasses, spells, items, quests, and other game content from the official wiki. Build character guides, plan builds, and look up game mechanics without leaving your app.
icy-veins.com API
icy-veins.com API
howbazaar.gg API
Query items, skills, merchants, and monsters from the How Bazaar game database. Look up detailed information about in-game equipment, abilities, NPCs, and enemy encounters, with optional filters by hero, tier, size, and tag.
wowhead.com API
Access comprehensive World of Warcraft game data including items, NPCs, spells, and quests, plus stay updated with the latest WoW news and in-game events. Search the complete Wowhead database and read individual news articles to keep informed about current happenings in the game.
dofus.com API
Access comprehensive Dofus 3.0 game data including detailed class information, current bug reports, daily Almanax rewards, and player rankings. Explore the full encyclopedia and community statistics to optimize your gameplay and stay updated on game status.
bazaardb.gg API
Search and retrieve comprehensive data about The Bazaar game cards, including items, skills, merchants, trainers, monsters, and events with full details like tiers, attributes, enchantments, and tooltips. Quickly find the specific card information you need to optimize your gameplay strategy and deck building.
poedb.tw API
Search and retrieve comprehensive Path of Exile game data including items, gems, leagues, and game mechanics like bleeding effects across both PoE 1 and PoE 2. Get detailed information about specific items and categories, or browse current league information to stay updated on the latest game content.
eldenring.wiki.fextralife.com API
Search and retrieve structured Elden Ring game information from the Fextralife Wiki, including weapons, enemies, locations, and lore. Access full article content with hierarchical sections, tables, and images, or search the complete article catalog by keyword.