CurseForge Mods Scraper | Export Minecraft Mod Data CSV/JSON avatar

CurseForge Mods Scraper | Export Minecraft Mod Data CSV/JSON

Pricing

from $19.00 / 1,000 results

Go to Apify Store
CurseForge Mods Scraper | Export Minecraft Mod Data CSV/JSON

CurseForge Mods Scraper | Export Minecraft Mod Data CSV/JSON

Scrape Minecraft mods from CurseForge. Export mod details, downloads, authors, files, categories, game versions, and mod loader info as CSV, Excel, JSON, or XML.

Pricing

from $19.00 / 1,000 results

Rating

0.0

(0)

Developer

ParseForge

ParseForge

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 hours ago

Last modified

Share

ParseForge Banner

🔥 CurseForge Mods Scraper

🚀 Export Minecraft mod data from CurseForge in seconds. Mod name, slug, downloads, categories, loader, supported MC versions, license, author, main file URL, screenshots, and the full description - straight to CSV, Excel, JSON, or XML.

🕒 Last updated: 2026-05-22 · 📊 23 fields per record · 150K+ mods available on CurseForge · All Minecraft versions and loaders

The CurseForge Mods Scraper turns the public CurseForge Minecraft Mods catalog into a clean, structured dataset. It fetches each mod's server-rendered detail page (no API key required, no Cloudflare key needed from you) and parses the embedded React Server Components payload to surface every field the public page exposes.

