League of Legends Champion Scraper
parseforge/ddragon-lol-scraper
GAMESAutomationIntegrations
Scrapes League of Legends champion data from the Data Dragon CDN. Returns each champion as a flat row with base stats, lore, tags, locale text, and patch version. No Riot API key required.
- Total users
- 1
- Monthly active
- 0
- Total runs
- 87
- Bookmarked
- 0
- Rating
- Not rated yet
- Last modified
- 9 days ago
Overview
League of Legends Champion Scraper
Scrape League of Legends champion data from Riot's Data Dragon CDN in any locale, from a single champion to the full roster. Every record includes base stats, lore, tags, and patch version. No API key or login required. Export to CSV, JSON, Excel, or XML.
Riot's official Data Dragon CDN is the source of truth for League of Legends champion data, but downloading and parsing the tarball by hand is slow and repetitive. This Actor reads the champion JSON directly from the CDN, lets you pick any of 22 locales, and returns each champion as a clean, flat row. You get the latest patch by default, or you can pin a specific version for reproducible datasets.
| Who uses it | What they scrape League of Legends Data Dragon for |
|---|---|
| Game analysts | Compare base stat changes across patches for balance research. |
| Content creators | Pull champion lore and titles in their local language for wiki or video scripts. |
| App developers | Seed a companion-app database with the full champion roster and localized text. |
| Esports coaches | Export champion base stats to feed into draft-phase tools and matchup sheets. |
What it does
This Actor collects League of Legends champion records from the Data Dragon CDN and returns each champion as one flat row with its stats, lore, tags, and locale text.
- ๐ 22 locales supported: English, German, French, Spanish, Italian, Polish, Romanian, Greek, Portuguese, Hungarian, Russian, Turkish, Japanese, Korean, Chinese, Thai, Vietnamese, Indonesian, and Czech.
- ๐ Pin a patch version: supply a version string like 14.10.1 to freeze the dataset, or leave it empty for the latest live patch.
- ๐ฏ Single champion mode: fetch only one champion by its id, such as Aatrox or Ahri, to keep the output small and focused.
- ๐ฆ Full roster or capped: set a maxItems limit to sample the first N champions, or raise it to collect every champion in the game.
Results export to CSV, JSON, Excel, or XML, or straight from the API.
What you can do with League of Legends Data Dragon data
๐ Track base-stat changes across patches.
A game analyst runs the Actor on two patch versions, exports both CSVs, and diffs HP, attack, defense, and magic stats to quantify balance shifts.
๐ Build a localized champion encyclopedia.
A wiki maintainer runs the Actor once per locale, collects every champion's lore and title in that language, and imports the rows into their CMS.
๐ฑ Seed a companion-app database.
A mobile developer runs the Actor with maxItems set high, grabs the full roster in one JSON export, and uses it to populate the app's champion collection screen.
๐ฏ Pull one champion for a quick content check.
A YouTuber sets the champion field to 'Zed', runs the Actor, and copies the lore and tags straight into their script notes.
Why choose this scraper
| What you get | |
|---|---|
| No Riot API key | Reads the public Data Dragon CDN directly, no registration or rate limits. |
| 22 locales | Champion names, titles, and lore in the language your audience reads. |
| Patch-pinnable | Lock a dataset to one patch for reproducible analysis or historical comparisons. |
| Flat row per champion | Every record lands in your dataset with a fixed schema, ready for Excel or a database. |
How it compares
This Actor focuses on static champion definitions from the Data Dragon CDN, while the MCP Server targets live player and match data, and the other champion scraper offers a different field set.
| Feature | ParseForge | League of Legends MCP Server | Lol Champions Scraper |
|---|---|---|---|
| Champion base stats (HP, attack, defense, magic) | Yes | Not listed | Yes |
| Champion lore and title text | Yes | Not listed | Yes |
| 22 locale options | Yes | Not listed | Not listed |
| Patch version pinning | Yes | Not listed | Not listed |
| Single champion fetch | Yes | Not listed | Not listed |
| No Riot API key required | Yes | Yes | Yes |
| Live player match history | Not listed | Yes | Not listed |
Configure the run
Drive the Actor with an optional champion id, a locale code, and a patch version. Filters run before the request so only the records you need are downloaded. The Input tab lists every parameter.
A first run with the defaults:
{
"locale": "en_US",
"maxItems": 10
}
A larger pull:
{
"locale": "en_US",
"maxItems": 200
}
Pricing
Pay-per-result: $0.0085 per result collected. You pay only for the results written to your dataset.
| Results collected | Approximate cost |
|---|---|
| 100 results | $0.85 |
| 1,000 results | $8.50 |
| 10,000 results | $85.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
- Create a free Apify account with $5 in credit.
- Open the League of Legends Champion Scraper.
- Set your inputs and any filters, then click Start.
- 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 League of Legends Data Dragon 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/ddragon-lol-scraper"
Then prompt it in plain language to run the scraper and read back the results.
Troubleshooting
Why am I getting no results?
Check the champion id spelling. It must match the Data Dragon id exactly, such as 'Aatrox' not 'Aatrox '. Also confirm the patch version exists on the CDN; try leaving it empty to use the latest patch.
The locale text looks wrong or is missing.
Make sure you selected a valid locale code from the dropdown. Not all text fields are translated into every language; some may fall back to English when a translation is absent.
I entered a patch version but got an error.
Verify the format matches Riot's convention, such as 14.10.1. Older patches may have been removed from the CDN. Try a more recent version or leave the field empty for the latest.
The run is slow or times out.
Lower the maxItems value to fetch fewer champions. If you need the full roster, the run should complete within a few minutes because the CDN is fast.
My dataset has duplicate rows.
The Actor returns each champion once per run. If you see duplicates, check whether you ran the Actor multiple times and concatenated the datasets without deduplication.
FAQ
| Question | Answer |
|---|---|
| Do I need a Riot API key? | No. This Actor reads the public Data Dragon CDN, which does not require a key, login, or application registration. |
| What is Data Dragon? | Data Dragon is Riot's official content delivery network that hosts static game data such as champion stats, icons, and localized text for every patch. |
| Which fields does each row contain? | Each row includes the champion id, name, title, lore, resource type, base stats (HP, attack, defense, magic), tags, the locale, and the patch version it was fetched from. |
| Can I get data in Korean or Chinese? | Yes. Set the locale to ko_KR for Korean, zh_CN for Simplified Chinese, or zh_TW for Traditional Chinese. All 22 Riot-supported locales are available. |
| How do I fetch only one champion? | Fill in the Single Champion field with the champion's id, such as 'Ahri' or 'Lee Sin'. The Actor will return only that record. |
| Can I scrape an older patch? | Yes. Enter the patch string in the Patch Version field, for example 14.10.1. The CDN keeps historical versions available. |
| What happens if I leave the patch version empty? | The Actor fetches the latest live patch automatically, so you always get current data without updating your input. |
| How many champions can I collect in one run? | Set maxItems to the number you need. The full roster is around 170 champions, and you can collect up to 1,000,000 records per run. |
| What export formats are supported? | Your dataset can be exported to CSV, JSON, Excel, or XML from the Apify platform after the run finishes. |
| Does this include item or rune data? | This Actor focuses on champion data only. Items, runes, and other game data are not included in the current version. |
| Is this faster than downloading the tarball myself? | Yes. The Actor fetches only the champion JSON you request and flattens it into rows, saving you the download, extraction, and parsing steps. |
| Can I schedule this to run every patch? | Yes. Use Apify's scheduler to run the Actor automatically after each patch release, and you will have an up-to-date dataset waiting for you. |
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 Riot Games, Inc. 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
| Field | Type | What it does | Default |
|---|---|---|---|
| locale | string (22 options) | Data Dragon locale code for champion text fields. | en_US |
| maxItems | integer | Maximum number of records to collect per run. | 10 |
| version | string | Optional Data Dragon patch (e.g. 14.10.1). Leave empty for latest. | not set |
| champion | string | Optional. If set, only fetch this champion id (e.g. Aatrox, Ahri). | not set |
Pricing
from $7.50 per 1,000 results
| Charged for | What it is | Price each |
|---|---|---|
| result | Single result in the default dataset. | $0.0075 to $0.0085 |
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.
curl -X POST "https://api.apify.com/v2/acts/parseforge~ddragon-lol-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"helloWorld": 123
}' Examples
Input that runs as-is.
{
"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 League of Legends Champion Scraper on Apify All scrapers
