ParseForge Scrapers

D&D 5e SRD Content Scraper

parseforge/dnd5e-srd-spells-scraper

EducationDeveloper toolsOther

Scrapes spells, monsters, classes, equipment, and 20 other resource types from the D&D 5e SRD. Returns each entry as a flat row with full descriptions and stats.

Run this scraper See the API call
Total users
2
Monthly active
1
Total runs
104
Bookmarked
0
Rating
Not rated yet
Last modified
9 days ago

Overview

ParseForge

D&D 5e SRD Content Scraper

Scrape every spell, monster, class, and magic item from the D&D 5e SRD, up to a million rows per run. Each record comes with its full description, stats, and metadata in a flat, predictable schema. No API key or manual browsing. Export to CSV, JSON, Excel, or XML.

The D&D 5e System Reference Document holds the core rules content, but pulling it into a spreadsheet or app means copying hundreds of pages by hand. This actor reads the public SRD directly, letting you export spells, monsters, equipment, and 21 other resource types in one fixed format. Filter by name substring as it runs so only the entries you need land in your dataset.

Who uses it What they scrape D&D 5e SRD for
Game masters Build a quick-reference spellbook or monster manual for a campaign session.
App developers Seed a character builder or combat tracker with official SRD data.
Content creators Pull every magic item or feat into a searchable database for a wiki or tool.
Data analysts Compare spell damage, monster challenge ratings, or class features across the entire SRD.

What it does

This Actor collects D&D 5e SRD content by resource type and optional name filter, and returns each entry as a flat row.

  • ๐Ÿ“‹ 24 resource types: spells, monsters, classes, equipment, magic items, features, races, and more.
  • ๐Ÿ” Name filter: case-insensitive substring match so you can pull only 'fireball' or every 'dragon'.
  • ๐Ÿ“Š Flat row output: every entry returns with its full description block and computed stats in one consistent schema.
  • โš™๏ธ Max items control: set a ceiling from 1 to 1,000,000 rows per run to cap your dataset size.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

What you can do with D&D 5e SRD data

๐Ÿ“– Build a campaign reference binder.

A dungeon master exports all monsters and spells, filters by name for the session's creatures, and prints a custom cheat sheet.

๐Ÿ› ๏ธ Populate a character creator app.

A developer pulls every race, class, background, and feat into a local database to power a character builder's dropdowns and tooltips.

๐Ÿงช Analyze game balance.

A data analyst scrapes all spells and monsters, then compares average damage per level or challenge rating distributions in a spreadsheet.

๐Ÿ“š Create a searchable SRD website.

A content creator exports every rule section, condition, and magic school to seed a community wiki with official text.

Why choose this scraper

What you get
No manual copying Pull hundreds of SRD entries in one run instead of clicking through pages.
Fixed schema Every spell, monster, or item lands in the same flat structure, ready for a database.
Full descriptions Long text blocks, higher-level casting details, and trait paragraphs are included.
Offline access Export to CSV or JSON and use the SRD content without an internet connection.

How it compares

No other Store actor targets D&D 5e SRD the same way, so the honest comparison is with the alternatives teams actually weigh.

D&D 5e SRD Content Scraper Build it in-house By hand
Setup Run it now, zero config Days of engineering None, but hours per pull
When D&D 5e SRD changes Maintained for you You fix it You re-learn the page
Proxies, retries, anti-bot Built in Your problem Browser only
Output Fixed JSON schema, CSV/Excel export Whatever you build Copy-paste
Cost Pay per result Engineering time Analyst hours

Configure the run

Drive the Actor by picking one SRD resource type and an optional name substring; the filter runs as each entry is read so only matches reach your dataset. The Input tab lists every parameter.

A first run with the defaults:

{
 "maxItems": 10,
 "resourceType": "spells"
}

A larger pull:

{
 "maxItems": 200,
 "resourceType": "spells"
}

Pricing

Pay-per-result: $0.012 per result collected. You pay only for the results written to your dataset.

