CurseForge APIcurseforge.com ↗
Access CurseForge mod data via API. Search projects, retrieve file listings, version info, dependencies, and categories across all supported games.
What is the CurseForge API?
This API exposes 7 endpoints covering CurseForge's catalog of game mods, modpacks, and addons. Starting with list_games, you can enumerate every supported game alongside its mod count and total download figures, then drill into projects using search_projects or get_project_details to retrieve fields like license, mod loaders, categories, and project ID. File-level data including version, size, loader compatibility, and download URL is available through get_project_files and get_files_by_ids.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/f806094d-902d-4b71-ae23-e90d3dfe4ea5/list_games' \ -H 'X-API-Key: $PARSE_API_KEY'
List all games supported on CurseForge with their mod counts and total download stats. Returns all games in a single page. Each game has a slug usable as input to other endpoints.
No input parameters required.
{
"type": "object",
"fields": {
"games": "array of game objects with name, slug, url, thumbnail, mod_count, and download_count",
"total": "integer total number of games"
},
"sample": {
"data": {
"games": [
{
"url": "https://www.curseforge.com/minecraft",
"name": "Minecraft",
"slug": "minecraft",
"mod_count": "284.5K",
"thumbnail": "https://media.forgecdn.net/game-box-art/432_bc6c42ce-5dd9-496a-a5cd-a51cf3584008.jpg",
"download_count": "115.1B"
}
],
"total": 125
},
"status": "success"
}
}About the CurseForge API
Game and Project Discovery
list_games returns every game on CurseForge in a single call, giving you each game's name, slug, thumbnail, mod_count, and download_count. The slug field feeds directly into all other endpoints that require a game parameter. To find projects within a game, search_projects accepts a game slug, a class slug (e.g., mc-mods, modpacks, texture-packs, bukkit-plugins), a free-text query, a category filter, a sort_by option, and a page integer for pagination. Each result includes name, slug, author, description, url, thumbnail, and a stats block.
Project Details and File Listings
get_project_details takes a game, class, and slug — all available from search_projects results — and returns the full project record: created, updated, downloads, license, categories array, mod_loaders array, and the numeric project_id. get_project_files lists the most recent files for a project (up to 20 per call), each with type, name, url, date, size, version, loader, and downloads. An optional filter parameter performs a case-insensitive name match, useful for isolating Forge-only or Fabric-only builds from a mixed file list.
Targeted File Lookup and Relations
When you already have specific file IDs — obtainable from get_project_files results — get_files_by_ids accepts a comma-separated file_ids string and returns one record per ID including the direct download url. Entries that resolve to a 404 include an error field, so partial results are still usable. get_project_relations surfaces dependencies and dependents for any project, returning relation objects with name, slug, thumbnail, downloads, updated, and relation_type. This makes it straightforward to walk a dependency graph.
Category Browsing
get_categories accepts optional game and class parameters and returns a flat list of category objects, each with a name and slug. Those slugs map directly to the category filter parameter in search_projects, enabling faceted browsing by topics like magic, technology, or storage within any game's project class.
The CurseForge API is a managed, monitored endpoint for curseforge.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when curseforge.com 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 curseforge.com 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.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a mod compatibility checker by combining
get_project_detailsmod loader data withget_project_relationsdependency lists. - Track total download milestones for a game's mod ecosystem using the
download_countfield fromlist_games. - Automate a Minecraft modpack update notifier by polling
get_project_filesfor new file dates and version strings. - Populate a searchable mod directory filtered by category using
get_categoriesslugs as inputs tosearch_projects. - Identify the most-downloaded mods in a given category by combining
search_projectscategory filter with thestatsfield on each result. - Resolve a batch of known file IDs to direct download URLs using
get_files_by_idsfor headless pack installation scripts. - Map the dependency graph of a large modpack by recursively calling
get_project_relationson each discoveredslug.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 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.
Does CurseForge have an official developer API?+
What does `get_project_files` return, and how does the filter parameter work?+
get_project_files returns up to 20 of the most recent files for a project. Each file object includes type, name, url, date, size, version, loader, and downloads. The optional filter parameter is applied case-insensitively against the file name — for example, passing Fabric will exclude files whose names don't contain that string. The total field in the response reflects the count after filtering.Does the API expose user reviews, comments, or forum posts for a project?+
Is pagination available across all endpoints?+
search_projects supports a page integer parameter for stepping through results 20 at a time. get_project_files and get_project_relations return up to 20 results but do not currently expose a page parameter for deeper pagination. You can fork this API on Parse and revise those endpoints to add pagination support.Does `get_project_details` return the full description body of a mod?+
description field containing the project's description HTML. It also returns structured metadata — categories, mod_loaders, license, downloads, created, and updated — but the full rendered long-form description content depends on what the project page exposes in that field.