CurseForge

Curseforge () is a game modification hosting website. It is particularly notable for being the de facto website for hosting community-made Minecraft mods.
==Events==
===Forums deprecation===
On 2022 December 25, CurseForge's and forums were marked as deprecated Soon™.
==URL patterns==
CurseForge is organized into 'projects'. Each project has a video game and a project type attached; this is how the URL slug is determined. For example, has components for the video game (Minecraft) and the type (mc-mod). This makes guessing URLs extremely difficult.
However, there is a projects endpoint which is a number incrementing from 1 to infinity; as such, these URLs can be guessed very easily. This is the internal identifier, and redirects to the pretty URL slug. (This number is used in various other places in the API.) For example, redierects to .
==API Archival==
API documentation found at . A list of information not found in the official documentation is found below: 
* https://www.curseforge.com/api/v1/mods/{modid}/files/{fileid}/download leads to the download of each of the fileIDs found in https://www.curseforge.com/api/v1/mods/{modid}/files
* https://www.curseforge.com/api/v1/mods/{modid}/description does not work
* https://www.curseforge.com/api/v1/mods/{modid}/files/{fileid}/change-log exists
* https://www.curseforge.com/api/v1/mods/{modid}/comments exists
* https://www.curseforge.com/api/v1/mods/{modid}/files/{fileid}/additional-files exists. There are a few cases where an additional file itself has additional files.
Below is a table of ArchiveBot runs on the API:
API 	Status	Archive details 	Archive details	Archive details	Archive details	Archive details	Archive details	Archive details
API 	Status	Tool 	URL list 	Job 	Date 	Size 	Objects 	Notes
https://www.curseforge.com/api/v1/mods/{modId}/files 	 	ArchiveBot (!ao < list)	 	ckpte 	2024-01-19 	 	1 warc 	
https://www.curseforge.com/api/v1/mods/{modid}/files?pageIndex={index} 	 	ArchiveBot (!ao < list)	 	8f579 	2024-01-20 	 	1 warc 	
https://www.curseforge.com/api/v1/mods/{modid}/files/{fileid}/additional-files	 	ArchiveBot (!ao < list)	 	e9np9 	2024-01-20 	 	1 warc 	
https://www.curseforge.com/api/v1/mods/{modid}/files/{fileid}/additional-files	 	ArchiveBot (!ao < list)	 	52ily 	2024-01-21 	 	1 warc 	
https://www.curseforge.com/api/v1/mods/{modid}/files/{fileid}/download 	 	ArchiveBot (!ao < list)	 	47cah 	2024-01-22 	 	840 warcs 	~500k of 2M mods downloaded successfully; edge.forgecdn.net temporarily was ignoring the Host header, avoiding wpull's 307 bug, but that changed partway through and we started getting 404s
https://www.curseforge.com/api/v1/mods/{modid}/files/{fileid}/download 	 	ArchiveBot (!ao < list)	 	cpamk 	2024-01-22 	 	3397 warcs 	edge.forgecdn.net URLs that got 404s on the previous job due to the 307 bug (successful captures were not redone)
https://www.curseforge.com/api/v1/mods/{modid}/comments 	 	ArchiveBot (!ao < list)	 	12cwp 	2024-06-10 	 	1 warc 	First page of comments for all mods
https://www.curseforge.com/api/v1/mods/{modid}/comments 	 	ArchiveBot (!ao < list)	 	el822 	2024-06-15 	 	1 warc 	Remaining pages of comments for mods with multiple pages
https://www.curseforge.com/api/v1/mods/{modid}/files/{fileid}/change-log 	 	ArchiveBot (!ao < list)	 	4yfhp 	2024-06-13 	 	1 warc 	Changelogs for all files (including additional files). For most mods this was null.
Search 	 	ArchiveBot (!ao < list)	 	 	 	 	 	
Profile Pictures 	 	ArchiveBot (!ao < list)	 	 	 	 	 	
Each run uses information from one of the previous runs. The first list was made by incrementing the modID from 0 to 999,999. 
While https://www.curseforge.com/api/v1/mods/963238 looks like it should provide information about each mod, it always gives 403 Forbidden resource (unlike nonexistent endpoints, which give 404 Cannot GET /api/v1/nonexistent). Information about individual mods is available via the search API (https://www.curseforge.com/api/v1/mods/search?gameId=432&index=0), but the search API only gives at most 10,000 results for each query, so queries will need to be chosen that give less than that many results.