Coverage spans 52 official Minecraft mod categories (Adventure & RPG, Magic, Storage, Technology, Performance, Utility & QoL, Map and Information, Tinker's Construct, Create, Refined Storage, and more), 7 mod loaders (Forge, Fabric, NeoForge, Quilt, LiteLoader, Cauldron, Any), and every Minecraft release version from 1.7.10 up to the current 1.21.x line.

🎯 Target Audience💡 Primary Use Cases
🎮 Modpack creatorsIdentify popular mods by loader and MC version
🛠️ Launcher and tool developersMirror CurseForge metadata into your own DB
📊 Data analystsTrack download counts, loader market share, license trends
🎥 Content creatorsFind the top-downloaded mods for a specific version before recording
🏢 Server operatorsAudit which mods are compatible with your server stack
🤖 AI / ML teamsBuild a corpus of mod descriptions and metadata

📋 What the CurseForge Mods Scraper does

  • Fetches the CurseForge /minecraft/mc-mods listing or /search?search=... page with a real Chrome TLS fingerprint.
  • Extracts the slug of every mod the SSR page surfaces (up to 20 per query).
  • Visits each mod's detail page and parses the embedded RSC payload for the full project record.
  • Applies post-fetch filters for categoryIds, gameVersions, and modLoaderTypes against the surfaced set.
  • Flattens everything into a 23-field record with imageUrl first and error last.
  • Exports as CSV, Excel, JSON, JSONL, XML, RSS, or HTML.

💡 Why it matters: the official CurseForge API requires a private API key and the internal web API is hard-locked behind Cloudflare bot management. This actor uses the public detail pages directly - the data you'd see in a browser, without needing your own key or cf_clearance cookie.

🎬 Full Demo

🚧 Coming soon.

⚙️ Input

FieldTypeRequiredDescription
searchQuerystringNoFree-text search (e.g. jei, magic, storage). Leave empty to pull the default popular listing. Prefill: jei.
maxItemsintegerNoFree users: 10. Paid users: up to 1,000,000. Per-query soft cap: ~20 mods (see caveat). Prefill: 10.
sortFieldenumNoFeatured, Popularity, LastUpdated, Name, Author, TotalDownloads. Default: Popularity.
categoryIdsstring[]No52 official CurseForge categories: Adventure & RPG, API and Library, Magic, Storage, Technology, Performance, Utility & QoL, Cosmetic, Create, Tinker's Construct, Twilight Forest, Refined Storage, and more.
gameVersionsstring[]NoFree-text MC versions, e.g. 1.21.1, 1.20.1.
modLoaderTypesstring[]NoForge, Fabric, NeoForge, Quilt, LiteLoader, Cauldron, Any.

Example 1 - search for JEI:

{
"searchQuery": "jei",
"maxItems": 10,
"sortField": "Popularity"
}

Example 2 - magic mods on Forge for 1.20.1:

{
"searchQuery": "magic",
"maxItems": 20,
"sortField": "TotalDownloads",
"categoryIds": ["magic"],
"gameVersions": ["1.20.1"],
"modLoaderTypes": ["Forge"]
}

⚠️ Good to Know: CurseForge only server-renders the first 20 mods of any listing; the rest is hydrated client-side via a Cloudflare-protected internal API. This scraper returns up to ~20 mods per query. To widen coverage, run multiple queries with different searchQuery terms - that's the recommended workflow. categoryIds, gameVersions, and modLoaderTypes are applied as post-fetch filters on the surfaced set so the input remains honest.

📊 Output

Each record is a flat object. imageUrl is always first, error is always last.

FieldTypeDescription
🖼️ imageUrlstringMod avatar URL (CDN).
📌 namestringDisplay name of the mod.
🔖 slugstringURL-safe slug.
🔗 urlstringCanonical CurseForge mod page.
🆔 idnumberCurseForge project ID.
📝 summarystringShort tagline / one-liner.
🏷️ primaryCategorystringTop-level class (always Mods for this actor).
🏷️ categoriesstring[]All categories the mod belongs to.
👤 authorstringPrimary author username.
👥 membersobject[]All project members with name and role.
🧩 modLoaderstringMain file's mod loader (Forge / Fabric / NeoForge / Quilt / ...).
🎮 gameVersionstringMain file's primary MC version.
🎮 gameVersionsstring[]All MC versions the main file targets.
⬇️ downloadCountnumberLifetime project download count.
📜 licenseTypestringLicense name (e.g. MIT License, Custom License).
📅 dateCreatedISO 8601Project creation date.
🔄 updateDateISO 8601Project last-update date.
🔗 linksobject{ website, wiki, issues, source, donation }.
📦 mainFileobject{ id, fileName, displayName, fileLength, releaseType, primaryGameVersion, gameVersions, modLoader, dateCreated, dateModified }.
🖼️ screenshotsstring[]Screenshot image URLs.
📄 descriptionstringFull HTML description from the project page.
🕒 scrapedAtISO 8601When this row was scraped.
errorstring|nullPer-record error (null on success).

Sample record (JEI):

{
"imageUrl": "https://media.forgecdn.net/avatars/thumbnails/29/69/256/256/635838945588716414.jpeg",
"name": "Just Enough Items (JEI)",
"slug": "jei",
"url": "https://www.curseforge.com/minecraft/mc-mods/jei",
"id": 238222,
"summary": "View Items and Recipes",
"primaryCategory": "Mods",
"categories": ["Map and Information", "API and Library"],
"author": "mezz",
"members": [
{ "name": "mezz", "role": "Owner" },
{ "name": "CFGrafanaStats", "role": "Mascot" }
],
"modLoader": "NeoForge",
"gameVersion": "1.21.1",
"gameVersions": ["1.21.1", "1.21"],
"downloadCount": 573555876,
"licenseType": "MIT License",
"dateCreated": "2015-11-23T23:00:41.000Z",
"updateDate": "2026-05-18T13:29:37.000Z",
"mainFile": {
"fileName": "jei-1.21.1-neoforge-19.27.0.336.jar",
"displayName": "19.27.0.336 for NeoForge 1.21.1",
"fileLength": 1529192,
"modLoader": "NeoForge"
},
"scrapedAt": "2026-05-22T23:22:20.754Z",
"error": null
}

Sample record (Distraction Free Recipes):

{
"imageUrl": "https://media.forgecdn.net/avatars/thumbnails/1145/593/256/256/638711642517202621.png",
"name": "Distraction Free Recipes (EMI / REI / JEI)",
"slug": "distraction-free-recipes",
"id": 1167848,
"summary": "Automatically hides the recipe viewer when not searching.",
"categories": ["Utility & QoL", "Performance", "Cosmetic"],
"author": "Txni",
"modLoader": "Fabric",
"gameVersion": "1.21.1",
"downloadCount": 17212679,
"licenseType": "Custom License"
}

✨ Why choose this Actor

✨ FeatureWhat it gets you
🔓 No API key requiredYou don't need a CurseForge x-api-key or a cf_clearance cookie.
🛡️ Real Chrome TLS fingerprintUses impit so detail pages return 200, not 403.
📦 Full project recordAuthors, members, main file, screenshots, HTML description, license.
🧩 Mod-only scopeLocked to classId=6 (Mods). Modpacks, resourcepacks, shaders excluded.
📊 23 fields per recordFar beyond what the CurseForge UI shows on a single screen.
🎯 Honest paginationThe README and input description make the per-query cap clear up front.

📈 How it compares to alternatives

ApproachFree?FieldsCoverageEffort
Manually copy from curseforge.com~5Browsing limitHours of clicking
CurseForge Core API❌ (requires key + approval)FullFullAPI key application + integration code
Internal web API❌ (Cloudflare-locked)FullFullcf_clearance reverse-engineering
CurseForge Mods Scraper✅ ($5 trial credit)23~20 per query, run many queries1 click

🚀 How to use

  1. Sign up. Create a free Apify account w/ $5 credit.
  2. Open the CurseForge Mods Scraper page.
  3. Set inputs. Type a searchQuery and pick a sort field. Optionally add categoryIds, gameVersions, modLoaderTypes.
  4. Run. Click Start. Free users get 10 items, paid users up to 1,000,000 (in batches of ~20 per query).
  5. Export. Download the dataset as CSV, Excel, JSON, JSONL, XML, RSS, or HTML.

💼 Business use cases

🎒 Modpack curation

Pull the top mods for Minecraft 1.20.1 Forge by search topic - performance, magic, storage, technology - and seed your modpack manifest with the mainFile info per row.

📊 Catalog analytics

Track download growth over time across loaders and MC versions. Run on a schedule and pipe to BigQuery / Snowflake.

🧩 Launcher / store integration

Mirror a curated slice of the CurseForge catalog into your own launcher or store front. No API key approval needed.

🤖 AI dataset / RAG corpus

Index the description HTML for an AI assistant that recommends mods, compares alternatives ("Forge vs Fabric versions of X"), or explains mod compatibility.

🔌 Automating CurseForge Mods Scraper

  • Make (Integromat) - schedule a weekly pull, push CSV to Google Sheets.
  • Zapier - Slack alert when a tracked mod hits a download milestone.
  • Slack - daily digest of newest mods for a specific MC version.
  • Airbyte - sync the dataset into your warehouse.
  • GitHub Actions - commit JSON snapshots to a repo on a cron.
  • Google Drive / Dropbox / S3 - drop the export into a folder.
  • Webhooks - POST dataset URLs anywhere.

🌟 Beyond business use cases

🔬 Research

Compare CurseForge and Modrinth catalogs. Study which mods exist on both, which are exclusive, license distribution, author overlap.

🎮 Personal projects

Discord bots, personal launchers, modpack recommendation tools, "best of 2026" Reddit posts.

🤝 Non-profit / education

Use the dataset to teach data analysis with a topic students actually care about.

🧪 Experimentation

Train embeddings on mod descriptions. Cluster by category overlap. LLM-generate modpack themes from a filtered set.

🤖 Ask an AI assistant about this scraper

Paste this into ChatGPT, Claude, Perplexity, or Copilot:

"Help me design a series of input queries for the ParseForge CurseForge Mods Scraper to build a 200-mod dataset of popular Forge 1.20.1 magic and tech mods, knowing the scraper returns up to 20 results per query."

❓ Frequently Asked Questions

🔑 Do I need a CurseForge API key?

No. The actor uses the public detail pages directly. No x-api-key and no cf_clearance cookie are required from you.

🤔 Why does each query return at most ~20 mods?

CurseForge only server-renders the first 20 mods on any listing. The remaining results are hydrated client-side via a Cloudflare-protected internal API that hard-blocks every non-browser client. To pull more, run multiple queries with different searchQuery terms.

🎮 Does it scrape modpacks, resourcepacks, or shaders?

No. Scope is locked to classId=6 (Mods only). Modpacks (4471), resourcepacks (12), shaders, and addons categories are excluded by design.

🧩 What loaders are supported?

Forge, Fabric, NeoForge, Quilt, LiteLoader, Cauldron, and Any.

🎯 What MC versions does it support?

Every version CurseForge tags, from 1.7.10 (legacy) through the current 1.21.x line. Pass them as strings like 1.21.1.

📦 Does the output include a download URL?

Yes. mainFile.downloadUrl is included where CurseForge surfaces it on the page, alongside fileName, displayName, and fileLength.

📊 How many fields per record?

23 fields. See the Output section.

🆓 What do free users get?

Up to 10 items per run on a $5 trial credit. Paid users can run as many queries as needed and pull up to 1,000,000 items total.

🔄 How often is the data refreshed?

Live on every run. The actor fetches CurseForge in real time.

🌍 Does this use proxies?

The actor uses impit (Chrome TLS fingerprint) on Apify infrastructure. No residential proxies required for detail-page fetches.

⚠️ Is this affiliated with CurseForge or Overwolf?

No. This is an independent tool. It is not endorsed by or affiliated with Overwolf or CurseForge.

📥 What export formats are available?

CSV, Excel (XLSX), JSON, JSONL, XML, RSS, and HTML.

🔌 Integrate with any app

Apify natively integrates with Make, Zapier, n8n, Slack, Discord, Airbyte, Keboola, Google Drive, Google Sheets, Dropbox, AWS S3, GitHub, GitLab, generic webhooks, and the Apify API / SDK (Python, JavaScript, CLI).

ActorWhat it does
Modrinth Mods ScraperPull the same kind of data from Modrinth's official v2 API.
Steam Store ScraperGame prices, reviews, and metadata from Steam.
GitHub Repo ScraperRepo metadata, stars, releases, contributors.
itch.io Games ScraperIndie game listings, tags, and prices from itch.io.
OurAirports Database ScraperFull global airport reference dataset.

💡 Pro Tip: browse the complete ParseForge collection for more catalog and marketplace scrapers.

🆘 Need Help? Open our contact form

⚠️ Disclaimer: this is an independent tool, not affiliated with Overwolf, CurseForge, or Mojang. Only publicly available data from the CurseForge website is collected. Respect the licenses of the mods you download.