Call us, not every catalogue
Your code talks to api.modpacks.ch. We handle the differences between CurseForge, Modrinth and the other catalogues we support.
Public API · v1
Ask Modpacks.ch once. We fetch and cache the project data, tidy up the differences between catalogues and return the fields your site, tool or launcher actually needs. Every result still says where it came from and links back to the official project page.
Your code talks to api.modpacks.ch. We handle the differences between CurseForge, Modrinth and the other catalogues we support.
Releases retain their game and loader targets. The loader route exposes the actual Forge, NeoForge, Fabric and Quilt versions available for a Minecraft version.
Popular responses are cached and refreshed in one place. A traffic spike doesn't need to ask every source for the same project all over again.
1 endpoints
Check whether the API is ready.
/health Health check Checks whether the API process is ready to receive requests.
curl --request GET 'https://api.modpacks.ch/health'stringOK24 endpoints
Find modpacks and inspect their files.
/public/modpack/browse/{filter} Browse modpacks Returns a paged list of modpacks. Filters can include loader, game version, tag, sort, and page segments.
curl --request GET 'https://api.modpacks.ch/public/modpack/browse/popular'| Name | In | Type | Description |
|---|---|---|---|
filter required | path | string | First filter, sort, tag, loader, or game version. |
ModpackApiDataResponsePayloadBrowsePayload{
"refreshed": 1710000000,
"status": "success",
"packs": [
{
"id": "100",
"name": "Example Pack",
"provider": "modpacks.ch",
"synopsis": "A short pack summary.",
"type": "release",
"updated": 1710000000,
"art": [
{
"type": "square",
"url": "https://example.com/art.png",
"mirrors": []
}
],
"authors": [
{
"id": 20,
"name": "Example Author",
"type": "team",
"website": "https://example.com",
"updated": 1710000000
}
],
"tags": [
{
"id": 10,
"name": "tech"
}
],
"installs": 1200
}
],
"page": "1",
"pages": 4
}/public/modpack/browse/{filter}/{secondFilter} Browse modpacks Returns a paged list of modpacks. Filters can include loader, game version, tag, sort, and page segments.
curl --request GET 'https://api.modpacks.ch/public/modpack/browse/popular/%7BsecondFilter%7D'| Name | In | Type | Description |
|---|---|---|---|
filter required | path | string | First filter, sort, tag, loader, or game version. |
secondFilter required | path | string | Optional second filter. |
ModpackApiDataResponsePayloadBrowsePayload{
"refreshed": 1710000000,
"status": "success",
"packs": [
{
"id": "100",
"name": "Example Pack",
"provider": "modpacks.ch",
"synopsis": "A short pack summary.",
"type": "release",
"updated": 1710000000,
"art": [
{
"type": "square",
"url": "https://example.com/art.png",
"mirrors": []
}
],
"authors": [
{
"id": 20,
"name": "Example Author",
"type": "team",
"website": "https://example.com",
"updated": 1710000000
}
],
"tags": [
{
"id": 10,
"name": "tech"
}
],
"installs": 1200
}
],
"page": "1",
"pages": 4
}/public/modpack/browse/{filter}/{secondFilter}/{thirdFilter} Browse modpacks Returns a paged list of modpacks. Filters can include loader, game version, tag, sort, and page segments.
curl --request GET 'https://api.modpacks.ch/public/modpack/browse/popular/%7BsecondFilter%7D/%7BthirdFilter%7D'| Name | In | Type | Description |
|---|---|---|---|
filter required | path | string | First filter, sort, tag, loader, or game version. |
secondFilter required | path | string | Optional second filter. |
thirdFilter required | path | string | Optional third filter. |
ModpackApiDataResponsePayloadBrowsePayload{
"refreshed": 1710000000,
"status": "success",
"packs": [
{
"id": "100",
"name": "Example Pack",
"provider": "modpacks.ch",
"synopsis": "A short pack summary.",
"type": "release",
"updated": 1710000000,
"art": [
{
"type": "square",
"url": "https://example.com/art.png",
"mirrors": []
}
],
"authors": [
{
"id": 20,
"name": "Example Author",
"type": "team",
"website": "https://example.com",
"updated": 1710000000
}
],
"tags": [
{
"id": 10,
"name": "tech"
}
],
"installs": 1200
}
],
"page": "1",
"pages": 4
}/public/modpack/browse/{filter}/{secondFilter}/{thirdFilter}/{sort} Browse modpacks Returns a paged list of modpacks. Filters can include loader, game version, tag, sort, and page segments.
curl --request GET 'https://api.modpacks.ch/public/modpack/browse/popular/%7BsecondFilter%7D/%7BthirdFilter%7D/popular'| Name | In | Type | Description |
|---|---|---|---|
filter required | path | string | First filter, sort, tag, loader, or game version. |
secondFilter required | path | string | Optional second filter. |
thirdFilter required | path | string | Optional third filter. |
sort required | path | string | Optional sort field: new, featured, updated, or popular. |
ModpackApiDataResponsePayloadBrowsePayload{
"refreshed": 1710000000,
"status": "success",
"packs": [
{
"id": "100",
"name": "Example Pack",
"provider": "modpacks.ch",
"synopsis": "A short pack summary.",
"type": "release",
"updated": 1710000000,
"art": [
{
"type": "square",
"url": "https://example.com/art.png",
"mirrors": []
}
],
"authors": [
{
"id": 20,
"name": "Example Author",
"type": "team",
"website": "https://example.com",
"updated": 1710000000
}
],
"tags": [
{
"id": 10,
"name": "tech"
}
],
"installs": 1200
}
],
"page": "1",
"pages": 4
}/public/modpack/browse/{filter}/{secondFilter}/{thirdFilter}/{sort}/{page} Browse modpacks Returns a paged list of modpacks. Filters can include loader, game version, tag, sort, and page segments.
curl --request GET 'https://api.modpacks.ch/public/modpack/browse/popular/%7BsecondFilter%7D/%7BthirdFilter%7D/popular/1'| Name | In | Type | Description |
|---|---|---|---|
filter required | path | string | First filter, sort, tag, loader, or game version. |
secondFilter required | path | string | Optional second filter. |
thirdFilter required | path | string | Optional third filter. |
sort required | path | string | Optional sort field: new, featured, updated, or popular. |
page required | path | string | Optional page number. |
ModpackApiDataResponsePayloadBrowsePayload{
"refreshed": 1710000000,
"status": "success",
"packs": [
{
"id": "100",
"name": "Example Pack",
"provider": "modpacks.ch",
"synopsis": "A short pack summary.",
"type": "release",
"updated": 1710000000,
"art": [
{
"type": "square",
"url": "https://example.com/art.png",
"mirrors": []
}
],
"authors": [
{
"id": 20,
"name": "Example Author",
"type": "team",
"website": "https://example.com",
"updated": 1710000000
}
],
"tags": [
{
"id": 10,
"name": "tech"
}
],
"installs": 1200
}
],
"page": "1",
"pages": 4
}/public/modpack/{id}/{versionid}/changelog Get version changelog Returns the changelog text for a modpack version.
curl --request GET 'https://api.modpacks.ch/public/modpack/238222/%7Bversionid%7D/changelog'| Name | In | Type | Description |
|---|---|---|---|
id required | path | integer (int32) | Parent modpack ID. |
versionid required | path | integer (int32) | Version ID. |
ModpackApiDataResponsePayloadChangelogPayload{
"status": "success",
"content": "Updated mods and configuration.",
"updated": 1710000000
}/public/modpack/{id} Get modpack Returns a full modpack record with metadata, artwork, authors, tags, links, versions, targets, recommendations, and rating data.
curl --request GET 'https://api.modpacks.ch/public/modpack/238222'| Name | In | Type | Description |
|---|---|---|---|
id required | path | integer (int32) | Modpack ID. |
ModpackApiDataResponsePayloadModpackPayload{
"synopsis": "A short pack summary.",
"description": "A longer pack description.",
"art": [
{
"id": 300,
"type": "square",
"updated": 1710000000,
"url": "https://example.com/art.png",
"mirrors": [],
"sha1": "0000000000000000000000000000000000000000",
"size": 1024,
"width": 512,
"height": 512,
"compressed": true
}
],
"links": [
{
"id": 30,
"name": "Website",
"link": "https://example.com",
"type": "website"
}
],
"authors": [
{
"id": 20,
"name": "Example Author",
"type": "team",
"website": "https://example.com",
"updated": 1710000000
}
],
"versions": [
{
"specs": {
"id": -1,
"minimum": 4096,
"recommended": 8192
},
"targets": [
{
"version": "1.20.1",
"id": 40,
"name": "minecraft",
"type": "game",
"updated": 1710000000
}
],
"private": false,
"id": 200,
"name": "1.0.0",
"type": "release",
"updated": 1710000000
}
],
"installs": 1200,
"plays": 3400,
"tags": [
{
"id": 10,
"name": "tech"
}
],
"featured": true,
"refreshed": 1710000000,
"notification": "",
"rating": {
"id": -1,
"configured": false,
"verified": false,
"age": 7,
"gambling": false,
"frightening": true,
"alcoholdrugs": false,
"nuditysexual": false,
"sterotypeshate": false,
"language": false,
"violence": true
},
"status": "success",
"released": 1710000000,
"provider": "modpacks.ch",
"plays_14d": 120,
"private": false,
"id": 100,
"name": "Example Pack",
"type": "release",
"updated": 1710000000
}/public/modpack/all List modpacks Returns modpack ID lists for all, new, featured, updated, or private modpacks.
curl --request GET 'https://api.modpacks.ch/public/modpack/all'ModpackApiDataResponsePayloadPackIdListPayload{
"packs": [
100,
101
],
"total": 2,
"limit": 25,
"refreshed": 1710000000,
"status": "success"
}/public/modpack/new/{limit} List modpacks Returns modpack ID lists for all, new, featured, updated, or private modpacks.
curl --request GET 'https://api.modpacks.ch/public/modpack/new/20'| Name | In | Type | Description |
|---|---|---|---|
limit required | path | integer (int32) | Maximum number of pack IDs to return. |
ModpackApiDataResponsePayloadPackIdListPayload{
"packs": [
100,
101
],
"total": 2,
"limit": 25,
"refreshed": 1710000000,
"status": "success"
}/public/modpack/featured/{limit} List modpacks Returns modpack ID lists for all, new, featured, updated, or private modpacks.
curl --request GET 'https://api.modpacks.ch/public/modpack/featured/20'| Name | In | Type | Description |
|---|---|---|---|
limit required | path | integer (int32) | Maximum number of pack IDs to return. |
ModpackApiDataResponsePayloadPackIdListPayload{
"packs": [
100,
101
],
"total": 2,
"limit": 25,
"refreshed": 1710000000,
"status": "success"
}/public/modpack/updated/{limit} List modpacks Returns modpack ID lists for all, new, featured, updated, or private modpacks.
curl --request GET 'https://api.modpacks.ch/public/modpack/updated/20'| Name | In | Type | Description |
|---|---|---|---|
limit required | path | integer (int32) | Maximum number of pack IDs to return. |
ModpackApiDataResponsePayloadPackIdListPayload{
"packs": [
100,
101
],
"total": 2,
"limit": 25,
"refreshed": 1710000000,
"status": "success"
}/public/modpack/popular/{metric}/{limitOrTag} Popular modpacks Returns popular modpack IDs by plays or installs, optionally limited to a tag or recent day range.
curl --request GET 'https://api.modpacks.ch/public/modpack/popular/%7Bmetric%7D/%7BlimitOrTag%7D'| Name | In | Type | Description |
|---|---|---|---|
metric required | path | string | Popularity metric: plays or installs. |
limitOrTag required | path | string | Maximum result count, tag, or game version. |
ModpackApiDataResponsePayloadPopularPacksPayload{
"packs": [
100,
101
],
"total": 2,
"type": "plays",
"limit": 25,
"status": "success",
"refreshed": 1710000000,
"days": 14
}/public/modpack/popular/{metric}/{limitOrTag}/{daysOrLimit} Popular modpacks Returns popular modpack IDs by plays or installs, optionally limited to a tag or recent day range.
curl --request GET 'https://api.modpacks.ch/public/modpack/popular/%7Bmetric%7D/%7BlimitOrTag%7D/%7BdaysOrLimit%7D'| Name | In | Type | Description |
|---|---|---|---|
metric required | path | string | Popularity metric: plays or installs. |
limitOrTag required | path | string | Maximum result count, tag, or game version. |
daysOrLimit required | path | string | Optional day range for count requests, or result count for tag requests. |
ModpackApiDataResponsePayloadPopularPacksPayload{
"packs": [
100,
101
],
"total": 2,
"type": "plays",
"limit": 25,
"status": "success",
"refreshed": 1710000000,
"days": 14
}/public/modpack/search/{mode} Search modpacks Searches modpacks using the term query parameter. Results can be returned as IDs, detailed pack cards, or filtered browse-style results.
curl --request GET 'https://api.modpacks.ch/public/modpack/search/%7Bmode%7D'| Name | In | Type | Description |
|---|---|---|---|
mode required | path | string | Result limit, or first filter for browse-style search. |
ModpackApiDataResponsePayloadSearchPayload{
"packs": [
100,
101
],
"curseforge": [
5000
],
"total": 3,
"limit": 25,
"refreshed": 1710000000
}/public/modpack/search/{mode}/{detailOrFilter} Search modpacks Searches modpacks using the term query parameter. Results can be returned as IDs, detailed pack cards, or filtered browse-style results.
curl --request GET 'https://api.modpacks.ch/public/modpack/search/%7Bmode%7D/%7BdetailOrFilter%7D'| Name | In | Type | Description |
|---|---|---|---|
mode required | path | string | Result limit, or first filter for browse-style search. |
detailOrFilter required | path | string | Use detailed for detailed results, or provide another filter. |
ModpackApiDataResponsePayloadSearchPayload{
"packs": [
100,
101
],
"curseforge": [
5000
],
"total": 3,
"limit": 25,
"refreshed": 1710000000
}/public/modpack/search/{mode}/{detailOrFilter}/{secondFilter} Search modpacks Searches modpacks using the term query parameter. Results can be returned as IDs, detailed pack cards, or filtered browse-style results.
curl --request GET 'https://api.modpacks.ch/public/modpack/search/%7Bmode%7D/%7BdetailOrFilter%7D/%7BsecondFilter%7D'| Name | In | Type | Description |
|---|---|---|---|
mode required | path | string | Result limit, or first filter for browse-style search. |
detailOrFilter required | path | string | Use detailed for detailed results, or provide another filter. |
secondFilter required | path | string | Optional second filter. |
ModpackApiDataResponsePayloadSearchPayload{
"packs": [
100,
101
],
"curseforge": [
5000
],
"total": 3,
"limit": 25,
"refreshed": 1710000000
}/public/modpack/search/{mode}/{detailOrFilter}/{secondFilter}/{sort} Search modpacks Searches modpacks using the term query parameter. Results can be returned as IDs, detailed pack cards, or filtered browse-style results.
curl --request GET 'https://api.modpacks.ch/public/modpack/search/%7Bmode%7D/%7BdetailOrFilter%7D/%7BsecondFilter%7D/popular'| Name | In | Type | Description |
|---|---|---|---|
mode required | path | string | Result limit, or first filter for browse-style search. |
detailOrFilter required | path | string | Use detailed for detailed results, or provide another filter. |
secondFilter required | path | string | Optional second filter. |
sort required | path | string | Optional sort field for browse-style search. |
ModpackApiDataResponsePayloadSearchPayload{
"packs": [
100,
101
],
"curseforge": [
5000
],
"total": 3,
"limit": 25,
"refreshed": 1710000000
}/public/modpack/search/{mode}/{detailOrFilter}/{secondFilter}/{sort}/{page} Search modpacks Searches modpacks using the term query parameter. Results can be returned as IDs, detailed pack cards, or filtered browse-style results.
curl --request GET 'https://api.modpacks.ch/public/modpack/search/%7Bmode%7D/%7BdetailOrFilter%7D/%7BsecondFilter%7D/popular/1'| Name | In | Type | Description |
|---|---|---|---|
mode required | path | string | Result limit, or first filter for browse-style search. |
detailOrFilter required | path | string | Use detailed for detailed results, or provide another filter. |
secondFilter required | path | string | Optional second filter. |
sort required | path | string | Optional sort field for browse-style search. |
page required | path | string | Optional page number. |
ModpackApiDataResponsePayloadSearchPayload{
"packs": [
100,
101
],
"curseforge": [
5000
],
"total": 3,
"limit": 25,
"refreshed": 1710000000
}/public/modpack/{id}/{versionid}/server/{platform} Download server installer Downloads the platform-specific server installer binary for a modpack version.
curl --request GET 'https://api.modpacks.ch/public/modpack/238222/%7Bversionid%7D/server/%7Bplatform%7D'| Name | In | Type | Description |
|---|---|---|---|
id required | path | integer (int32) | Parent modpack ID. |
versionid required | path | integer (int32) | Version ID. |
platform required | path | string | Target platform: linux, mac, freebsd, or windows. |
string (binary)TVoAAA==/public/modpack/{id}/{versionid}/server/{arch}/{platform} Download server installer Downloads the platform-specific server installer binary for a modpack version.
curl --request GET 'https://api.modpacks.ch/public/modpack/238222/%7Bversionid%7D/server/%7Barch%7D/%7Bplatform%7D'| Name | In | Type | Description |
|---|---|---|---|
id required | path | integer (int32) | Parent modpack ID. |
versionid required | path | integer (int32) | Version ID. |
arch required | path | string | Optional architecture, such as arm or arm64. |
platform required | path | string | Target platform: linux, mac, freebsd, or windows. |
string (binary)TVoAAA==/public/modpack/{id}/{versionid} Get modpack version Returns a full modpack version record, including targets, files, recommendations, changelog text, and provider metadata where available.
curl --request GET 'https://api.modpacks.ch/public/modpack/238222/%7Bversionid%7D'| Name | In | Type | Description |
|---|---|---|---|
id required | path | integer (int32) | Parent modpack ID. |
versionid required | path | integer (int32) | Version ID. The resolve route can be used when only the version ID is known. |
ModpackApiDataResponsePayloadVersionPayload{
"status": "success",
"installs": 1200,
"plays": 3400,
"refreshed": 1710000000,
"changelog": "Updated mods and configuration.",
"parent": 100,
"notification": "",
"links": [
{
"id": 30,
"name": "Website",
"link": "https://example.com",
"type": "website"
}
],
"targets": [
{
"version": "1.20.1",
"id": 40,
"name": "minecraft",
"type": "game",
"updated": 1710000000
}
],
"specs": {
"id": -1,
"minimum": 4096,
"recommended": 8192
},
"files": [
{
"version": "1.0.0",
"path": "mods/",
"url": "https://example.com/example-mod.jar",
"mirrors": [],
"sha1": "1111111111111111111111111111111111111111",
"size": 2048,
"tags": [
{
"id": 10,
"name": "tech"
}
],
"clientonly": false,
"serveronly": false,
"optional": false,
"curseforge": {
"project": "5000",
"file": "6000"
},
"id": 6000,
"name": "example-mod.jar",
"type": "mod",
"updated": 1710000000
}
],
"private": false,
"id": 200,
"name": "1.0.0",
"type": "release",
"updated": 1710000000
}/public/modpack/resolve/{versionid} Get modpack version Returns a full modpack version record, including targets, files, recommendations, changelog text, and provider metadata where available.
curl --request GET 'https://api.modpacks.ch/public/modpack/resolve/%7Bversionid%7D'| Name | In | Type | Description |
|---|---|---|---|
versionid required | path | integer (int32) | Version ID. The resolve route can be used when only the version ID is known. |
ModpackApiDataResponsePayloadVersionPayload{
"status": "success",
"installs": 1200,
"plays": 3400,
"refreshed": 1710000000,
"changelog": "Updated mods and configuration.",
"parent": 100,
"notification": "",
"links": [
{
"id": 30,
"name": "Website",
"link": "https://example.com",
"type": "website"
}
],
"targets": [
{
"version": "1.20.1",
"id": 40,
"name": "minecraft",
"type": "game",
"updated": 1710000000
}
],
"specs": {
"id": -1,
"minimum": 4096,
"recommended": 8192
},
"files": [
{
"version": "1.0.0",
"path": "mods/",
"url": "https://example.com/example-mod.jar",
"mirrors": [],
"sha1": "1111111111111111111111111111111111111111",
"size": 2048,
"tags": [
{
"id": 10,
"name": "tech"
}
],
"clientonly": false,
"serveronly": false,
"optional": false,
"curseforge": {
"project": "5000",
"file": "6000"
},
"id": 6000,
"name": "example-mod.jar",
"type": "mod",
"updated": 1710000000
}
],
"private": false,
"id": 200,
"name": "1.0.0",
"type": "release",
"updated": 1710000000
}/public/modpack/{id}/{versionid}/mods Get version mods Returns the mod metadata associated with a modpack version.
curl --request GET 'https://api.modpacks.ch/public/modpack/238222/%7Bversionid%7D/mods'| Name | In | Type | Description |
|---|---|---|---|
id required | path | integer (int32) | Parent modpack ID. |
versionid required | path | integer (int32) | Version ID. |
ModpackApiDataResponsePayloadVersionModsPayload{
"status": "success",
"installs": 1200,
"plays": 3400,
"refreshed": 1710000000,
"changelog": "",
"parent": 100,
"notification": "",
"links": [],
"targets": [
{
"version": "1.20.1",
"id": 40,
"name": "minecraft",
"type": "game",
"updated": 1710000000
}
],
"specs": {
"id": -1,
"minimum": 4096,
"recommended": 8192
},
"files": "",
"mods": [
{
"fileId": 6000,
"name": "Example Mod",
"filename": "example-mod.jar",
"synopsis": "A short mod summary.",
"icon": "https://example.com/icon.png",
"curseSlug": "example-mod",
"curseProject": 5000,
"curseFile": 6000,
"stored": 1710000000
}
],
"id": 200,
"name": "1.0.0",
"type": "release",
"updated": 1710000000
}2 endpoints
Find Bukkit plugins for Minecraft servers.
/public/plugin/{id} Get Bukkit plugin Returns a CurseForge Bukkit plugin record by project ID.
curl --request GET 'https://api.modpacks.ch/public/plugin/238222'| Name | In | Type | Description |
|---|---|---|---|
id required | path | integer (int32) | CurseForge Bukkit plugin project ID. |
ModpackApiDataResponsePayloadProviderModPayload{
"id": 5000,
"name": "Example Project",
"type": "release",
"updated": 1710000000,
"synopsis": "A short project summary.",
"description": "## About this project\n\nA longer provider-authored description in **Markdown**.",
"art": [
{
"type": "square",
"url": "https://example.com/art.png",
"mirrors": [],
"width": 512,
"height": 512,
"compressed": true
}
],
"links": [
{
"id": 30,
"name": "Website",
"link": "https://example.com",
"type": "website"
}
],
"authors": [
{
"id": 20,
"name": "Example Author",
"type": "team",
"website": "https://example.com",
"updated": 1710000000
}
],
"tags": null,
"versions": [
{
"id": 6000,
"name": "example-project-1.0.0.jar",
"type": "release",
"updated": 1710000000,
"version": "1.0.0",
"path": "mods/",
"url": "https://example.com/example-project-1.0.0.jar",
"mirrors": [],
"sha1": "1111111111111111111111111111111111111111",
"size": 2048,
"clientonly": false,
"serveronly": null,
"targets": [
{
"id": 40,
"name": "minecraft",
"type": "game",
"version": "1.20.1",
"updated": 1710000000
}
],
"dependencies": [
{
"id": 7000,
"file": null,
"required": true
}
],
"conflicts": null
}
],
"installs": 1200,
"status": "success",
"provider": "curseforge",
"refreshed": 1710000000,
"timings": []
}/public/plugin/search/{limit} Search Bukkit plugins Searches CurseForge Bukkit plugins using the required term query parameter.
curl --request GET 'https://api.modpacks.ch/public/plugin/search/20?term=create'| Name | In | Type | Description |
|---|---|---|---|
limit required | path | string | Maximum number of plugin IDs to return. |
term required | query | string | Bukkit plugin name or search term. |
ModpackApiDataResponsePayloadPluginSearchPayload{
"plugins": [
9000,
9001
],
"total": 2,
"limit": 25,
"refreshed": 1710000000
}9 endpoints
Find mods, look them up by ID or hash, and inspect their files.
/public/mod/{id} Get mod Returns a mod record by provider ID, Modrinth ID, or file hash. Provider-authored description Markdown must be treated as untrusted content.
curl --request GET 'https://api.modpacks.ch/public/mod/238222'| Name | In | Type | Description |
|---|---|---|---|
id required | path | string | Provider project ID, Modrinth ID, or file hash. |
ModpackApiDataResponsePayloadProviderModPayload{
"id": 5000,
"name": "Example Project",
"type": "release",
"updated": 1710000000,
"synopsis": "A short project summary.",
"description": "## About this project\n\nA longer provider-authored description in **Markdown**.",
"art": [
{
"type": "square",
"url": "https://example.com/art.png",
"mirrors": [],
"width": 512,
"height": 512,
"compressed": true
}
],
"links": [
{
"id": 30,
"name": "Website",
"link": "https://example.com",
"type": "website"
}
],
"authors": [
{
"id": 20,
"name": "Example Author",
"type": "team",
"website": "https://example.com",
"updated": 1710000000
}
],
"tags": null,
"versions": [
{
"id": 6000,
"name": "example-project-1.0.0.jar",
"type": "release",
"updated": 1710000000,
"version": "1.0.0",
"path": "mods/",
"url": "https://example.com/example-project-1.0.0.jar",
"mirrors": [],
"sha1": "1111111111111111111111111111111111111111",
"size": 2048,
"clientonly": false,
"serveronly": null,
"targets": [
{
"id": 40,
"name": "minecraft",
"type": "game",
"version": "1.20.1",
"updated": 1710000000
}
],
"dependencies": [
{
"id": 7000,
"file": null,
"required": true
}
],
"conflicts": null
}
],
"installs": 1200,
"status": "success",
"provider": "curseforge",
"refreshed": 1710000000,
"timings": []
}/public/mod/lookup Look up mod metadata Looks up mod metadata by hash. POST requests can submit multiple hashes.
curl --request GET 'https://api.modpacks.ch/public/mod/lookup'ModpackApiDataResponsePayloadModMetadataLookupPayload{
"status": "success",
"meta": {
"fileId": 6000,
"name": "Example Mod",
"filename": "example-mod.jar",
"synopsis": "A short mod summary.",
"icon": "https://example.com/icon.png",
"curseSlug": "example-mod",
"curseProject": 5000,
"curseFile": 6000,
"stored": 1710000000
}
}/public/mod/lookup Look up mod metadata Looks up mod metadata by hash. POST requests can submit multiple hashes.
curl --request POST 'https://api.modpacks.ch/public/mod/lookup'ModpackApiDataResponsePayloadModMetadataLookupPayload{
"status": "success",
"meta": {
"fileId": 6000,
"name": "Example Mod",
"filename": "example-mod.jar",
"synopsis": "A short mod summary.",
"icon": "https://example.com/icon.png",
"curseSlug": "example-mod",
"curseProject": 5000,
"curseFile": 6000,
"stored": 1710000000
}
}/public/mod/lookup/{hash} Look up mod metadata Looks up mod metadata by hash. POST requests can submit multiple hashes.
curl --request GET 'https://api.modpacks.ch/public/mod/lookup/sha1-hash'| Name | In | Type | Description |
|---|---|---|---|
hash required | path | string | Optional file hash for single-hash lookups. |
ModpackApiDataResponsePayloadModMetadataLookupPayload{
"status": "success",
"meta": {
"fileId": 6000,
"name": "Example Mod",
"filename": "example-mod.jar",
"synopsis": "A short mod summary.",
"icon": "https://example.com/icon.png",
"curseSlug": "example-mod",
"curseProject": 5000,
"curseFile": 6000,
"stored": 1710000000
}
}/public/mod/lookup/{hash} Look up mod metadata Looks up mod metadata by hash. POST requests can submit multiple hashes.
curl --request POST 'https://api.modpacks.ch/public/mod/lookup/sha1-hash'| Name | In | Type | Description |
|---|---|---|---|
hash required | path | string | Optional file hash for single-hash lookups. |
ModpackApiDataResponsePayloadModMetadataLookupPayload{
"status": "success",
"meta": {
"fileId": 6000,
"name": "Example Mod",
"filename": "example-mod.jar",
"synopsis": "A short mod summary.",
"icon": "https://example.com/icon.png",
"curseSlug": "example-mod",
"curseProject": 5000,
"curseFile": 6000,
"stored": 1710000000
}
}/public/mod/search/{limitOrGameVersion} Search mods Searches mod providers using the term query parameter, with optional game version and loader filters.
curl --request GET 'https://api.modpacks.ch/public/mod/search/%7BlimitOrGameVersion%7D'| Name | In | Type | Description |
|---|---|---|---|
limitOrGameVersion required | path | string | Result limit, or Minecraft game version. |
ModpackApiDataResponsePayloadModSearchPayload{
"mods": [
{
"id": 5000,
"name": "Example Project",
"type": "release",
"updated": 1710000000,
"synopsis": "A short project summary.",
"description": "## About this project\n\nA longer provider-authored description in **Markdown**.",
"art": [
{
"type": "square",
"url": "https://example.com/art.png",
"mirrors": [],
"width": 512,
"height": 512,
"compressed": true
}
],
"links": [
{
"id": 30,
"name": "Website",
"link": "https://example.com",
"type": "website"
}
],
"authors": [
{
"id": 20,
"name": "Example Author",
"type": "team",
"website": "https://example.com",
"updated": 1710000000
}
],
"tags": null,
"versions": [
{
"id": 6000,
"name": "example-project-1.0.0.jar",
"type": "release",
"updated": 1710000000,
"version": "1.0.0",
"path": "mods/",
"url": "https://example.com/example-project-1.0.0.jar",
"mirrors": [],
"sha1": "1111111111111111111111111111111111111111",
"size": 2048,
"clientonly": false,
"serveronly": null,
"targets": [
{
"id": 40,
"name": "minecraft",
"type": "game",
"version": "1.20.1",
"updated": 1710000000
}
],
"dependencies": [
{
"id": 7000,
"file": null,
"required": true
}
],
"conflicts": null
}
],
"installs": 1200,
"status": "success",
"provider": "curseforge",
"refreshed": 1710000000,
"timings": []
}
],
"total": 1,
"limit": 25,
"term": "example",
"refreshed": 1710000000
}/public/mod/search/{limitOrGameVersion}/{loaderOrLimit} Search mods Searches mod providers using the term query parameter, with optional game version and loader filters.
curl --request GET 'https://api.modpacks.ch/public/mod/search/%7BlimitOrGameVersion%7D/%7BloaderOrLimit%7D'| Name | In | Type | Description |
|---|---|---|---|
limitOrGameVersion required | path | string | Result limit, or Minecraft game version. |
loaderOrLimit required | path | string | Loader filter, or result limit when a game version is supplied. |
ModpackApiDataResponsePayloadModSearchPayload{
"mods": [
{
"id": 5000,
"name": "Example Project",
"type": "release",
"updated": 1710000000,
"synopsis": "A short project summary.",
"description": "## About this project\n\nA longer provider-authored description in **Markdown**.",
"art": [
{
"type": "square",
"url": "https://example.com/art.png",
"mirrors": [],
"width": 512,
"height": 512,
"compressed": true
}
],
"links": [
{
"id": 30,
"name": "Website",
"link": "https://example.com",
"type": "website"
}
],
"authors": [
{
"id": 20,
"name": "Example Author",
"type": "team",
"website": "https://example.com",
"updated": 1710000000
}
],
"tags": null,
"versions": [
{
"id": 6000,
"name": "example-project-1.0.0.jar",
"type": "release",
"updated": 1710000000,
"version": "1.0.0",
"path": "mods/",
"url": "https://example.com/example-project-1.0.0.jar",
"mirrors": [],
"sha1": "1111111111111111111111111111111111111111",
"size": 2048,
"clientonly": false,
"serveronly": null,
"targets": [
{
"id": 40,
"name": "minecraft",
"type": "game",
"version": "1.20.1",
"updated": 1710000000
}
],
"dependencies": [
{
"id": 7000,
"file": null,
"required": true
}
],
"conflicts": null
}
],
"installs": 1200,
"status": "success",
"provider": "curseforge",
"refreshed": 1710000000,
"timings": []
}
],
"total": 1,
"limit": 25,
"term": "example",
"refreshed": 1710000000
}/public/mod/search/{limitOrGameVersion}/{loaderOrLimit}/{limit} Search mods Searches mod providers using the term query parameter, with optional game version and loader filters.
curl --request GET 'https://api.modpacks.ch/public/mod/search/%7BlimitOrGameVersion%7D/%7BloaderOrLimit%7D/20'| Name | In | Type | Description |
|---|---|---|---|
limitOrGameVersion required | path | string | Result limit, or Minecraft game version. |
loaderOrLimit required | path | string | Loader filter, or result limit when a game version is supplied. |
limit required | path | string | Result limit when game version and loader are supplied. |
ModpackApiDataResponsePayloadModSearchPayload{
"mods": [
{
"id": 5000,
"name": "Example Project",
"type": "release",
"updated": 1710000000,
"synopsis": "A short project summary.",
"description": "## About this project\n\nA longer provider-authored description in **Markdown**.",
"art": [
{
"type": "square",
"url": "https://example.com/art.png",
"mirrors": [],
"width": 512,
"height": 512,
"compressed": true
}
],
"links": [
{
"id": 30,
"name": "Website",
"link": "https://example.com",
"type": "website"
}
],
"authors": [
{
"id": 20,
"name": "Example Author",
"type": "team",
"website": "https://example.com",
"updated": 1710000000
}
],
"tags": null,
"versions": [
{
"id": 6000,
"name": "example-project-1.0.0.jar",
"type": "release",
"updated": 1710000000,
"version": "1.0.0",
"path": "mods/",
"url": "https://example.com/example-project-1.0.0.jar",
"mirrors": [],
"sha1": "1111111111111111111111111111111111111111",
"size": 2048,
"clientonly": false,
"serveronly": null,
"targets": [
{
"id": 40,
"name": "minecraft",
"type": "game",
"version": "1.20.1",
"updated": 1710000000
}
],
"dependencies": [
{
"id": 7000,
"file": null,
"required": true
}
],
"conflicts": null
}
],
"installs": 1200,
"status": "success",
"provider": "curseforge",
"refreshed": 1710000000,
"timings": []
}
],
"total": 1,
"limit": 25,
"term": "example",
"refreshed": 1710000000
}/public/mod/search/{limitOrGameVersion}/{loaderOrLimit}/{limit}/{variant} Search mods Searches mod providers using the term query parameter, with optional game version and loader filters.
curl --request GET 'https://api.modpacks.ch/public/mod/search/%7BlimitOrGameVersion%7D/%7BloaderOrLimit%7D/20/%7Bvariant%7D'| Name | In | Type | Description |
|---|---|---|---|
limitOrGameVersion required | path | string | Result limit, or Minecraft game version. |
loaderOrLimit required | path | string | Loader filter, or result limit when a game version is supplied. |
limit required | path | string | Result limit when game version and loader are supplied. |
variant required | path | string | Optional search variant. |
ModpackApiDataResponsePayloadModSearchPayload{
"mods": [
{
"id": 5000,
"name": "Example Project",
"type": "release",
"updated": 1710000000,
"synopsis": "A short project summary.",
"description": "## About this project\n\nA longer provider-authored description in **Markdown**.",
"art": [
{
"type": "square",
"url": "https://example.com/art.png",
"mirrors": [],
"width": 512,
"height": 512,
"compressed": true
}
],
"links": [
{
"id": 30,
"name": "Website",
"link": "https://example.com",
"type": "website"
}
],
"authors": [
{
"id": 20,
"name": "Example Author",
"type": "team",
"website": "https://example.com",
"updated": 1710000000
}
],
"tags": null,
"versions": [
{
"id": 6000,
"name": "example-project-1.0.0.jar",
"type": "release",
"updated": 1710000000,
"version": "1.0.0",
"path": "mods/",
"url": "https://example.com/example-project-1.0.0.jar",
"mirrors": [],
"sha1": "1111111111111111111111111111111111111111",
"size": 2048,
"clientonly": false,
"serveronly": null,
"targets": [
{
"id": 40,
"name": "minecraft",
"type": "game",
"version": "1.20.1",
"updated": 1710000000
}
],
"dependencies": [
{
"id": 7000,
"file": null,
"required": true
}
],
"conflicts": null
}
],
"installs": 1200,
"status": "success",
"provider": "curseforge",
"refreshed": 1710000000,
"timings": []
}
],
"total": 1,
"limit": 25,
"term": "example",
"refreshed": 1710000000
}27 endpoints
Browse and search Modrinth projects through Modpacks.ch.
/public/modrinth/browse/{filter} Browse Modrinth modpacks Returns a paged list of Modrinth modpacks. Filters can include loader, game version, category, sort, and page segments.
curl --request GET 'https://api.modpacks.ch/public/modrinth/browse/popular'| Name | In | Type | Description |
|---|---|---|---|
filter required | path | string | First filter, sort, category, loader, or game version. |
ModpackApiDataResponsePayloadProviderBrowsePacksPayload{
"refreshed": 1710000000,
"status": "success",
"packs": [
{
"id": "AABBCCDD",
"name": "Example Modrinth Project",
"updated": 1710000000,
"synopsis": "A short Modrinth project summary.",
"type": "release",
"art": [
{
"type": "square",
"url": "https://example.com/art.png",
"mirrors": []
}
],
"authors": [
{
"id": -1,
"name": "ExampleAuthor",
"type": "modrinth",
"website": "https://modrinth.com/user/ExampleAuthor",
"updated": 1710000000
}
],
"tags": [
{
"id": "technology",
"name": "technology"
}
],
"provider": "modrinth",
"installs": 1200,
"links": null,
"targets": null
}
],
"page": "1",
"pages": 3
}/public/modrinth/browse/{filter}/{secondFilter} Browse Modrinth modpacks Returns a paged list of Modrinth modpacks. Filters can include loader, game version, category, sort, and page segments.
curl --request GET 'https://api.modpacks.ch/public/modrinth/browse/popular/%7BsecondFilter%7D'| Name | In | Type | Description |
|---|---|---|---|
filter required | path | string | First filter, sort, category, loader, or game version. |
secondFilter required | path | string | Optional second filter. |
ModpackApiDataResponsePayloadProviderBrowsePacksPayload{
"refreshed": 1710000000,
"status": "success",
"packs": [
{
"id": "AABBCCDD",
"name": "Example Modrinth Project",
"updated": 1710000000,
"synopsis": "A short Modrinth project summary.",
"type": "release",
"art": [
{
"type": "square",
"url": "https://example.com/art.png",
"mirrors": []
}
],
"authors": [
{
"id": -1,
"name": "ExampleAuthor",
"type": "modrinth",
"website": "https://modrinth.com/user/ExampleAuthor",
"updated": 1710000000
}
],
"tags": [
{
"id": "technology",
"name": "technology"
}
],
"provider": "modrinth",
"installs": 1200,
"links": null,
"targets": null
}
],
"page": "1",
"pages": 3
}/public/modrinth/browse/{filter}/{secondFilter}/{thirdFilter} Browse Modrinth modpacks Returns a paged list of Modrinth modpacks. Filters can include loader, game version, category, sort, and page segments.
curl --request GET 'https://api.modpacks.ch/public/modrinth/browse/popular/%7BsecondFilter%7D/%7BthirdFilter%7D'| Name | In | Type | Description |
|---|---|---|---|
filter required | path | string | First filter, sort, category, loader, or game version. |
secondFilter required | path | string | Optional second filter. |
thirdFilter required | path | string | Optional third filter. |
ModpackApiDataResponsePayloadProviderBrowsePacksPayload{
"refreshed": 1710000000,
"status": "success",
"packs": [
{
"id": "AABBCCDD",
"name": "Example Modrinth Project",
"updated": 1710000000,
"synopsis": "A short Modrinth project summary.",
"type": "release",
"art": [
{
"type": "square",
"url": "https://example.com/art.png",
"mirrors": []
}
],
"authors": [
{
"id": -1,
"name": "ExampleAuthor",
"type": "modrinth",
"website": "https://modrinth.com/user/ExampleAuthor",
"updated": 1710000000
}
],
"tags": [
{
"id": "technology",
"name": "technology"
}
],
"provider": "modrinth",
"installs": 1200,
"links": null,
"targets": null
}
],
"page": "1",
"pages": 3
}/public/modrinth/browse/{filter}/{secondFilter}/{thirdFilter}/{sort} Browse Modrinth modpacks Returns a paged list of Modrinth modpacks. Filters can include loader, game version, category, sort, and page segments.
curl --request GET 'https://api.modpacks.ch/public/modrinth/browse/popular/%7BsecondFilter%7D/%7BthirdFilter%7D/popular'| Name | In | Type | Description |
|---|---|---|---|
filter required | path | string | First filter, sort, category, loader, or game version. |
secondFilter required | path | string | Optional second filter. |
thirdFilter required | path | string | Optional third filter. |
sort required | path | string | Optional sort field. |
ModpackApiDataResponsePayloadProviderBrowsePacksPayload{
"refreshed": 1710000000,
"status": "success",
"packs": [
{
"id": "AABBCCDD",
"name": "Example Modrinth Project",
"updated": 1710000000,
"synopsis": "A short Modrinth project summary.",
"type": "release",
"art": [
{
"type": "square",
"url": "https://example.com/art.png",
"mirrors": []
}
],
"authors": [
{
"id": -1,
"name": "ExampleAuthor",
"type": "modrinth",
"website": "https://modrinth.com/user/ExampleAuthor",
"updated": 1710000000
}
],
"tags": [
{
"id": "technology",
"name": "technology"
}
],
"provider": "modrinth",
"installs": 1200,
"links": null,
"targets": null
}
],
"page": "1",
"pages": 3
}/public/modrinth/browse/{filter}/{secondFilter}/{thirdFilter}/{sort}/{page} Browse Modrinth modpacks Returns a paged list of Modrinth modpacks. Filters can include loader, game version, category, sort, and page segments.
curl --request GET 'https://api.modpacks.ch/public/modrinth/browse/popular/%7BsecondFilter%7D/%7BthirdFilter%7D/popular/1'| Name | In | Type | Description |
|---|---|---|---|
filter required | path | string | First filter, sort, category, loader, or game version. |
secondFilter required | path | string | Optional second filter. |
thirdFilter required | path | string | Optional third filter. |
sort required | path | string | Optional sort field. |
page required | path | string | Optional page number. |
ModpackApiDataResponsePayloadProviderBrowsePacksPayload{
"refreshed": 1710000000,
"status": "success",
"packs": [
{
"id": "AABBCCDD",
"name": "Example Modrinth Project",
"updated": 1710000000,
"synopsis": "A short Modrinth project summary.",
"type": "release",
"art": [
{
"type": "square",
"url": "https://example.com/art.png",
"mirrors": []
}
],
"authors": [
{
"id": -1,
"name": "ExampleAuthor",
"type": "modrinth",
"website": "https://modrinth.com/user/ExampleAuthor",
"updated": 1710000000
}
],
"tags": [
{
"id": "technology",
"name": "technology"
}
],
"provider": "modrinth",
"installs": 1200,
"links": null,
"targets": null
}
],
"page": "1",
"pages": 3
}/public/modrinth/search/{filter} Browse Modrinth modpacks Returns a paged list of Modrinth modpacks. Filters can include loader, game version, category, sort, and page segments.
curl --request GET 'https://api.modpacks.ch/public/modrinth/search/popular'| Name | In | Type | Description |
|---|---|---|---|
filter required | path | string | First filter, sort, category, loader, or game version. |
ModpackApiDataResponsePayloadProviderBrowsePacksPayload{
"refreshed": 1710000000,
"status": "success",
"packs": [
{
"id": "AABBCCDD",
"name": "Example Modrinth Project",
"updated": 1710000000,
"synopsis": "A short Modrinth project summary.",
"type": "release",
"art": [
{
"type": "square",
"url": "https://example.com/art.png",
"mirrors": []
}
],
"authors": [
{
"id": -1,
"name": "ExampleAuthor",
"type": "modrinth",
"website": "https://modrinth.com/user/ExampleAuthor",
"updated": 1710000000
}
],
"tags": [
{
"id": "technology",
"name": "technology"
}
],
"provider": "modrinth",
"installs": 1200,
"links": null,
"targets": null
}
],
"page": "1",
"pages": 3
}/public/modrinth/search/{filter}/{secondFilter} Browse Modrinth modpacks Returns a paged list of Modrinth modpacks. Filters can include loader, game version, category, sort, and page segments.
curl --request GET 'https://api.modpacks.ch/public/modrinth/search/popular/%7BsecondFilter%7D'| Name | In | Type | Description |
|---|---|---|---|
filter required | path | string | First filter, sort, category, loader, or game version. |
secondFilter required | path | string | Optional second filter. |
ModpackApiDataResponsePayloadProviderBrowsePacksPayload{
"refreshed": 1710000000,
"status": "success",
"packs": [
{
"id": "AABBCCDD",
"name": "Example Modrinth Project",
"updated": 1710000000,
"synopsis": "A short Modrinth project summary.",
"type": "release",
"art": [
{
"type": "square",
"url": "https://example.com/art.png",
"mirrors": []
}
],
"authors": [
{
"id": -1,
"name": "ExampleAuthor",
"type": "modrinth",
"website": "https://modrinth.com/user/ExampleAuthor",
"updated": 1710000000
}
],
"tags": [
{
"id": "technology",
"name": "technology"
}
],
"provider": "modrinth",
"installs": 1200,
"links": null,
"targets": null
}
],
"page": "1",
"pages": 3
}/public/modrinth/search/{filter}/{secondFilter}/{thirdFilter} Browse Modrinth modpacks Returns a paged list of Modrinth modpacks. Filters can include loader, game version, category, sort, and page segments.
curl --request GET 'https://api.modpacks.ch/public/modrinth/search/popular/%7BsecondFilter%7D/%7BthirdFilter%7D'| Name | In | Type | Description |
|---|---|---|---|
filter required | path | string | First filter, sort, category, loader, or game version. |
secondFilter required | path | string | Optional second filter. |
thirdFilter required | path | string | Optional third filter. |
ModpackApiDataResponsePayloadProviderBrowsePacksPayload{
"refreshed": 1710000000,
"status": "success",
"packs": [
{
"id": "AABBCCDD",
"name": "Example Modrinth Project",
"updated": 1710000000,
"synopsis": "A short Modrinth project summary.",
"type": "release",
"art": [
{
"type": "square",
"url": "https://example.com/art.png",
"mirrors": []
}
],
"authors": [
{
"id": -1,
"name": "ExampleAuthor",
"type": "modrinth",
"website": "https://modrinth.com/user/ExampleAuthor",
"updated": 1710000000
}
],
"tags": [
{
"id": "technology",
"name": "technology"
}
],
"provider": "modrinth",
"installs": 1200,
"links": null,
"targets": null
}
],
"page": "1",
"pages": 3
}/public/modrinth/search/{filter}/{secondFilter}/{thirdFilter}/{sort} Browse Modrinth modpacks Returns a paged list of Modrinth modpacks. Filters can include loader, game version, category, sort, and page segments.
curl --request GET 'https://api.modpacks.ch/public/modrinth/search/popular/%7BsecondFilter%7D/%7BthirdFilter%7D/popular'| Name | In | Type | Description |
|---|---|---|---|
filter required | path | string | First filter, sort, category, loader, or game version. |
secondFilter required | path | string | Optional second filter. |
thirdFilter required | path | string | Optional third filter. |
sort required | path | string | Optional sort field. |
ModpackApiDataResponsePayloadProviderBrowsePacksPayload{
"refreshed": 1710000000,
"status": "success",
"packs": [
{
"id": "AABBCCDD",
"name": "Example Modrinth Project",
"updated": 1710000000,
"synopsis": "A short Modrinth project summary.",
"type": "release",
"art": [
{
"type": "square",
"url": "https://example.com/art.png",
"mirrors": []
}
],
"authors": [
{
"id": -1,
"name": "ExampleAuthor",
"type": "modrinth",
"website": "https://modrinth.com/user/ExampleAuthor",
"updated": 1710000000
}
],
"tags": [
{
"id": "technology",
"name": "technology"
}
],
"provider": "modrinth",
"installs": 1200,
"links": null,
"targets": null
}
],
"page": "1",
"pages": 3
}/public/modrinth/search/{filter}/{secondFilter}/{thirdFilter}/{sort}/{page} Browse Modrinth modpacks Returns a paged list of Modrinth modpacks. Filters can include loader, game version, category, sort, and page segments.
curl --request GET 'https://api.modpacks.ch/public/modrinth/search/popular/%7BsecondFilter%7D/%7BthirdFilter%7D/popular/1'| Name | In | Type | Description |
|---|---|---|---|
filter required | path | string | First filter, sort, category, loader, or game version. |
secondFilter required | path | string | Optional second filter. |
thirdFilter required | path | string | Optional third filter. |
sort required | path | string | Optional sort field. |
page required | path | string | Optional page number. |
ModpackApiDataResponsePayloadProviderBrowsePacksPayload{
"refreshed": 1710000000,
"status": "success",
"packs": [
{
"id": "AABBCCDD",
"name": "Example Modrinth Project",
"updated": 1710000000,
"synopsis": "A short Modrinth project summary.",
"type": "release",
"art": [
{
"type": "square",
"url": "https://example.com/art.png",
"mirrors": []
}
],
"authors": [
{
"id": -1,
"name": "ExampleAuthor",
"type": "modrinth",
"website": "https://modrinth.com/user/ExampleAuthor",
"updated": 1710000000
}
],
"tags": [
{
"id": "technology",
"name": "technology"
}
],
"provider": "modrinth",
"installs": 1200,
"links": null,
"targets": null
}
],
"page": "1",
"pages": 3
}/public/modrinth/mods/browse/{filter} Browse Modrinth mods Returns a paged list of Modrinth mods. Filters can include loader, game version, category, sort, and page segments.
curl --request GET 'https://api.modpacks.ch/public/modrinth/mods/browse/popular'| Name | In | Type | Description |
|---|---|---|---|
filter required | path | string | First filter, sort, category, loader, or game version. |
ModpackApiDataResponsePayloadProviderBrowseModsPayload{
"refreshed": 1710000000,
"status": "success",
"mods": [
{
"id": "AABBCCDD",
"name": "Example Modrinth Project",
"updated": 1710000000,
"synopsis": "A short Modrinth project summary.",
"type": "release",
"art": [
{
"type": "square",
"url": "https://example.com/art.png",
"mirrors": []
}
],
"authors": [
{
"id": -1,
"name": "ExampleAuthor",
"type": "modrinth",
"website": "https://modrinth.com/user/ExampleAuthor",
"updated": 1710000000
}
],
"tags": [
{
"id": "technology",
"name": "technology"
}
],
"provider": "modrinth",
"installs": 1200,
"links": null,
"targets": null
}
],
"page": "1",
"pages": 3
}/public/modrinth/mods/browse/{filter}/{secondFilter} Browse Modrinth mods Returns a paged list of Modrinth mods. Filters can include loader, game version, category, sort, and page segments.
curl --request GET 'https://api.modpacks.ch/public/modrinth/mods/browse/popular/%7BsecondFilter%7D'| Name | In | Type | Description |
|---|---|---|---|
filter required | path | string | First filter, sort, category, loader, or game version. |
secondFilter required | path | string | Optional second filter. |
ModpackApiDataResponsePayloadProviderBrowseModsPayload{
"refreshed": 1710000000,
"status": "success",
"mods": [
{
"id": "AABBCCDD",
"name": "Example Modrinth Project",
"updated": 1710000000,
"synopsis": "A short Modrinth project summary.",
"type": "release",
"art": [
{
"type": "square",
"url": "https://example.com/art.png",
"mirrors": []
}
],
"authors": [
{
"id": -1,
"name": "ExampleAuthor",
"type": "modrinth",
"website": "https://modrinth.com/user/ExampleAuthor",
"updated": 1710000000
}
],
"tags": [
{
"id": "technology",
"name": "technology"
}
],
"provider": "modrinth",
"installs": 1200,
"links": null,
"targets": null
}
],
"page": "1",
"pages": 3
}/public/modrinth/mods/browse/{filter}/{secondFilter}/{thirdFilter} Browse Modrinth mods Returns a paged list of Modrinth mods. Filters can include loader, game version, category, sort, and page segments.
curl --request GET 'https://api.modpacks.ch/public/modrinth/mods/browse/popular/%7BsecondFilter%7D/%7BthirdFilter%7D'| Name | In | Type | Description |
|---|---|---|---|
filter required | path | string | First filter, sort, category, loader, or game version. |
secondFilter required | path | string | Optional second filter. |
thirdFilter required | path | string | Optional third filter. |
ModpackApiDataResponsePayloadProviderBrowseModsPayload{
"refreshed": 1710000000,
"status": "success",
"mods": [
{
"id": "AABBCCDD",
"name": "Example Modrinth Project",
"updated": 1710000000,
"synopsis": "A short Modrinth project summary.",
"type": "release",
"art": [
{
"type": "square",
"url": "https://example.com/art.png",
"mirrors": []
}
],
"authors": [
{
"id": -1,
"name": "ExampleAuthor",
"type": "modrinth",
"website": "https://modrinth.com/user/ExampleAuthor",
"updated": 1710000000
}
],
"tags": [
{
"id": "technology",
"name": "technology"
}
],
"provider": "modrinth",
"installs": 1200,
"links": null,
"targets": null
}
],
"page": "1",
"pages": 3
}/public/modrinth/mods/browse/{filter}/{secondFilter}/{thirdFilter}/{sort} Browse Modrinth mods Returns a paged list of Modrinth mods. Filters can include loader, game version, category, sort, and page segments.
curl --request GET 'https://api.modpacks.ch/public/modrinth/mods/browse/popular/%7BsecondFilter%7D/%7BthirdFilter%7D/popular'| Name | In | Type | Description |
|---|---|---|---|
filter required | path | string | First filter, sort, category, loader, or game version. |
secondFilter required | path | string | Optional second filter. |
thirdFilter required | path | string | Optional third filter. |
sort required | path | string | Optional sort field. |
ModpackApiDataResponsePayloadProviderBrowseModsPayload{
"refreshed": 1710000000,
"status": "success",
"mods": [
{
"id": "AABBCCDD",
"name": "Example Modrinth Project",
"updated": 1710000000,
"synopsis": "A short Modrinth project summary.",
"type": "release",
"art": [
{
"type": "square",
"url": "https://example.com/art.png",
"mirrors": []
}
],
"authors": [
{
"id": -1,
"name": "ExampleAuthor",
"type": "modrinth",
"website": "https://modrinth.com/user/ExampleAuthor",
"updated": 1710000000
}
],
"tags": [
{
"id": "technology",
"name": "technology"
}
],
"provider": "modrinth",
"installs": 1200,
"links": null,
"targets": null
}
],
"page": "1",
"pages": 3
}/public/modrinth/mods/browse/{filter}/{secondFilter}/{thirdFilter}/{sort}/{page} Browse Modrinth mods Returns a paged list of Modrinth mods. Filters can include loader, game version, category, sort, and page segments.
curl --request GET 'https://api.modpacks.ch/public/modrinth/mods/browse/popular/%7BsecondFilter%7D/%7BthirdFilter%7D/popular/1'| Name | In | Type | Description |
|---|---|---|---|
filter required | path | string | First filter, sort, category, loader, or game version. |
secondFilter required | path | string | Optional second filter. |
thirdFilter required | path | string | Optional third filter. |
sort required | path | string | Optional sort field. |
page required | path | string | Optional page number. |
ModpackApiDataResponsePayloadProviderBrowseModsPayload{
"refreshed": 1710000000,
"status": "success",
"mods": [
{
"id": "AABBCCDD",
"name": "Example Modrinth Project",
"updated": 1710000000,
"synopsis": "A short Modrinth project summary.",
"type": "release",
"art": [
{
"type": "square",
"url": "https://example.com/art.png",
"mirrors": []
}
],
"authors": [
{
"id": -1,
"name": "ExampleAuthor",
"type": "modrinth",
"website": "https://modrinth.com/user/ExampleAuthor",
"updated": 1710000000
}
],
"tags": [
{
"id": "technology",
"name": "technology"
}
],
"provider": "modrinth",
"installs": 1200,
"links": null,
"targets": null
}
],
"page": "1",
"pages": 3
}/public/modrinth/mods/search/{filter} Browse Modrinth mods Returns a paged list of Modrinth mods. Filters can include loader, game version, category, sort, and page segments.
curl --request GET 'https://api.modpacks.ch/public/modrinth/mods/search/popular'| Name | In | Type | Description |
|---|---|---|---|
filter required | path | string | First filter, sort, category, loader, or game version. |
ModpackApiDataResponsePayloadProviderBrowseModsPayload{
"refreshed": 1710000000,
"status": "success",
"mods": [
{
"id": "AABBCCDD",
"name": "Example Modrinth Project",
"updated": 1710000000,
"synopsis": "A short Modrinth project summary.",
"type": "release",
"art": [
{
"type": "square",
"url": "https://example.com/art.png",
"mirrors": []
}
],
"authors": [
{
"id": -1,
"name": "ExampleAuthor",
"type": "modrinth",
"website": "https://modrinth.com/user/ExampleAuthor",
"updated": 1710000000
}
],
"tags": [
{
"id": "technology",
"name": "technology"
}
],
"provider": "modrinth",
"installs": 1200,
"links": null,
"targets": null
}
],
"page": "1",
"pages": 3
}/public/modrinth/mods/search/{filter}/{secondFilter} Browse Modrinth mods Returns a paged list of Modrinth mods. Filters can include loader, game version, category, sort, and page segments.
curl --request GET 'https://api.modpacks.ch/public/modrinth/mods/search/popular/%7BsecondFilter%7D'| Name | In | Type | Description |
|---|---|---|---|
filter required | path | string | First filter, sort, category, loader, or game version. |
secondFilter required | path | string | Optional second filter. |
ModpackApiDataResponsePayloadProviderBrowseModsPayload{
"refreshed": 1710000000,
"status": "success",
"mods": [
{
"id": "AABBCCDD",
"name": "Example Modrinth Project",
"updated": 1710000000,
"synopsis": "A short Modrinth project summary.",
"type": "release",
"art": [
{
"type": "square",
"url": "https://example.com/art.png",
"mirrors": []
}
],
"authors": [
{
"id": -1,
"name": "ExampleAuthor",
"type": "modrinth",
"website": "https://modrinth.com/user/ExampleAuthor",
"updated": 1710000000
}
],
"tags": [
{
"id": "technology",
"name": "technology"
}
],
"provider": "modrinth",
"installs": 1200,
"links": null,
"targets": null
}
],
"page": "1",
"pages": 3
}/public/modrinth/mods/search/{filter}/{secondFilter}/{thirdFilter} Browse Modrinth mods Returns a paged list of Modrinth mods. Filters can include loader, game version, category, sort, and page segments.
curl --request GET 'https://api.modpacks.ch/public/modrinth/mods/search/popular/%7BsecondFilter%7D/%7BthirdFilter%7D'| Name | In | Type | Description |
|---|---|---|---|
filter required | path | string | First filter, sort, category, loader, or game version. |
secondFilter required | path | string | Optional second filter. |
thirdFilter required | path | string | Optional third filter. |
ModpackApiDataResponsePayloadProviderBrowseModsPayload{
"refreshed": 1710000000,
"status": "success",
"mods": [
{
"id": "AABBCCDD",
"name": "Example Modrinth Project",
"updated": 1710000000,
"synopsis": "A short Modrinth project summary.",
"type": "release",
"art": [
{
"type": "square",
"url": "https://example.com/art.png",
"mirrors": []
}
],
"authors": [
{
"id": -1,
"name": "ExampleAuthor",
"type": "modrinth",
"website": "https://modrinth.com/user/ExampleAuthor",
"updated": 1710000000
}
],
"tags": [
{
"id": "technology",
"name": "technology"
}
],
"provider": "modrinth",
"installs": 1200,
"links": null,
"targets": null
}
],
"page": "1",
"pages": 3
}/public/modrinth/mods/search/{filter}/{secondFilter}/{thirdFilter}/{sort} Browse Modrinth mods Returns a paged list of Modrinth mods. Filters can include loader, game version, category, sort, and page segments.
curl --request GET 'https://api.modpacks.ch/public/modrinth/mods/search/popular/%7BsecondFilter%7D/%7BthirdFilter%7D/popular'| Name | In | Type | Description |
|---|---|---|---|
filter required | path | string | First filter, sort, category, loader, or game version. |
secondFilter required | path | string | Optional second filter. |
thirdFilter required | path | string | Optional third filter. |
sort required | path | string | Optional sort field. |
ModpackApiDataResponsePayloadProviderBrowseModsPayload{
"refreshed": 1710000000,
"status": "success",
"mods": [
{
"id": "AABBCCDD",
"name": "Example Modrinth Project",
"updated": 1710000000,
"synopsis": "A short Modrinth project summary.",
"type": "release",
"art": [
{
"type": "square",
"url": "https://example.com/art.png",
"mirrors": []
}
],
"authors": [
{
"id": -1,
"name": "ExampleAuthor",
"type": "modrinth",
"website": "https://modrinth.com/user/ExampleAuthor",
"updated": 1710000000
}
],
"tags": [
{
"id": "technology",
"name": "technology"
}
],
"provider": "modrinth",
"installs": 1200,
"links": null,
"targets": null
}
],
"page": "1",
"pages": 3
}/public/modrinth/mods/search/{filter}/{secondFilter}/{thirdFilter}/{sort}/{page} Browse Modrinth mods Returns a paged list of Modrinth mods. Filters can include loader, game version, category, sort, and page segments.
curl --request GET 'https://api.modpacks.ch/public/modrinth/mods/search/popular/%7BsecondFilter%7D/%7BthirdFilter%7D/popular/1'| Name | In | Type | Description |
|---|---|---|---|
filter required | path | string | First filter, sort, category, loader, or game version. |
secondFilter required | path | string | Optional second filter. |
thirdFilter required | path | string | Optional third filter. |
sort required | path | string | Optional sort field. |
page required | path | string | Optional page number. |
ModpackApiDataResponsePayloadProviderBrowseModsPayload{
"refreshed": 1710000000,
"status": "success",
"mods": [
{
"id": "AABBCCDD",
"name": "Example Modrinth Project",
"updated": 1710000000,
"synopsis": "A short Modrinth project summary.",
"type": "release",
"art": [
{
"type": "square",
"url": "https://example.com/art.png",
"mirrors": []
}
],
"authors": [
{
"id": -1,
"name": "ExampleAuthor",
"type": "modrinth",
"website": "https://modrinth.com/user/ExampleAuthor",
"updated": 1710000000
}
],
"tags": [
{
"id": "technology",
"name": "technology"
}
],
"provider": "modrinth",
"installs": 1200,
"links": null,
"targets": null
}
],
"page": "1",
"pages": 3
}/public/modrinth/{projectIdOrSlug} Get Modrinth modpack Returns a Modrinth modpack using the established modpacks.ch/CurseForge response envelope. Provider-authored Markdown must be treated as untrusted content.
curl --request GET 'https://api.modpacks.ch/public/modrinth/%7BprojectIdOrSlug%7D'| Name | In | Type | Description |
|---|---|---|---|
projectIdOrSlug required | path | string | Modrinth project ID or slug. |
object{
"id": "AABBCCDD",
"name": "Example Modrinth Pack",
"type": "release",
"updated": 1710000000,
"synopsis": "A short pack summary.",
"description": "## About this pack\n\nA longer provider-authored description in **Markdown**.",
"art": [
{
"type": "square",
"url": "https://example.com/art.png",
"mirrors": []
}
],
"links": [
{
"id": 30,
"name": "Website",
"link": "https://example.com",
"type": "website"
}
],
"authors": [
{
"id": 20,
"name": "Example Author",
"type": "team",
"website": "https://example.com",
"updated": 1710000000
}
],
"versions": [
{
"id": "IIJJKKLL",
"name": "1.0.0",
"type": "release",
"updated": 1710000000,
"targets": [
{
"version": "1.20.1",
"id": 40,
"name": "minecraft",
"type": "game",
"updated": 1710000000
}
],
"private": false
}
],
"installs": 1200,
"plays": 0,
"tags": [
{
"id": "technology",
"name": "technology"
}
],
"featured": false,
"refreshed": 1710000000,
"notification": "",
"rating": {
"id": -1,
"configured": false,
"verified": false,
"age": 7,
"gambling": false,
"frightening": true,
"alcoholdrugs": false,
"nuditysexual": false,
"sterotypeshate": false,
"language": false,
"violence": true
},
"status": "success",
"released": 1710000000,
"provider": "modrinth",
"plays_14d": 0,
"private": false
}/public/modrinth/{projectIdOrSlug}/{versionId} Get a parsed Modrinth modpack version Downloads the primary .mrpack, parses modrinth.index.json into the standard files array, and appends the source archive as type mr-extract. Resolved entries use the Modrinth project ID in id and version ID in version; unresolved or external files fall back to their SHA-1 identity. The sha1 field remains the integrity hash. A fallback SHA-1 may be passed to GET /public/mod/{id} for Modpacks.ch cross-provider lookup. Only entries with type mod are playable mods.
curl --request GET 'https://api.modpacks.ch/public/modrinth/%7BprojectIdOrSlug%7D/%7BversionId%7D'| Name | In | Type | Description |
|---|---|---|---|
projectIdOrSlug required | path | string | Modrinth project ID or slug. |
versionId required | path | string | Modrinth version ID. |
object{
"id": "IIJJKKLL",
"name": "1.0.0",
"type": "release",
"updated": 1710000000,
"status": "success",
"installs": 1200,
"plays": 0,
"refreshed": 1710000000,
"changelog": "Updated mods and configuration.",
"parent": "AABBCCDD",
"notification": "",
"links": [],
"targets": [
{
"version": "1.20.1",
"id": 40,
"name": "minecraft",
"type": "game",
"updated": 1710000000
}
],
"specs": "",
"files": [
{
"id": "m5T5xmUy",
"version": "r4yqxYQl",
"name": "example-mod.jar",
"type": "mod",
"updated": 1710000000,
"path": "mods/",
"url": "https://cdn.modrinth.com/data/ABCDEFGH/versions/QRSTUVWX/example-mod.jar",
"mirrors": [],
"sha1": "1111111111111111111111111111111111111111",
"size": 2048,
"tags": [],
"clientonly": false,
"serveronly": false,
"optional": false
},
{
"id": "IIJJKKLL",
"version": "1.0.0",
"name": "example-pack.mrpack",
"type": "mr-extract",
"updated": 1710000000,
"path": "./",
"url": "https://cdn.modrinth.com/data/AABBCCDD/versions/IIJJKKLL/example-pack.mrpack",
"mirrors": [],
"sha1": "2222222222222222222222222222222222222222",
"size": -1,
"tags": [],
"clientonly": false,
"serveronly": false,
"optional": false
}
]
}/public/modrinth/{id}/{versionid}/new Get Modrinth modpack version Returns a Modrinth modpack version and expands its .mrpack index into the established files manifest.
curl --request GET 'https://api.modpacks.ch/public/modrinth/238222/%7Bversionid%7D/new'| Name | In | Type | Description |
|---|---|---|---|
id required | path | string | Modrinth project ID or slug. |
versionid required | path | string | Modrinth version ID. |
object{
"id": "IIJJKKLL",
"name": "1.0.0",
"type": "release",
"updated": 1710000000,
"status": "success",
"installs": 1200,
"plays": 0,
"refreshed": 1710000000,
"changelog": "Updated mods and configuration.",
"parent": "AABBCCDD",
"notification": "",
"links": [
{
"id": 30,
"name": "Website",
"link": "https://example.com",
"type": "website"
}
],
"targets": [
{
"version": "1.20.1",
"id": 40,
"name": "minecraft",
"type": "game",
"updated": 1710000000
}
],
"specs": "",
"files": [
{
"version": "1.0.0",
"path": "mods/",
"url": "https://example.com/example-mod.jar",
"mirrors": [],
"sha1": "1111111111111111111111111111111111111111",
"size": 2048,
"tags": [
{
"id": 10,
"name": "tech"
}
],
"clientonly": false,
"serveronly": false,
"optional": false,
"curseforge": {
"project": "5000",
"file": "6000"
},
"id": 6000,
"name": "example-mod.jar",
"type": "mod",
"updated": 1710000000
}
]
}/public/modrinth/{id}/{versionid}/server/{platform} Download Modrinth server installer Downloads the platform-specific server installer binary for a Modrinth modpack version.
curl --request GET 'https://api.modpacks.ch/public/modrinth/238222/%7Bversionid%7D/server/%7Bplatform%7D'| Name | In | Type | Description |
|---|---|---|---|
id required | path | string | Modrinth project ID or slug. |
versionid required | path | string | Modrinth version ID. |
platform required | path | string | Target platform: linux, mac, freebsd, or windows. |
string (binary)TVoAAA==/public/modrinth/{id}/{versionid}/server/{arch}/{platform} Download Modrinth server installer Downloads the platform-specific server installer binary for a Modrinth modpack version.
curl --request GET 'https://api.modpacks.ch/public/modrinth/238222/%7Bversionid%7D/server/%7Barch%7D/%7Bplatform%7D'| Name | In | Type | Description |
|---|---|---|---|
id required | path | string | Modrinth project ID or slug. |
versionid required | path | string | Modrinth version ID. |
arch required | path | string | Optional architecture, such as arm or arm64. |
platform required | path | string | Target platform: linux, mac, freebsd, or windows. |
string (binary)TVoAAA==1 endpoints
Get exact loader builds for a Minecraft version.
/public/loaders/{mcVersion}/{loader} List loader versions Returns loader versions available for a Minecraft game version.
curl --request GET 'https://api.modpacks.ch/public/loaders/%7BmcVersion%7D/%7Bloader%7D'| Name | In | Type | Description |
|---|---|---|---|
mcVersion required | path | string | Minecraft game version. |
loader required | path | string | Loader type, such as forge, fabric, quilt, or neoforge. |
ModpackApiDataResponsePayloadLoaderPayload{
"status": "success",
"art": [
{
"id": 300,
"type": "square",
"updated": 1710000000,
"url": "https://example.com/art.png",
"mirrors": [],
"sha1": "0000000000000000000000000000000000000000",
"size": 1024,
"width": 512,
"height": 512,
"compressed": true
}
],
"loaders": [
{
"id": 47,
"version": "47.2.0",
"game": "minecraft",
"gameVersion": "1.20.1",
"type": "forge"
}
],
"id": 1,
"name": "Forge",
"total": 1,
"refreshed": 1710000000
}11 endpoints
Find Hytale projects and their files.
/public/hytale/mods/browse/{filter} Browse Hytale mods Returns a paged list of CurseForge Hytale mods. Filters can include a Hytale build, category, sort, and page segments.
curl --request GET 'https://api.modpacks.ch/public/hytale/mods/browse/popular'| Name | In | Type | Description |
|---|---|---|---|
filter required | path | string | First Hytale build, category ID, or sort field. |
ModpackApiDataResponsePayloadProviderBrowseModsPayload{
"refreshed": 1710000000,
"status": "success",
"mods": [
{
"id": 7000,
"name": "Example Hytale Mod",
"updated": 1710000000,
"synopsis": "A short Hytale mod summary.",
"type": "release",
"art": [
{
"type": "square",
"url": "https://example.com/art.png",
"mirrors": []
}
],
"authors": [
{
"id": 20,
"name": "Example Author",
"type": "team",
"website": "https://example.com",
"updated": 1710000000
}
],
"tags": [
{
"id": 10,
"name": "tech"
}
],
"provider": "curseforge",
"installs": 1200,
"links": [
{
"id": -1,
"name": "Project Page",
"link": "https://www.curseforge.com/hytale/mods/example-hytale-mod",
"type": "curseforge"
}
],
"targets": [
{
"id": null,
"name": "hytale",
"type": "game",
"version": "2026.01",
"updated": 1710000000
}
]
}
],
"page": "1",
"pages": 3
}/public/hytale/mods/browse/{filter}/{secondFilter} Browse Hytale mods Returns a paged list of CurseForge Hytale mods. Filters can include a Hytale build, category, sort, and page segments.
curl --request GET 'https://api.modpacks.ch/public/hytale/mods/browse/popular/%7BsecondFilter%7D'| Name | In | Type | Description |
|---|---|---|---|
filter required | path | string | First Hytale build, category ID, or sort field. |
secondFilter required | path | string | Optional second filter. |
ModpackApiDataResponsePayloadProviderBrowseModsPayload{
"refreshed": 1710000000,
"status": "success",
"mods": [
{
"id": 7000,
"name": "Example Hytale Mod",
"updated": 1710000000,
"synopsis": "A short Hytale mod summary.",
"type": "release",
"art": [
{
"type": "square",
"url": "https://example.com/art.png",
"mirrors": []
}
],
"authors": [
{
"id": 20,
"name": "Example Author",
"type": "team",
"website": "https://example.com",
"updated": 1710000000
}
],
"tags": [
{
"id": 10,
"name": "tech"
}
],
"provider": "curseforge",
"installs": 1200,
"links": [
{
"id": -1,
"name": "Project Page",
"link": "https://www.curseforge.com/hytale/mods/example-hytale-mod",
"type": "curseforge"
}
],
"targets": [
{
"id": null,
"name": "hytale",
"type": "game",
"version": "2026.01",
"updated": 1710000000
}
]
}
],
"page": "1",
"pages": 3
}/public/hytale/mods/browse/{filter}/{secondFilter}/{thirdFilter} Browse Hytale mods Returns a paged list of CurseForge Hytale mods. Filters can include a Hytale build, category, sort, and page segments.
curl --request GET 'https://api.modpacks.ch/public/hytale/mods/browse/popular/%7BsecondFilter%7D/%7BthirdFilter%7D'| Name | In | Type | Description |
|---|---|---|---|
filter required | path | string | First Hytale build, category ID, or sort field. |
secondFilter required | path | string | Optional second filter. |
thirdFilter required | path | string | Optional third filter. |
ModpackApiDataResponsePayloadProviderBrowseModsPayload{
"refreshed": 1710000000,
"status": "success",
"mods": [
{
"id": 7000,
"name": "Example Hytale Mod",
"updated": 1710000000,
"synopsis": "A short Hytale mod summary.",
"type": "release",
"art": [
{
"type": "square",
"url": "https://example.com/art.png",
"mirrors": []
}
],
"authors": [
{
"id": 20,
"name": "Example Author",
"type": "team",
"website": "https://example.com",
"updated": 1710000000
}
],
"tags": [
{
"id": 10,
"name": "tech"
}
],
"provider": "curseforge",
"installs": 1200,
"links": [
{
"id": -1,
"name": "Project Page",
"link": "https://www.curseforge.com/hytale/mods/example-hytale-mod",
"type": "curseforge"
}
],
"targets": [
{
"id": null,
"name": "hytale",
"type": "game",
"version": "2026.01",
"updated": 1710000000
}
]
}
],
"page": "1",
"pages": 3
}/public/hytale/mods/browse/{filter}/{secondFilter}/{thirdFilter}/{sort} Browse Hytale mods Returns a paged list of CurseForge Hytale mods. Filters can include a Hytale build, category, sort, and page segments.
curl --request GET 'https://api.modpacks.ch/public/hytale/mods/browse/popular/%7BsecondFilter%7D/%7BthirdFilter%7D/popular'| Name | In | Type | Description |
|---|---|---|---|
filter required | path | string | First Hytale build, category ID, or sort field. |
secondFilter required | path | string | Optional second filter. |
thirdFilter required | path | string | Optional third filter. |
sort required | path | string | Optional sort field: popular, updated, new, or featured. |
ModpackApiDataResponsePayloadProviderBrowseModsPayload{
"refreshed": 1710000000,
"status": "success",
"mods": [
{
"id": 7000,
"name": "Example Hytale Mod",
"updated": 1710000000,
"synopsis": "A short Hytale mod summary.",
"type": "release",
"art": [
{
"type": "square",
"url": "https://example.com/art.png",
"mirrors": []
}
],
"authors": [
{
"id": 20,
"name": "Example Author",
"type": "team",
"website": "https://example.com",
"updated": 1710000000
}
],
"tags": [
{
"id": 10,
"name": "tech"
}
],
"provider": "curseforge",
"installs": 1200,
"links": [
{
"id": -1,
"name": "Project Page",
"link": "https://www.curseforge.com/hytale/mods/example-hytale-mod",
"type": "curseforge"
}
],
"targets": [
{
"id": null,
"name": "hytale",
"type": "game",
"version": "2026.01",
"updated": 1710000000
}
]
}
],
"page": "1",
"pages": 3
}/public/hytale/mods/browse/{filter}/{secondFilter}/{thirdFilter}/{sort}/{page} Browse Hytale mods Returns a paged list of CurseForge Hytale mods. Filters can include a Hytale build, category, sort, and page segments.
curl --request GET 'https://api.modpacks.ch/public/hytale/mods/browse/popular/%7BsecondFilter%7D/%7BthirdFilter%7D/popular/1'| Name | In | Type | Description |
|---|---|---|---|
filter required | path | string | First Hytale build, category ID, or sort field. |
secondFilter required | path | string | Optional second filter. |
thirdFilter required | path | string | Optional third filter. |
sort required | path | string | Optional sort field: popular, updated, new, or featured. |
page required | path | string | Optional one-based page number. |
ModpackApiDataResponsePayloadProviderBrowseModsPayload{
"refreshed": 1710000000,
"status": "success",
"mods": [
{
"id": 7000,
"name": "Example Hytale Mod",
"updated": 1710000000,
"synopsis": "A short Hytale mod summary.",
"type": "release",
"art": [
{
"type": "square",
"url": "https://example.com/art.png",
"mirrors": []
}
],
"authors": [
{
"id": 20,
"name": "Example Author",
"type": "team",
"website": "https://example.com",
"updated": 1710000000
}
],
"tags": [
{
"id": 10,
"name": "tech"
}
],
"provider": "curseforge",
"installs": 1200,
"links": [
{
"id": -1,
"name": "Project Page",
"link": "https://www.curseforge.com/hytale/mods/example-hytale-mod",
"type": "curseforge"
}
],
"targets": [
{
"id": null,
"name": "hytale",
"type": "game",
"version": "2026.01",
"updated": 1710000000
}
]
}
],
"page": "1",
"pages": 3
}/public/hytale/mods/search/{filter} Browse Hytale mods Returns a paged list of CurseForge Hytale mods. Filters can include a Hytale build, category, sort, and page segments.
curl --request GET 'https://api.modpacks.ch/public/hytale/mods/search/popular'| Name | In | Type | Description |
|---|---|---|---|
filter required | path | string | First Hytale build, category ID, or sort field. |
ModpackApiDataResponsePayloadProviderBrowseModsPayload{
"refreshed": 1710000000,
"status": "success",
"mods": [
{
"id": 7000,
"name": "Example Hytale Mod",
"updated": 1710000000,
"synopsis": "A short Hytale mod summary.",
"type": "release",
"art": [
{
"type": "square",
"url": "https://example.com/art.png",
"mirrors": []
}
],
"authors": [
{
"id": 20,
"name": "Example Author",
"type": "team",
"website": "https://example.com",
"updated": 1710000000
}
],
"tags": [
{
"id": 10,
"name": "tech"
}
],
"provider": "curseforge",
"installs": 1200,
"links": [
{
"id": -1,
"name": "Project Page",
"link": "https://www.curseforge.com/hytale/mods/example-hytale-mod",
"type": "curseforge"
}
],
"targets": [
{
"id": null,
"name": "hytale",
"type": "game",
"version": "2026.01",
"updated": 1710000000
}
]
}
],
"page": "1",
"pages": 3
}/public/hytale/mods/search/{filter}/{secondFilter} Browse Hytale mods Returns a paged list of CurseForge Hytale mods. Filters can include a Hytale build, category, sort, and page segments.
curl --request GET 'https://api.modpacks.ch/public/hytale/mods/search/popular/%7BsecondFilter%7D'| Name | In | Type | Description |
|---|---|---|---|
filter required | path | string | First Hytale build, category ID, or sort field. |
secondFilter required | path | string | Optional second filter. |
ModpackApiDataResponsePayloadProviderBrowseModsPayload{
"refreshed": 1710000000,
"status": "success",
"mods": [
{
"id": 7000,
"name": "Example Hytale Mod",
"updated": 1710000000,
"synopsis": "A short Hytale mod summary.",
"type": "release",
"art": [
{
"type": "square",
"url": "https://example.com/art.png",
"mirrors": []
}
],
"authors": [
{
"id": 20,
"name": "Example Author",
"type": "team",
"website": "https://example.com",
"updated": 1710000000
}
],
"tags": [
{
"id": 10,
"name": "tech"
}
],
"provider": "curseforge",
"installs": 1200,
"links": [
{
"id": -1,
"name": "Project Page",
"link": "https://www.curseforge.com/hytale/mods/example-hytale-mod",
"type": "curseforge"
}
],
"targets": [
{
"id": null,
"name": "hytale",
"type": "game",
"version": "2026.01",
"updated": 1710000000
}
]
}
],
"page": "1",
"pages": 3
}/public/hytale/mods/search/{filter}/{secondFilter}/{thirdFilter} Browse Hytale mods Returns a paged list of CurseForge Hytale mods. Filters can include a Hytale build, category, sort, and page segments.
curl --request GET 'https://api.modpacks.ch/public/hytale/mods/search/popular/%7BsecondFilter%7D/%7BthirdFilter%7D'| Name | In | Type | Description |
|---|---|---|---|
filter required | path | string | First Hytale build, category ID, or sort field. |
secondFilter required | path | string | Optional second filter. |
thirdFilter required | path | string | Optional third filter. |
ModpackApiDataResponsePayloadProviderBrowseModsPayload{
"refreshed": 1710000000,
"status": "success",
"mods": [
{
"id": 7000,
"name": "Example Hytale Mod",
"updated": 1710000000,
"synopsis": "A short Hytale mod summary.",
"type": "release",
"art": [
{
"type": "square",
"url": "https://example.com/art.png",
"mirrors": []
}
],
"authors": [
{
"id": 20,
"name": "Example Author",
"type": "team",
"website": "https://example.com",
"updated": 1710000000
}
],
"tags": [
{
"id": 10,
"name": "tech"
}
],
"provider": "curseforge",
"installs": 1200,
"links": [
{
"id": -1,
"name": "Project Page",
"link": "https://www.curseforge.com/hytale/mods/example-hytale-mod",
"type": "curseforge"
}
],
"targets": [
{
"id": null,
"name": "hytale",
"type": "game",
"version": "2026.01",
"updated": 1710000000
}
]
}
],
"page": "1",
"pages": 3
}/public/hytale/mods/search/{filter}/{secondFilter}/{thirdFilter}/{sort} Browse Hytale mods Returns a paged list of CurseForge Hytale mods. Filters can include a Hytale build, category, sort, and page segments.
curl --request GET 'https://api.modpacks.ch/public/hytale/mods/search/popular/%7BsecondFilter%7D/%7BthirdFilter%7D/popular'| Name | In | Type | Description |
|---|---|---|---|
filter required | path | string | First Hytale build, category ID, or sort field. |
secondFilter required | path | string | Optional second filter. |
thirdFilter required | path | string | Optional third filter. |
sort required | path | string | Optional sort field: popular, updated, new, or featured. |
ModpackApiDataResponsePayloadProviderBrowseModsPayload{
"refreshed": 1710000000,
"status": "success",
"mods": [
{
"id": 7000,
"name": "Example Hytale Mod",
"updated": 1710000000,
"synopsis": "A short Hytale mod summary.",
"type": "release",
"art": [
{
"type": "square",
"url": "https://example.com/art.png",
"mirrors": []
}
],
"authors": [
{
"id": 20,
"name": "Example Author",
"type": "team",
"website": "https://example.com",
"updated": 1710000000
}
],
"tags": [
{
"id": 10,
"name": "tech"
}
],
"provider": "curseforge",
"installs": 1200,
"links": [
{
"id": -1,
"name": "Project Page",
"link": "https://www.curseforge.com/hytale/mods/example-hytale-mod",
"type": "curseforge"
}
],
"targets": [
{
"id": null,
"name": "hytale",
"type": "game",
"version": "2026.01",
"updated": 1710000000
}
]
}
],
"page": "1",
"pages": 3
}/public/hytale/mods/search/{filter}/{secondFilter}/{thirdFilter}/{sort}/{page} Browse Hytale mods Returns a paged list of CurseForge Hytale mods. Filters can include a Hytale build, category, sort, and page segments.
curl --request GET 'https://api.modpacks.ch/public/hytale/mods/search/popular/%7BsecondFilter%7D/%7BthirdFilter%7D/popular/1'| Name | In | Type | Description |
|---|---|---|---|
filter required | path | string | First Hytale build, category ID, or sort field. |
secondFilter required | path | string | Optional second filter. |
thirdFilter required | path | string | Optional third filter. |
sort required | path | string | Optional sort field: popular, updated, new, or featured. |
page required | path | string | Optional one-based page number. |
ModpackApiDataResponsePayloadProviderBrowseModsPayload{
"refreshed": 1710000000,
"status": "success",
"mods": [
{
"id": 7000,
"name": "Example Hytale Mod",
"updated": 1710000000,
"synopsis": "A short Hytale mod summary.",
"type": "release",
"art": [
{
"type": "square",
"url": "https://example.com/art.png",
"mirrors": []
}
],
"authors": [
{
"id": 20,
"name": "Example Author",
"type": "team",
"website": "https://example.com",
"updated": 1710000000
}
],
"tags": [
{
"id": 10,
"name": "tech"
}
],
"provider": "curseforge",
"installs": 1200,
"links": [
{
"id": -1,
"name": "Project Page",
"link": "https://www.curseforge.com/hytale/mods/example-hytale-mod",
"type": "curseforge"
}
],
"targets": [
{
"id": null,
"name": "hytale",
"type": "game",
"version": "2026.01",
"updated": 1710000000
}
]
}
],
"page": "1",
"pages": 3
}/public/hytale/mod/{id} Get Hytale mod Returns a Hytale mod record by provider project ID.
curl --request GET 'https://api.modpacks.ch/public/hytale/mod/238222'| Name | In | Type | Description |
|---|---|---|---|
id required | path | integer (int32) | Provider project ID. |
ModpackApiDataResponsePayloadProviderModPayload{
"id": 5000,
"name": "Example Project",
"type": "release",
"updated": 1710000000,
"synopsis": "A short project summary.",
"description": "## About this project\n\nA longer provider-authored description in **Markdown**.",
"art": [
{
"type": "square",
"url": "https://example.com/art.png",
"mirrors": [],
"width": 512,
"height": 512,
"compressed": true
}
],
"links": [
{
"id": 30,
"name": "Website",
"link": "https://example.com",
"type": "website"
}
],
"authors": [
{
"id": 20,
"name": "Example Author",
"type": "team",
"website": "https://example.com",
"updated": 1710000000
}
],
"tags": null,
"versions": [
{
"id": 6000,
"name": "example-project-1.0.0.jar",
"type": "release",
"updated": 1710000000,
"version": "1.0.0",
"path": "mods/",
"url": "https://example.com/example-project-1.0.0.jar",
"mirrors": [],
"sha1": "1111111111111111111111111111111111111111",
"size": 2048,
"clientonly": false,
"serveronly": null,
"targets": [
{
"id": 40,
"name": "minecraft",
"type": "game",
"version": "1.20.1",
"updated": 1710000000
}
],
"dependencies": [
{
"id": 7000,
"file": null,
"required": true
}
],
"conflicts": null
}
],
"installs": 1200,
"status": "success",
"provider": "curseforge",
"refreshed": 1710000000,
"timings": []
}2 endpoints
Find Feed The Beast packs and their files.
/public/ftb/{id} Get FTB modpack Returns a modpack record for an FTB pack.
curl --request GET 'https://api.modpacks.ch/public/ftb/238222'| Name | In | Type | Description |
|---|---|---|---|
id required | path | integer (int32) | FTB pack ID. |
ModpackApiDataResponsePayloadModpackPayload{
"synopsis": "A short pack summary.",
"description": "A longer pack description.",
"art": [
{
"id": 300,
"type": "square",
"updated": 1710000000,
"url": "https://example.com/art.png",
"mirrors": [],
"sha1": "0000000000000000000000000000000000000000",
"size": 1024,
"width": 512,
"height": 512,
"compressed": true
}
],
"links": [
{
"id": 30,
"name": "Website",
"link": "https://example.com",
"type": "website"
}
],
"authors": [
{
"id": 20,
"name": "Example Author",
"type": "team",
"website": "https://example.com",
"updated": 1710000000
}
],
"versions": [
{
"specs": {
"id": -1,
"minimum": 4096,
"recommended": 8192
},
"targets": [
{
"version": "1.20.1",
"id": 40,
"name": "minecraft",
"type": "game",
"updated": 1710000000
}
],
"private": false,
"id": 200,
"name": "1.0.0",
"type": "release",
"updated": 1710000000
}
],
"installs": 1200,
"plays": 3400,
"tags": [
{
"id": 10,
"name": "tech"
}
],
"featured": true,
"refreshed": 1710000000,
"notification": "",
"rating": {
"id": -1,
"configured": false,
"verified": false,
"age": 7,
"gambling": false,
"frightening": true,
"alcoholdrugs": false,
"nuditysexual": false,
"sterotypeshate": false,
"language": false,
"violence": true
},
"status": "success",
"released": 1710000000,
"provider": "ftb",
"plays_14d": 120,
"private": false,
"id": 7000,
"name": "Example FTB Pack",
"type": "release",
"updated": 1710000000
}/public/ftb/{id}/{versionid} Get FTB version Returns a version record for an FTB pack version.
curl --request GET 'https://api.modpacks.ch/public/ftb/238222/%7Bversionid%7D'| Name | In | Type | Description |
|---|---|---|---|
id required | path | integer (int32) | FTB pack ID. |
versionid required | path | integer (int32) | FTB version ID. |
ModpackApiDataResponsePayloadVersionPayload{
"status": "success",
"installs": 1200,
"plays": 3400,
"refreshed": 1710000000,
"changelog": "Updated mods and configuration.",
"parent": 100,
"notification": "",
"links": [
{
"id": 30,
"name": "Website",
"link": "https://example.com",
"type": "website"
}
],
"targets": [
{
"version": "1.20.1",
"id": 40,
"name": "minecraft",
"type": "game",
"updated": 1710000000
}
],
"specs": {
"id": -1,
"minimum": 4096,
"recommended": 8192
},
"files": [
{
"version": "1.0.0",
"path": "mods/",
"url": "https://example.com/example-mod.jar",
"mirrors": [],
"sha1": "1111111111111111111111111111111111111111",
"size": 2048,
"tags": [
{
"id": 10,
"name": "tech"
}
],
"clientonly": false,
"serveronly": false,
"optional": false,
"curseforge": {
"project": "5000",
"file": "6000"
},
"id": 6000,
"name": "example-mod.jar",
"type": "mod",
"updated": 1710000000
}
],
"private": false,
"id": 200,
"name": "1.0.0",
"type": "release",
"updated": 1710000000
}26 endpoints
Browse and search CurseForge projects through Modpacks.ch.
/public/curseforge/browse/{filter} Browse CurseForge modpacks Returns a paged list of CurseForge modpacks. Filters can include loader, game version, category, sort, and page segments.
curl --request GET 'https://api.modpacks.ch/public/curseforge/browse/popular'| Name | In | Type | Description |
|---|---|---|---|
filter required | path | string | First filter, sort, category, loader, or game version. |
ModpackApiDataResponsePayloadProviderBrowsePacksPayload{
"refreshed": 1710000000,
"status": "success",
"packs": [
{
"id": 5000,
"name": "Example Project",
"updated": 1710000000,
"synopsis": "A short project summary.",
"type": "release",
"art": [
{
"type": "square",
"url": "https://example.com/art.png",
"mirrors": []
}
],
"authors": [
{
"id": 20,
"name": "Example Author",
"type": "team",
"website": "https://example.com",
"updated": 1710000000
}
],
"tags": [
{
"id": 10,
"name": "tech"
}
],
"provider": "curseforge",
"installs": 1200,
"links": null,
"targets": null
}
],
"page": "1",
"pages": 3
}/public/curseforge/browse/{filter}/{secondFilter} Browse CurseForge modpacks Returns a paged list of CurseForge modpacks. Filters can include loader, game version, category, sort, and page segments.
curl --request GET 'https://api.modpacks.ch/public/curseforge/browse/popular/%7BsecondFilter%7D'| Name | In | Type | Description |
|---|---|---|---|
filter required | path | string | First filter, sort, category, loader, or game version. |
secondFilter required | path | string | Optional second filter. |
ModpackApiDataResponsePayloadProviderBrowsePacksPayload{
"refreshed": 1710000000,
"status": "success",
"packs": [
{
"id": 5000,
"name": "Example Project",
"updated": 1710000000,
"synopsis": "A short project summary.",
"type": "release",
"art": [
{
"type": "square",
"url": "https://example.com/art.png",
"mirrors": []
}
],
"authors": [
{
"id": 20,
"name": "Example Author",
"type": "team",
"website": "https://example.com",
"updated": 1710000000
}
],
"tags": [
{
"id": 10,
"name": "tech"
}
],
"provider": "curseforge",
"installs": 1200,
"links": null,
"targets": null
}
],
"page": "1",
"pages": 3
}/public/curseforge/browse/{filter}/{secondFilter}/{thirdFilter} Browse CurseForge modpacks Returns a paged list of CurseForge modpacks. Filters can include loader, game version, category, sort, and page segments.
curl --request GET 'https://api.modpacks.ch/public/curseforge/browse/popular/%7BsecondFilter%7D/%7BthirdFilter%7D'| Name | In | Type | Description |
|---|---|---|---|
filter required | path | string | First filter, sort, category, loader, or game version. |
secondFilter required | path | string | Optional second filter. |
thirdFilter required | path | string | Optional third filter. |
ModpackApiDataResponsePayloadProviderBrowsePacksPayload{
"refreshed": 1710000000,
"status": "success",
"packs": [
{
"id": 5000,
"name": "Example Project",
"updated": 1710000000,
"synopsis": "A short project summary.",
"type": "release",
"art": [
{
"type": "square",
"url": "https://example.com/art.png",
"mirrors": []
}
],
"authors": [
{
"id": 20,
"name": "Example Author",
"type": "team",
"website": "https://example.com",
"updated": 1710000000
}
],
"tags": [
{
"id": 10,
"name": "tech"
}
],
"provider": "curseforge",
"installs": 1200,
"links": null,
"targets": null
}
],
"page": "1",
"pages": 3
}/public/curseforge/browse/{filter}/{secondFilter}/{thirdFilter}/{sort} Browse CurseForge modpacks Returns a paged list of CurseForge modpacks. Filters can include loader, game version, category, sort, and page segments.
curl --request GET 'https://api.modpacks.ch/public/curseforge/browse/popular/%7BsecondFilter%7D/%7BthirdFilter%7D/popular'| Name | In | Type | Description |
|---|---|---|---|
filter required | path | string | First filter, sort, category, loader, or game version. |
secondFilter required | path | string | Optional second filter. |
thirdFilter required | path | string | Optional third filter. |
sort required | path | string | Optional sort field. |
ModpackApiDataResponsePayloadProviderBrowsePacksPayload{
"refreshed": 1710000000,
"status": "success",
"packs": [
{
"id": 5000,
"name": "Example Project",
"updated": 1710000000,
"synopsis": "A short project summary.",
"type": "release",
"art": [
{
"type": "square",
"url": "https://example.com/art.png",
"mirrors": []
}
],
"authors": [
{
"id": 20,
"name": "Example Author",
"type": "team",
"website": "https://example.com",
"updated": 1710000000
}
],
"tags": [
{
"id": 10,
"name": "tech"
}
],
"provider": "curseforge",
"installs": 1200,
"links": null,
"targets": null
}
],
"page": "1",
"pages": 3
}/public/curseforge/browse/{filter}/{secondFilter}/{thirdFilter}/{sort}/{page} Browse CurseForge modpacks Returns a paged list of CurseForge modpacks. Filters can include loader, game version, category, sort, and page segments.
curl --request GET 'https://api.modpacks.ch/public/curseforge/browse/popular/%7BsecondFilter%7D/%7BthirdFilter%7D/popular/1'| Name | In | Type | Description |
|---|---|---|---|
filter required | path | string | First filter, sort, category, loader, or game version. |
secondFilter required | path | string | Optional second filter. |
thirdFilter required | path | string | Optional third filter. |
sort required | path | string | Optional sort field. |
page required | path | string | Optional page number. |
ModpackApiDataResponsePayloadProviderBrowsePacksPayload{
"refreshed": 1710000000,
"status": "success",
"packs": [
{
"id": 5000,
"name": "Example Project",
"updated": 1710000000,
"synopsis": "A short project summary.",
"type": "release",
"art": [
{
"type": "square",
"url": "https://example.com/art.png",
"mirrors": []
}
],
"authors": [
{
"id": 20,
"name": "Example Author",
"type": "team",
"website": "https://example.com",
"updated": 1710000000
}
],
"tags": [
{
"id": 10,
"name": "tech"
}
],
"provider": "curseforge",
"installs": 1200,
"links": null,
"targets": null
}
],
"page": "1",
"pages": 3
}/public/curseforge/search/{filter} Browse CurseForge modpacks Returns a paged list of CurseForge modpacks. Filters can include loader, game version, category, sort, and page segments.
curl --request GET 'https://api.modpacks.ch/public/curseforge/search/popular'| Name | In | Type | Description |
|---|---|---|---|
filter required | path | string | First filter, sort, category, loader, or game version. |
ModpackApiDataResponsePayloadProviderBrowsePacksPayload{
"refreshed": 1710000000,
"status": "success",
"packs": [
{
"id": 5000,
"name": "Example Project",
"updated": 1710000000,
"synopsis": "A short project summary.",
"type": "release",
"art": [
{
"type": "square",
"url": "https://example.com/art.png",
"mirrors": []
}
],
"authors": [
{
"id": 20,
"name": "Example Author",
"type": "team",
"website": "https://example.com",
"updated": 1710000000
}
],
"tags": [
{
"id": 10,
"name": "tech"
}
],
"provider": "curseforge",
"installs": 1200,
"links": null,
"targets": null
}
],
"page": "1",
"pages": 3
}/public/curseforge/search/{filter}/{secondFilter} Browse CurseForge modpacks Returns a paged list of CurseForge modpacks. Filters can include loader, game version, category, sort, and page segments.
curl --request GET 'https://api.modpacks.ch/public/curseforge/search/popular/%7BsecondFilter%7D'| Name | In | Type | Description |
|---|---|---|---|
filter required | path | string | First filter, sort, category, loader, or game version. |
secondFilter required | path | string | Optional second filter. |
ModpackApiDataResponsePayloadProviderBrowsePacksPayload{
"refreshed": 1710000000,
"status": "success",
"packs": [
{
"id": 5000,
"name": "Example Project",
"updated": 1710000000,
"synopsis": "A short project summary.",
"type": "release",
"art": [
{
"type": "square",
"url": "https://example.com/art.png",
"mirrors": []
}
],
"authors": [
{
"id": 20,
"name": "Example Author",
"type": "team",
"website": "https://example.com",
"updated": 1710000000
}
],
"tags": [
{
"id": 10,
"name": "tech"
}
],
"provider": "curseforge",
"installs": 1200,
"links": null,
"targets": null
}
],
"page": "1",
"pages": 3
}/public/curseforge/search/{filter}/{secondFilter}/{thirdFilter} Browse CurseForge modpacks Returns a paged list of CurseForge modpacks. Filters can include loader, game version, category, sort, and page segments.
curl --request GET 'https://api.modpacks.ch/public/curseforge/search/popular/%7BsecondFilter%7D/%7BthirdFilter%7D'| Name | In | Type | Description |
|---|---|---|---|
filter required | path | string | First filter, sort, category, loader, or game version. |
secondFilter required | path | string | Optional second filter. |
thirdFilter required | path | string | Optional third filter. |
ModpackApiDataResponsePayloadProviderBrowsePacksPayload{
"refreshed": 1710000000,
"status": "success",
"packs": [
{
"id": 5000,
"name": "Example Project",
"updated": 1710000000,
"synopsis": "A short project summary.",
"type": "release",
"art": [
{
"type": "square",
"url": "https://example.com/art.png",
"mirrors": []
}
],
"authors": [
{
"id": 20,
"name": "Example Author",
"type": "team",
"website": "https://example.com",
"updated": 1710000000
}
],
"tags": [
{
"id": 10,
"name": "tech"
}
],
"provider": "curseforge",
"installs": 1200,
"links": null,
"targets": null
}
],
"page": "1",
"pages": 3
}/public/curseforge/search/{filter}/{secondFilter}/{thirdFilter}/{sort} Browse CurseForge modpacks Returns a paged list of CurseForge modpacks. Filters can include loader, game version, category, sort, and page segments.
curl --request GET 'https://api.modpacks.ch/public/curseforge/search/popular/%7BsecondFilter%7D/%7BthirdFilter%7D/popular'| Name | In | Type | Description |
|---|---|---|---|
filter required | path | string | First filter, sort, category, loader, or game version. |
secondFilter required | path | string | Optional second filter. |
thirdFilter required | path | string | Optional third filter. |
sort required | path | string | Optional sort field. |
ModpackApiDataResponsePayloadProviderBrowsePacksPayload{
"refreshed": 1710000000,
"status": "success",
"packs": [
{
"id": 5000,
"name": "Example Project",
"updated": 1710000000,
"synopsis": "A short project summary.",
"type": "release",
"art": [
{
"type": "square",
"url": "https://example.com/art.png",
"mirrors": []
}
],
"authors": [
{
"id": 20,
"name": "Example Author",
"type": "team",
"website": "https://example.com",
"updated": 1710000000
}
],
"tags": [
{
"id": 10,
"name": "tech"
}
],
"provider": "curseforge",
"installs": 1200,
"links": null,
"targets": null
}
],
"page": "1",
"pages": 3
}/public/curseforge/search/{filter}/{secondFilter}/{thirdFilter}/{sort}/{page} Browse CurseForge modpacks Returns a paged list of CurseForge modpacks. Filters can include loader, game version, category, sort, and page segments.
curl --request GET 'https://api.modpacks.ch/public/curseforge/search/popular/%7BsecondFilter%7D/%7BthirdFilter%7D/popular/1'| Name | In | Type | Description |
|---|---|---|---|
filter required | path | string | First filter, sort, category, loader, or game version. |
secondFilter required | path | string | Optional second filter. |
thirdFilter required | path | string | Optional third filter. |
sort required | path | string | Optional sort field. |
page required | path | string | Optional page number. |
ModpackApiDataResponsePayloadProviderBrowsePacksPayload{
"refreshed": 1710000000,
"status": "success",
"packs": [
{
"id": 5000,
"name": "Example Project",
"updated": 1710000000,
"synopsis": "A short project summary.",
"type": "release",
"art": [
{
"type": "square",
"url": "https://example.com/art.png",
"mirrors": []
}
],
"authors": [
{
"id": 20,
"name": "Example Author",
"type": "team",
"website": "https://example.com",
"updated": 1710000000
}
],
"tags": [
{
"id": 10,
"name": "tech"
}
],
"provider": "curseforge",
"installs": 1200,
"links": null,
"targets": null
}
],
"page": "1",
"pages": 3
}/public/curseforge/mods/browse/{filter} Browse CurseForge mods Returns a paged list of CurseForge mods. Filters can include loader, game version, category, sort, and page segments.
curl --request GET 'https://api.modpacks.ch/public/curseforge/mods/browse/popular'| Name | In | Type | Description |
|---|---|---|---|
filter required | path | string | First filter, sort, category, loader, or game version. |
ModpackApiDataResponsePayloadProviderBrowseModsPayload{
"refreshed": 1710000000,
"status": "success",
"mods": [
{
"id": 5000,
"name": "Example Project",
"updated": 1710000000,
"synopsis": "A short project summary.",
"type": "release",
"art": [
{
"type": "square",
"url": "https://example.com/art.png",
"mirrors": []
}
],
"authors": [
{
"id": 20,
"name": "Example Author",
"type": "team",
"website": "https://example.com",
"updated": 1710000000
}
],
"tags": [
{
"id": 10,
"name": "tech"
}
],
"provider": "curseforge",
"installs": 1200,
"links": null,
"targets": null
}
],
"page": "1",
"pages": 3
}/public/curseforge/mods/browse/{filter}/{secondFilter} Browse CurseForge mods Returns a paged list of CurseForge mods. Filters can include loader, game version, category, sort, and page segments.
curl --request GET 'https://api.modpacks.ch/public/curseforge/mods/browse/popular/%7BsecondFilter%7D'| Name | In | Type | Description |
|---|---|---|---|
filter required | path | string | First filter, sort, category, loader, or game version. |
secondFilter required | path | string | Optional second filter. |
ModpackApiDataResponsePayloadProviderBrowseModsPayload{
"refreshed": 1710000000,
"status": "success",
"mods": [
{
"id": 5000,
"name": "Example Project",
"updated": 1710000000,
"synopsis": "A short project summary.",
"type": "release",
"art": [
{
"type": "square",
"url": "https://example.com/art.png",
"mirrors": []
}
],
"authors": [
{
"id": 20,
"name": "Example Author",
"type": "team",
"website": "https://example.com",
"updated": 1710000000
}
],
"tags": [
{
"id": 10,
"name": "tech"
}
],
"provider": "curseforge",
"installs": 1200,
"links": null,
"targets": null
}
],
"page": "1",
"pages": 3
}/public/curseforge/mods/browse/{filter}/{secondFilter}/{thirdFilter} Browse CurseForge mods Returns a paged list of CurseForge mods. Filters can include loader, game version, category, sort, and page segments.
curl --request GET 'https://api.modpacks.ch/public/curseforge/mods/browse/popular/%7BsecondFilter%7D/%7BthirdFilter%7D'| Name | In | Type | Description |
|---|---|---|---|
filter required | path | string | First filter, sort, category, loader, or game version. |
secondFilter required | path | string | Optional second filter. |
thirdFilter required | path | string | Optional third filter. |
ModpackApiDataResponsePayloadProviderBrowseModsPayload{
"refreshed": 1710000000,
"status": "success",
"mods": [
{
"id": 5000,
"name": "Example Project",
"updated": 1710000000,
"synopsis": "A short project summary.",
"type": "release",
"art": [
{
"type": "square",
"url": "https://example.com/art.png",
"mirrors": []
}
],
"authors": [
{
"id": 20,
"name": "Example Author",
"type": "team",
"website": "https://example.com",
"updated": 1710000000
}
],
"tags": [
{
"id": 10,
"name": "tech"
}
],
"provider": "curseforge",
"installs": 1200,
"links": null,
"targets": null
}
],
"page": "1",
"pages": 3
}/public/curseforge/mods/browse/{filter}/{secondFilter}/{thirdFilter}/{sort} Browse CurseForge mods Returns a paged list of CurseForge mods. Filters can include loader, game version, category, sort, and page segments.
curl --request GET 'https://api.modpacks.ch/public/curseforge/mods/browse/popular/%7BsecondFilter%7D/%7BthirdFilter%7D/popular'| Name | In | Type | Description |
|---|---|---|---|
filter required | path | string | First filter, sort, category, loader, or game version. |
secondFilter required | path | string | Optional second filter. |
thirdFilter required | path | string | Optional third filter. |
sort required | path | string | Optional sort field. |
ModpackApiDataResponsePayloadProviderBrowseModsPayload{
"refreshed": 1710000000,
"status": "success",
"mods": [
{
"id": 5000,
"name": "Example Project",
"updated": 1710000000,
"synopsis": "A short project summary.",
"type": "release",
"art": [
{
"type": "square",
"url": "https://example.com/art.png",
"mirrors": []
}
],
"authors": [
{
"id": 20,
"name": "Example Author",
"type": "team",
"website": "https://example.com",
"updated": 1710000000
}
],
"tags": [
{
"id": 10,
"name": "tech"
}
],
"provider": "curseforge",
"installs": 1200,
"links": null,
"targets": null
}
],
"page": "1",
"pages": 3
}/public/curseforge/mods/browse/{filter}/{secondFilter}/{thirdFilter}/{sort}/{page} Browse CurseForge mods Returns a paged list of CurseForge mods. Filters can include loader, game version, category, sort, and page segments.
curl --request GET 'https://api.modpacks.ch/public/curseforge/mods/browse/popular/%7BsecondFilter%7D/%7BthirdFilter%7D/popular/1'| Name | In | Type | Description |
|---|---|---|---|
filter required | path | string | First filter, sort, category, loader, or game version. |
secondFilter required | path | string | Optional second filter. |
thirdFilter required | path | string | Optional third filter. |
sort required | path | string | Optional sort field. |
page required | path | string | Optional page number. |
ModpackApiDataResponsePayloadProviderBrowseModsPayload{
"refreshed": 1710000000,
"status": "success",
"mods": [
{
"id": 5000,
"name": "Example Project",
"updated": 1710000000,
"synopsis": "A short project summary.",
"type": "release",
"art": [
{
"type": "square",
"url": "https://example.com/art.png",
"mirrors": []
}
],
"authors": [
{
"id": 20,
"name": "Example Author",
"type": "team",
"website": "https://example.com",
"updated": 1710000000
}
],
"tags": [
{
"id": 10,
"name": "tech"
}
],
"provider": "curseforge",
"installs": 1200,
"links": null,
"targets": null
}
],
"page": "1",
"pages": 3
}/public/curseforge/mods/search/{filter} Browse CurseForge mods Returns a paged list of CurseForge mods. Filters can include loader, game version, category, sort, and page segments.
curl --request GET 'https://api.modpacks.ch/public/curseforge/mods/search/popular'| Name | In | Type | Description |
|---|---|---|---|
filter required | path | string | First filter, sort, category, loader, or game version. |
ModpackApiDataResponsePayloadProviderBrowseModsPayload{
"refreshed": 1710000000,
"status": "success",
"mods": [
{
"id": 5000,
"name": "Example Project",
"updated": 1710000000,
"synopsis": "A short project summary.",
"type": "release",
"art": [
{
"type": "square",
"url": "https://example.com/art.png",
"mirrors": []
}
],
"authors": [
{
"id": 20,
"name": "Example Author",
"type": "team",
"website": "https://example.com",
"updated": 1710000000
}
],
"tags": [
{
"id": 10,
"name": "tech"
}
],
"provider": "curseforge",
"installs": 1200,
"links": null,
"targets": null
}
],
"page": "1",
"pages": 3
}/public/curseforge/mods/search/{filter}/{secondFilter} Browse CurseForge mods Returns a paged list of CurseForge mods. Filters can include loader, game version, category, sort, and page segments.
curl --request GET 'https://api.modpacks.ch/public/curseforge/mods/search/popular/%7BsecondFilter%7D'| Name | In | Type | Description |
|---|---|---|---|
filter required | path | string | First filter, sort, category, loader, or game version. |
secondFilter required | path | string | Optional second filter. |
ModpackApiDataResponsePayloadProviderBrowseModsPayload{
"refreshed": 1710000000,
"status": "success",
"mods": [
{
"id": 5000,
"name": "Example Project",
"updated": 1710000000,
"synopsis": "A short project summary.",
"type": "release",
"art": [
{
"type": "square",
"url": "https://example.com/art.png",
"mirrors": []
}
],
"authors": [
{
"id": 20,
"name": "Example Author",
"type": "team",
"website": "https://example.com",
"updated": 1710000000
}
],
"tags": [
{
"id": 10,
"name": "tech"
}
],
"provider": "curseforge",
"installs": 1200,
"links": null,
"targets": null
}
],
"page": "1",
"pages": 3
}/public/curseforge/mods/search/{filter}/{secondFilter}/{thirdFilter} Browse CurseForge mods Returns a paged list of CurseForge mods. Filters can include loader, game version, category, sort, and page segments.
curl --request GET 'https://api.modpacks.ch/public/curseforge/mods/search/popular/%7BsecondFilter%7D/%7BthirdFilter%7D'| Name | In | Type | Description |
|---|---|---|---|
filter required | path | string | First filter, sort, category, loader, or game version. |
secondFilter required | path | string | Optional second filter. |
thirdFilter required | path | string | Optional third filter. |
ModpackApiDataResponsePayloadProviderBrowseModsPayload{
"refreshed": 1710000000,
"status": "success",
"mods": [
{
"id": 5000,
"name": "Example Project",
"updated": 1710000000,
"synopsis": "A short project summary.",
"type": "release",
"art": [
{
"type": "square",
"url": "https://example.com/art.png",
"mirrors": []
}
],
"authors": [
{
"id": 20,
"name": "Example Author",
"type": "team",
"website": "https://example.com",
"updated": 1710000000
}
],
"tags": [
{
"id": 10,
"name": "tech"
}
],
"provider": "curseforge",
"installs": 1200,
"links": null,
"targets": null
}
],
"page": "1",
"pages": 3
}/public/curseforge/mods/search/{filter}/{secondFilter}/{thirdFilter}/{sort} Browse CurseForge mods Returns a paged list of CurseForge mods. Filters can include loader, game version, category, sort, and page segments.
curl --request GET 'https://api.modpacks.ch/public/curseforge/mods/search/popular/%7BsecondFilter%7D/%7BthirdFilter%7D/popular'| Name | In | Type | Description |
|---|---|---|---|
filter required | path | string | First filter, sort, category, loader, or game version. |
secondFilter required | path | string | Optional second filter. |
thirdFilter required | path | string | Optional third filter. |
sort required | path | string | Optional sort field. |
ModpackApiDataResponsePayloadProviderBrowseModsPayload{
"refreshed": 1710000000,
"status": "success",
"mods": [
{
"id": 5000,
"name": "Example Project",
"updated": 1710000000,
"synopsis": "A short project summary.",
"type": "release",
"art": [
{
"type": "square",
"url": "https://example.com/art.png",
"mirrors": []
}
],
"authors": [
{
"id": 20,
"name": "Example Author",
"type": "team",
"website": "https://example.com",
"updated": 1710000000
}
],
"tags": [
{
"id": 10,
"name": "tech"
}
],
"provider": "curseforge",
"installs": 1200,
"links": null,
"targets": null
}
],
"page": "1",
"pages": 3
}/public/curseforge/mods/search/{filter}/{secondFilter}/{thirdFilter}/{sort}/{page} Browse CurseForge mods Returns a paged list of CurseForge mods. Filters can include loader, game version, category, sort, and page segments.
curl --request GET 'https://api.modpacks.ch/public/curseforge/mods/search/popular/%7BsecondFilter%7D/%7BthirdFilter%7D/popular/1'| Name | In | Type | Description |
|---|---|---|---|
filter required | path | string | First filter, sort, category, loader, or game version. |
secondFilter required | path | string | Optional second filter. |
thirdFilter required | path | string | Optional third filter. |
sort required | path | string | Optional sort field. |
page required | path | string | Optional page number. |
ModpackApiDataResponsePayloadProviderBrowseModsPayload{
"refreshed": 1710000000,
"status": "success",
"mods": [
{
"id": 5000,
"name": "Example Project",
"updated": 1710000000,
"synopsis": "A short project summary.",
"type": "release",
"art": [
{
"type": "square",
"url": "https://example.com/art.png",
"mirrors": []
}
],
"authors": [
{
"id": 20,
"name": "Example Author",
"type": "team",
"website": "https://example.com",
"updated": 1710000000
}
],
"tags": [
{
"id": 10,
"name": "tech"
}
],
"provider": "curseforge",
"installs": 1200,
"links": null,
"targets": null
}
],
"page": "1",
"pages": 3
}/public/curseforge/{id} Get CurseForge modpack Returns a modpack record for a CurseForge project. Synopsis is the short CurseForge summary; description is provider-authored Markdown converted from CurseForge HTML and must be treated as untrusted content.
curl --request GET 'https://api.modpacks.ch/public/curseforge/238222'| Name | In | Type | Description |
|---|---|---|---|
id required | path | integer (int32) | CurseForge project ID. |
ModpackApiDataResponsePayloadModpackPayload{
"synopsis": "A short pack summary.",
"description": "## About this pack\n\nA longer provider-authored description in **Markdown**.",
"art": [
{
"id": 300,
"type": "square",
"updated": 1710000000,
"url": "https://example.com/art.png",
"mirrors": [],
"sha1": "0000000000000000000000000000000000000000",
"size": 1024,
"width": 512,
"height": 512,
"compressed": true
}
],
"links": [
{
"id": 30,
"name": "Website",
"link": "https://example.com",
"type": "website"
}
],
"authors": [
{
"id": 20,
"name": "Example Author",
"type": "team",
"website": "https://example.com",
"updated": 1710000000
}
],
"versions": [
{
"specs": {
"id": -1,
"minimum": 4096,
"recommended": 8192
},
"targets": [
{
"version": "1.20.1",
"id": 40,
"name": "minecraft",
"type": "game",
"updated": 1710000000
}
],
"private": false,
"id": 200,
"name": "1.0.0",
"type": "release",
"updated": 1710000000
}
],
"installs": 1200,
"plays": 3400,
"tags": [
{
"id": 10,
"name": "tech"
}
],
"featured": true,
"refreshed": 1710000000,
"notification": "",
"rating": {
"id": -1,
"configured": false,
"verified": false,
"age": 7,
"gambling": false,
"frightening": true,
"alcoholdrugs": false,
"nuditysexual": false,
"sterotypeshate": false,
"language": false,
"violence": true
},
"status": "success",
"released": 1710000000,
"provider": "curseforge",
"plays_14d": 120,
"private": false,
"id": 5000,
"name": "Example CurseForge Pack",
"type": "release",
"updated": 1710000000
}/public/curseforge/{id}/{versionid} Get CurseForge version Returns a version record for a CurseForge modpack project file.
curl --request GET 'https://api.modpacks.ch/public/curseforge/238222/%7Bversionid%7D'| Name | In | Type | Description |
|---|---|---|---|
id required | path | integer (int32) | CurseForge project ID. |
versionid required | path | integer (int32) | CurseForge file ID. |
ModpackApiDataResponsePayloadVersionPayload{
"status": "success",
"installs": 1200,
"plays": 3400,
"refreshed": 1710000000,
"changelog": "Updated mods and configuration.",
"parent": 100,
"notification": "",
"links": [
{
"id": 30,
"name": "Website",
"link": "https://example.com",
"type": "website"
}
],
"targets": [
{
"version": "1.20.1",
"id": 40,
"name": "minecraft",
"type": "game",
"updated": 1710000000
}
],
"specs": {
"id": -1,
"minimum": 4096,
"recommended": 8192
},
"files": [
{
"version": "1.0.0",
"path": "mods/",
"url": "https://example.com/example-mod.jar",
"mirrors": [],
"sha1": "1111111111111111111111111111111111111111",
"size": 2048,
"tags": [
{
"id": 10,
"name": "tech"
}
],
"clientonly": false,
"serveronly": false,
"optional": false,
"curseforge": {
"project": "5000",
"file": "6000"
},
"id": 6000,
"name": "example-mod.jar",
"type": "mod",
"updated": 1710000000
}
],
"private": false,
"id": 200,
"name": "1.0.0",
"type": "release",
"updated": 1710000000
}/public/curseforge/{id}/{versionid}/server/{platform} Download CurseForge server installer Downloads the platform-specific server installer binary for a CurseForge modpack file.
curl --request GET 'https://api.modpacks.ch/public/curseforge/238222/%7Bversionid%7D/server/%7Bplatform%7D'| Name | In | Type | Description |
|---|---|---|---|
id required | path | integer (int32) | CurseForge project ID. |
versionid required | path | integer (int32) | CurseForge file ID. |
platform required | path | string | Target platform: linux, mac, freebsd, or windows. |
string (binary)TVoAAA==/public/curseforge/{id}/{versionid}/server/{arch}/{platform} Download CurseForge server installer Downloads the platform-specific server installer binary for a CurseForge modpack file.
curl --request GET 'https://api.modpacks.ch/public/curseforge/238222/%7Bversionid%7D/server/%7Barch%7D/%7Bplatform%7D'| Name | In | Type | Description |
|---|---|---|---|
id required | path | integer (int32) | CurseForge project ID. |
versionid required | path | integer (int32) | CurseForge file ID. |
arch required | path | string | Optional architecture, such as arm or arm64. |
platform required | path | string | Target platform: linux, mac, freebsd, or windows. |
string (binary)TVoAAA==40 schemas
Open a type to see the fields an endpoint can return.
ModpackApiDataResponsePayloadTagPayload 2 fieldsid unknown name string ModpackApiDataResponsePayloadPingPayload 2 fieldsstatus string reply string ModpackApiDataResponsePayloadProviderModPayload 16 fieldsid unknown name string type string updated integer (int64) synopsis string description string art array<ModpackApiDataResponsePayloadProviderArtPayload> links array<ModpackApiDataResponsePayloadLinkPayload> authors array<ModpackApiDataResponsePayloadProviderAuthorPayload> tags array<ModpackApiDataResponsePayloadTagPayload> versions array<ModpackApiDataResponsePayloadProviderFilePayload> installs integer (int32) status string provider string refreshed integer (int64) timings array<unknown> ModpackApiDataResponsePayloadProviderArtPayload 6 fieldstype string url string mirrors array<string> width integer (int32) height integer (int32) compressed boolean ModpackApiDataResponsePayloadLinkPayload 4 fieldsid integer (int32) name string link string type string ModpackApiDataResponsePayloadProviderFilePayload 15 fieldsid unknown name string type string updated integer (int64) version string path string url string mirrors array<string> sha1 string size integer (int32) clientonly boolean serveronly boolean targets array<ModpackApiDataResponsePayloadProviderTargetPayload> dependencies array<ModpackApiDataResponsePayloadDependencyPayload> conflicts array<ModpackApiDataResponsePayloadDependencyPayload> ModpackApiDataResponsePayloadProviderTargetPayload 5 fieldsid unknown name string type string version string updated integer (int64) ModpackApiDataResponsePayloadDependencyPayload 3 fieldsid unknown file unknown required boolean ModpackApiDataResponsePayloadPluginSearchPayload 4 fieldsplugins array<integer (int32)> total integer (int32) limit integer (int32) refreshed integer (int64) ModpackApiDataResponsePayloadModMetadataLookupPayload 2 fieldsstatus string meta ModpackApiDataResponsePayloadModMetadataPayload ModpackApiDataResponsePayloadModMetadataPayload 9 fieldsfileId integer (int32) name string filename string synopsis string icon string curseSlug string curseProject integer (int32) curseFile integer (int32) stored integer (int64) ModpackApiDataResponsePayloadModSearchPayload 5 fieldsmods array<unknown> total integer (int32) limit integer (int32) term string refreshed integer (int64) ModpackApiDataResponsePayloadProviderBrowsePacksPayload 5 fieldsrefreshed integer (int64) status string packs array<ModpackApiDataResponsePayloadProviderBrowseCardPayload> page string pages integer (int32) ModpackApiDataResponsePayloadProviderBrowseCardPayload 12 fieldsid unknown name string updated integer (int64) synopsis string type string art array<ModpackApiDataResponsePayloadArtLightPayload> authors array<ModpackApiDataResponsePayloadAuthorPayload> tags array<ModpackApiDataResponsePayloadTagPayload> provider string installs integer (int32) links array<ModpackApiDataResponsePayloadLinkPayload> targets array<ModpackApiDataResponsePayloadProviderTargetPayload> ModpackApiDataResponsePayloadArtLightPayload 3 fieldstype string url string mirrors array<string> ModpackApiDataResponsePayloadProviderBrowseModsPayload 5 fieldsrefreshed integer (int64) status string mods array<ModpackApiDataResponsePayloadProviderBrowseCardPayload> page string pages integer (int32) ModpackApiDataResponsePayloadStatusMessagePayload 2 fieldsstatus string message string ModpackApiDataResponsePayloadBrowsePayload 5 fieldsrefreshed integer (int64) status string packs array<ModpackApiDataResponsePayloadBrowsePackPayload> page string pages integer (int32) ModpackApiDataResponsePayloadBrowsePackPayload 10 fieldsid string name string provider string synopsis string type string updated integer (int64) art array<ModpackApiDataResponsePayloadArtLightPayload> authors array<ModpackApiDataResponsePayloadAuthorPayload> tags array<ModpackApiDataResponsePayloadTagPayload> installs integer (int32) ModpackApiDataResponsePayloadChangelogPayload 3 fieldsstatus string content string updated integer (int64) ModpackApiDataResponsePayloadModpackPayload 22 fieldsid integer (int32) name string type string updated integer (int64) synopsis string description string art array<ModpackApiDataResponsePayloadArtPayload> links array<ModpackApiDataResponsePayloadLinkPayload> authors array<ModpackApiDataResponsePayloadAuthorPayload> versions array<ModpackApiDataResponsePayloadMiniVersionPayload> installs integer (int32) plays integer (int32) tags array<ModpackApiDataResponsePayloadTagPayload> featured boolean refreshed integer (int64) notification string rating ModpackApiDataResponsePayloadRatingPayload status string released unknown provider string plays_14d integer (int32) private boolean ModpackApiDataResponsePayloadArtPayload 10 fieldsid integer (int32) type string updated integer (int64) url string mirrors array<string> sha1 string size integer (int32) width integer (int32) height integer (int32) compressed boolean ModpackApiDataResponsePayloadMiniVersionPayload 7 fieldsid integer (int32) name string type string updated integer (int64) specs ModpackApiDataResponsePayloadRecommendPayload targets array<ModpackApiDataResponsePayloadTargetPayload> private boolean ModpackApiDataResponsePayloadRecommendPayload 3 fieldsid integer (int32) minimum integer (int32) recommended integer (int32) ModpackApiDataResponsePayloadTargetPayload 5 fieldsid integer (int32) name string type string updated integer (int64) version string ModpackApiDataResponsePayloadRatingPayload 11 fieldsid integer (int32) configured boolean verified boolean age integer (int32) gambling boolean frightening boolean alcoholdrugs boolean nuditysexual boolean sterotypeshate boolean language boolean violence boolean ModpackApiDataResponsePayloadPackIdListPayload 5 fieldspacks array<integer (int32)> total integer (int32) limit integer (int32) refreshed integer (int64) status string ModpackApiDataResponsePayloadPopularPacksPayload 7 fieldspacks array<integer (int32)> total integer (int32) type string limit integer (int32) status string refreshed integer (int64) days integer (int32) ModpackApiDataResponsePayloadSearchPayload 5 fieldspacks array<integer (int32)> curseforge array<integer (int32)> total integer (int32) limit integer (int32) refreshed integer (int64) ModpackApiDataResponsePayloadVersionPayload 16 fieldsid integer (int32) name string type string updated integer (int64) status string installs integer (int32) plays integer (int32) refreshed integer (int64) changelog string parent integer (int32) notification string links array<ModpackApiDataResponsePayloadLinkPayload> targets array<ModpackApiDataResponsePayloadTargetPayload> specs ModpackApiDataResponsePayloadRecommendPayload files array<ModpackApiDataResponsePayloadFilePayload> private boolean ModpackApiDataResponsePayloadFilePayload 15 fieldsid integer (int32) name string type string updated integer (int64) version string path string url string mirrors array<string> sha1 string size integer (int32) tags array<ModpackApiDataResponsePayloadTagPayload> clientonly boolean serveronly boolean optional boolean curseforge ModpackApiDataResponsePayloadCurseForgeReferencePayload ModpackApiDataResponsePayloadCurseForgeReferencePayload 2 fieldsproject string file string ModpackApiDataResponsePayloadVersionModsPayload 16 fieldsid integer (int32) name string type string updated integer (int64) status string installs integer (int32) plays integer (int32) refreshed integer (int64) changelog string parent integer (int32) notification string links array<ModpackApiDataResponsePayloadLinkPayload> targets array<ModpackApiDataResponsePayloadTargetPayload> specs ModpackApiDataResponsePayloadRecommendPayload files string mods array<ModpackApiDataResponsePayloadModMetadataPayload> ModpackApiDataResponsePayloadLoaderPayload 7 fieldsstatus string art array<ModpackApiDataResponsePayloadArtPayload> loaders array<ModpackApiDataResponsePayloadLoaderVersionPayload> id integer (int32) name string total integer (int32) refreshed integer (int64) ModpackApiDataResponsePayloadLoaderVersionPayload 5 fieldsid integer (int32) version string game string gameVersion string type string