Open5e D&D 5e SRD Scraper
Pricing
from $3.00 / 1,000 results
Open5e D&D 5e SRD Scraper
Scrape the Open5e API - Dungeons & Dragons 5e SRD content. Fetch monsters, spells, magic items, races, classes, weapons and armor with full stats, descriptions and sourcebook attribution.
Pricing
from $3.00 / 1,000 results
Rating
0.0
(0)
Developer
Crawler Bros
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Pull structured Dungeons & Dragons 5th Edition content straight from the open Open5e API — monsters, spells, magic items, races, classes, weapons and armor — as clean, ready-to-use JSON. No account, no API key, no login.
Perfect for building character-builder tools, encounter generators, homebrew databases, Discord bots, spreadsheets, or any app that needs reliable 5e SRD reference data.
What this actor does
- Searches and browses seven categories of 5e content.
- Returns full stat blocks and descriptions with sourcebook attribution so you always know where each entry comes from.
- Lets you filter monsters by type / size / challenge rating, spells by level / school / class, and magic items by rarity / attunement.
- Fetches specific entries directly by their Open5e slug.
- Empty fields are always omitted — you never get
nulls.
Content types
| Content type | Records available | Example fields |
|---|---|---|
| Monsters | 3,200+ | full stat block, actions, abilities, challenge rating |
| Spells | 1,400+ | level, school, casting time, range, components |
| Magic items | 1,600+ | type, rarity, attunement, description |
| Races | 20+ | ability score increase, traits, subraces, speed |
| Classes | 12 | hit dice, proficiencies, spellcasting, archetypes |
| Weapons | 68 | damage dice, damage type, cost, properties |
| Armor | 23 | base AC, cost, strength requirement, stealth |
Output
Every record includes recordType, slug, name, sourceUrl (the live Open5e API URL for that entry), documentTitle (the sourcebook it comes from), licenseUrl (the licence page for that content), and scrapedAt (UTC timestamp). Additional fields depend on the content type.
Monsters: size, type, subtype, alignment, challengeRating, crValue, armorClass, armorDesc, hitPoints, hitDice, speed, strength, dexterity, constitution, intelligence, wisdom, charisma, skills, savingThrows, senses, languages, damageVulnerabilities, damageResistances, damageImmunities, conditionImmunities, description, actions, bonusActions, reactions, specialAbilities, legendaryActions, legendaryDescription, environments, imageUrl.
Spells: school, level, levelText, castingTime, range, duration, components, requiresVerbalComponents, requiresSomaticComponents, requiresMaterialComponents, material, requiresConcentration, ritual, description, higherLevel, dndClasses, spellLists.
Magic items: type, rarity, requiresAttunement, description.
Races: description, abilityScoreIncrease, abilityScoreIncreases, age, alignment, size, speed, speedDesc, languages, vision, traits, subraces.
Classes: description, hitDice, hpAtFirstLevel, hpAtHigherLevels, proficiencyArmor, proficiencyWeapons, proficiencyTools, proficiencySavingThrows, proficiencySkills, spellcastingAbility, startingEquipment, archetypeGroupName, progressionTable, archetypes.
Weapons: category, cost, damageDice, damageType, weight, properties.
Armor: category, acString, baseAc, cost, weight, strengthRequirement, plusDexMod, plusMaxDexBonus, stealthDisadvantage.
Input
| Field | Type | Default | Description |
|---|---|---|---|
contentType | select | monsters | Which category to fetch: monsters, spells, magicItems, races, classes, weapons, armor. |
search | string | dragon | Free-text search across names and descriptions (e.g. dragon, fireball). Leave empty to browse the whole category. |
slugs | array | – | Fetch specific entries by Open5e slug (e.g. adult-red-dragon, fireball). When set, other filters are ignored. |
monsterType | select | – | Monsters only — filter by creature type (Dragon, Undead, Swarm, …). |
size | select | – | Monsters only — filter by size (Tiny … Gargantuan). |
crMin / crMax | integer | – | Monsters only — challenge-rating range (0–30). |
spellLevel | integer | – | Spells only — spell level (0 = cantrip … 9). |
school | select | – | Spells only — school of magic (Evocation, Necromancy, …). |
dndClass | select | – | Spells only — class that can cast the spell. |
concentration | boolean | false | Spells only — when enabled, only spells that require concentration. |
spellRitual | boolean | false | Spells only — when enabled, only spells that can be cast as a ritual. |
rarity | select | – | Magic items only — rarity (Common … Artifact). |
requiresAttunement | boolean | false | Magic items only — only items requiring attunement. |
maxItems | integer | 25 | Hard cap on emitted records (1–5000). |
Example: high-CR dragons
{"contentType": "monsters","monsterType": "Dragon","crMin": 10,"crMax": 20,"maxItems": 25}
Example: 3rd-level evocation spells
{"contentType": "spells","spellLevel": 3,"school": "Evocation","maxItems": 50}
Example: legendary magic items requiring attunement
{"contentType": "magicItems","rarity": "Legendary","requiresAttunement": true,"maxItems": 50}
Example: lookup specific entries by slug
{"contentType": "monsters","slugs": ["adult-red-dragon", "aboleth", "lich"]}
Example output (monster)
{"recordType": "monster","slug": "adult-red-dragon","name": "Adult Red Dragon","size": "Huge","type": "Dragon","challengeRating": "17","crValue": 17.0,"armorClass": 19,"hitPoints": 256,"speed": { "walk": 40, "fly": 80, "climb": 40 },"actions": [{ "name": "Bite", "desc": "Melee Weapon Attack: +14 to hit…" }],"documentTitle": "5e Core Rules","sourceUrl": "https://api.open5e.com/v1/monsters/adult-red-dragon/","scrapedAt": "2026-07-02T13:23:35.202585+00:00"}
Use cases
- VTT & app developers — bulk-import a complete 5e bestiary or spell list into your virtual tabletop or character builder.
- Encounter design — pull all monsters in a challenge-rating band to balance an encounter.
- Discord bots — look up any monster, spell, or item on demand by slug.
- Homebrew databases — seed a reference database with SRD and openly licensed third-party content.
- Data analysis — export spell distributions by school/level or item rarity for game-balance studies.
- Spreadsheets — feed clean JSON into no-code tools for DM prep sheets.
FAQ
Do I need an API key or account? No. Open5e is a fully open, public API. The actor works out of the box.
Where does the data come from?
The Open5e project, which aggregates the D&D 5e System Reference Document (SRD) plus a range of openly licensed third-party sourcebooks. Each record carries a documentTitle telling you which book it belongs to.
Why do some entries look different? Different sourcebooks publish slightly different fields. The actor only outputs fields that are actually present, so records stay clean and never contain empty values.
Can I get a specific monster or spell?
Yes — put its slug(s) in the slugs field and set the matching contentType. Duplicate slugs are automatically de-duplicated.
How do I get everything in a category?
Leave search empty and raise maxItems.
Are the filters case-sensitive?
No. Open5e stores some categories in mixed case (e.g. both Evocation and evocation); the actor matches them case-insensitively so a single filter value catches every variant.
Data source
This actor uses the public Open5e REST API at https://api.open5e.com. Content is provided under the Open Gaming License / Creative Commons licenses referenced by each sourcebook.