curseforge.com APIcurseforge.com ↗
Access CurseForge game mods, modpacks, files, and dependency graphs via a structured API. Search projects, list categories, and fetch version details.
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 download stats.
No input parameters required.
{
"type": "object",
"fields": {
"games": "array of game objects with name, slug, url, thumbnail, and stats",
"total": "integer total number of games"
},
"sample": {
"data": {
"games": [
{
"url": "https://www.curseforge.com/minecraft",
"name": "Minecraft",
"slug": "minecraft",
"stats": {
"mods": "277.5K",
"downloads": "112.5B"
},
"thumbnail": "https://media.forgecdn.net/game-box-art/432_bc6c42ce-5dd9-496a-a5cd-a51cf3584008.jpg"
}
],
"total": 120
},
"status": "success"
}
}About the curseforge.com API
This API exposes 6 endpoints covering CurseForge's full project catalog — games, mods, modpacks, texture packs, and their associated files and dependencies. Use search_projects to find mods across Minecraft, World of Warcraft, The Sims 4, and dozens of other supported games, filtering by category, sort order, and game version. Each response returns structured fields including download counts, mod loaders, project slugs, and canonical URLs.
Browsing Games and Categories
list_games returns every game CurseForge supports, with each game object including a slug, thumbnail, and aggregate download stats. That slug is the required input for most other endpoints. Before running a search, call get_categories with a game and class (e.g., minecraft / mc-mods) to retrieve valid slug values for the category filter — passing an invalid category slug to search_projects will silently return unfiltered results.
Searching and Inspecting Projects
search_projects accepts up to six parameters: game, class, query, sort_by, category, and page. Results come back in pages of up to 20 items, each containing a project's name, slug, description, author, and stats such as total downloads. The sort_by field accepts relevancy, popularity, creation, updated, name, or downloads. To get the full project description as HTML, call get_project_details with the same game, class, and the slug from the search result. The details object includes game_versions, mod_loaders, license, project_id, and categories.
Files and Dependency Graph
get_project_files returns every downloadable release for a project. Each file object includes type (e.g., release or beta), version, loader, size, date, and per-file downloads. This is useful for resolving which file matches a specific Minecraft version and loader (Forge, Fabric, NeoForge). get_project_relations maps the dependency graph in both directions: set relation_type to dependencies to see what a mod requires, or dependents to see which other mods list it as a requirement. Each relation object carries the related project's slug, thumbnail, downloads, and updated timestamp.
- Build a mod compatibility checker that resolves
dependenciesfor a given modpack usingget_project_relations. - Track download growth over time by periodically calling
search_projectssorted bydownloadsfor a specific game. - Generate a mod catalog for a launcher app by paginating
search_projectsacross all categories returned byget_categories. - Identify the latest stable release for a mod targeting a specific
versionandloaderviaget_project_files. - Index all CurseForge-supported games and their mod counts using the
statsfield fromlist_games. - Map the full dependency tree of a large modpack by recursively calling
get_project_relationswithrelation_type=dependencies. - Filter texture packs by category and sort by
updatedto surface recently maintained resources for a game.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. 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_details` return beyond what `search_projects` already includes?+
search_projects returns summary fields — name, slug, author, thumbnail, and aggregate stats. get_project_details adds description_html (the full formatted project description), license, project_id, game_versions, mod_loaders, and the complete categories list. You need the game, class, and slug from a search result to call it.Are user comments, reviews, or ratings for projects available?+
How does pagination work for `search_projects` and `get_project_relations`?+
page parameter (starting at 1 or 0 depending on your test) to step through results. The total field in the response reflects the count of items on the current page, not the total across all pages, so you cannot determine total project count from a single call.Can I retrieve a project's changelog or patch notes for individual files?+
get_project_files returns per-file metadata including name, type, version, loader, size, date, and downloads, but not changelog text. You can fork this API on Parse and revise it to add a file changelog endpoint.