Results collected Approximate cost
100 results $1.20
1,000 results $12.00
10,000 results $120.00

New Apify accounts start with $5 in free credit.

Free users

Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.

Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the D&D 5e SRD Content Scraper.
  3. Set your inputs and any filters, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.

Use with AI agents (MCP)

Give an AI agent live access to D&D 5e SRD through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/dnd5e-srd-spells-scraper"

Then prompt it in plain language to run the scraper and read back the results.

Troubleshooting

Why am I getting no results?

Check your search query spelling. The filter is a case-insensitive substring match, so 'fireball' works but 'fire ball' with a space will not match the spell name. Try leaving the query blank to see all entries.

The run finished but my dataset is empty.

Confirm you selected a resource type. If the type is set and the query is blank, you should see results. If the source website structure changed, try again later or contact support.

Some fields are missing in my export.

Not every field applies to every resource type. A spell has a 'level' field, but a condition does not. The schema is fixed per resource type, and missing fields will be empty for entries where they do not apply.

Can I scrape multiple resource types in one run?

The actor processes one resource type per run. To collect spells and monsters together, run the actor twice with different resource type settings and merge the datasets afterward.

The description text is cut off.

The actor captures the full description block as displayed on the SRD page. If a description seems truncated, it may be how the SRD presents that entry. Check the source page directly to compare.

FAQ

Question Answer
What is the D&D 5e SRD? The System Reference Document is the official, free subset of the Dungeons & Dragons 5th Edition core rules, released by Wizards of the Coast under the Open Gaming License. It includes hundreds of spells, monsters, classes, and items.
Can I scrape all spells at once? Yes. Set the resource type to 'Spells' and leave the search query blank to collect every SRD spell in a single run.
Does this include content from expansion books like Xanathar's or Tasha's? No. This actor scrapes only the free SRD content. Expansion book material is not part of the SRD and is not available through this source.
What does a spell row look like? Each spell row includes its name, level, school, casting time, range, components, duration, full description, and higher-level effects, all in a flat structure.
Can I filter monsters by challenge rating? The input filter matches against the monster's name only. To filter by challenge rating, export the full monster list and filter in your spreadsheet or script.
How do I get only fire-related spells? Set resource type to 'Spells' and enter 'fire' in the search query field. The actor will return every spell whose name contains 'fire'.
Is this actor legal to use? Yes. The SRD content is published under the Open Gaming License, which permits copying and redistribution. This actor reads publicly available web pages.
Can I export the data to Excel? Yes. Apify supports CSV, JSON, Excel, and XML exports from the dataset tab after the run completes.
Does the actor handle rate limiting? The actor reads the SRD at a respectful pace. If you need to scrape millions of rows, the max items setting lets you control the run size.
What resource types are available? Spells, monsters, classes, equipment, magic items, features, ability scores, alignments, backgrounds, conditions, damage types, equipment categories, feats, languages, magic schools, proficiencies, races, rule sections, rules, skills, subclasses, subraces, traits, and weapon properties.

Related actors

Browse the full ParseForge collection for more scrapers.

๐Ÿ†˜ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.

โš ๏ธ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by Wizards of the Coast LLC. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.

Input

FieldTypeWhat it doesDefault
maxItems integer Maximum number of spells to collect per run. 10
resourceType string (24 options) Which SRD resource to export. spells
searchQuery string Case-insensitive substring match against the resource name (e.g. 'fireball', 'dragon'). Leave blank for all. not set

Pricing

from $9.00 per 1,000 results

Charged forWhat it isPrice each
Result Item Charged once per result collected. $0.009 to $0.012

Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.

API

One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.

POST ยท run and get results
curl -X POST "https://api.apify.com/v2/acts/parseforge~dnd5e-srd-spells-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "helloWorld": 123
  }'

Examples

Input that runs as-is.

input.json
{
  "helloWorld": 123
}

Reviews

No reviews yet. Be the first.

Issues

We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.

Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.

Related scrapers

Run D&D 5e SRD Content Scraper on Apify All scrapers