CurseForge API

Base: https://api.curseforge.com/v1

CurseForge Modpacks API (classId=4471) — search, details, and file downloads.

Handler: CurseForgeProvider
GET /mods/search

Search Modpacks

Search CurseForge modpacks

Parameter

Name Type Required Description
x-api-key string Yes Your CurseForge API key
gameId integer Yes Game ID (432=Minecraft)
classId integer No Class ID (4471=Modpacks)
searchFilter string No Search keyword
pageSize integer No Results per page (max 50)
index integer No Pagination offset

Response Example

{"data":[{"id":261725,"name":"RLCraft","slug":"rlcraft","summary":"A modpack designed around survival","downloadCount":30000000,"classId":4471}],"pagination":{"index":0,"pageSize":20,"totalCount":500}}

cURL

curl -H "x-api-key: YOUR_KEY" "https://api.curseforge.com/v1/mods/search?gameId=432&classId=4471&searchFilter=rlcraft&pageSize=5"
GET /mods/{modId}

Get Modpack Details

Fetch full modpack info

Parameter

Name Type Required Description
x-api-key string Yes Your CurseForge API key
modId integer Yes CurseForge modpack ID

Response Example

{"data":{"id":261725,"name":"RLCraft","slug":"rlcraft","summary":"A modpack designed around survival","downloadCount":30000000}}

cURL

curl -H "x-api-key: YOUR_KEY" "https://api.curseforge.com/v1/mods/261725"
GET /mods/{modId}/files

Get Modpack Files

List modpack versions/files

Parameter

Name Type Required Description
x-api-key string Yes Your CurseForge API key
modId integer Yes CurseForge modpack ID
gameVersion string No Filter by MC version

Response Example

{"data":[{"id":4500000,"displayName":"RLCraft-1.12.2-2.9.2.zip","fileName":"RLCraft-1.12.2-2.9.2.zip","downloadUrl":"https://edge.forgecdn.net/...","gameVersions":["1.12.2","Forge"]}]}

cURL

curl -H "x-api-key: YOUR_KEY" "https://api.curseforge.com/v1/mods/261725/files"