{"id":19283538,"url":"https://github.com/reviversmc/the-mod-index","last_synced_at":"2025-10-24T00:50:12.772Z","repository":{"id":40449565,"uuid":"482403796","full_name":"ReviversMC/the-mod-index","owner":"ReviversMC","description":"Aiming to be a universal Minecraft mod index for all to use.","archived":false,"fork":false,"pushed_at":"2023-09-05T00:12:19.000Z","size":458,"stargazers_count":7,"open_issues_count":2,"forks_count":1,"subscribers_count":1,"default_branch":"v5","last_synced_at":"2025-01-05T17:32:05.122Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ReviversMC.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-04-17T02:01:29.000Z","updated_at":"2024-03-07T06:29:52.000Z","dependencies_parsed_at":"2025-01-05T17:28:04.436Z","dependency_job_id":"e8d167ee-00f2-4f57-bf3a-3e77b66c05f1","html_url":"https://github.com/ReviversMC/the-mod-index","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ReviversMC%2Fthe-mod-index","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ReviversMC%2Fthe-mod-index/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ReviversMC%2Fthe-mod-index/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ReviversMC%2Fthe-mod-index/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ReviversMC","download_url":"https://codeload.github.com/ReviversMC/the-mod-index/tar.gz/refs/heads/v5","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240390697,"owners_count":19793781,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-09T21:33:13.238Z","updated_at":"2025-10-24T00:50:07.714Z","avatar_url":"https://github.com/ReviversMC.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# The Mod Index\n\nWhich mod index? What?\n\nThe Mod Index plans to be a source where anyone can refer to for Minecraft mods, bridging the gap between multiple major\nmod hosting sites. Get mod metadata, download links, and more.  \nThe index does **NOT** host or redistribute mod files (e.g. jars), but instead provides links/information to the mod\nfiles.\n\n![Competing standards meme](./assets/competingStandards.png)\n\n## Difference between the-mod-index and other sources\n\n|                              | the-mod-index                                                                                                                    | Modrinth                                                | CurseForge                                              |\n|------------------------------|----------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------|---------------------------------------------------------|\n| Purpose                      | Provide mod information from multiple platforms                                                                                  | Mod downloading site                                    | Mod downloading site                                    |\n| Mod availability             | Modrinth, CurseForge, and user submitted mods. Files from Modrinth, Curse, GitHub and others. Not reliant on any single platform | Modrinth mods only                                      | CurseForge mods only                                    |\n| API usability                | Direct read only access to index/manifests                                                                                       | Open source REST api                                    | Closed source REST api                                  |\n| Reliability                  | Manifests hosted on GitHub, entire index and tools are forkable                                                                  | UNKNOWN, Backend is open source and forkable            | UNKNOWN                                                 |\n| Mod updates reflected by API | Delayed                                                                                                                          | Immediate                                               | Immediate                                               |\n| Relative creation date       | New                                                                                                                              | Established                                             | Established                                             |\n| List available mods          | Supported. One call to get them all                                                                                              | Supported, with filters. Multiple calls to get them all | Supported, with filters. Multiple calls to get them all |\n| Search for mod by identifier | Supported, the-mod-index identifier                                                                                              | Supported, Modrinth project id                          | Supported, CurseForge project id                        |\n| Search by mod hash           | Supported, short sha512 (hex, 15 chars)                                                                                          | Supported, sha1 (hex) or sha512 (hex)                   | Unsupported. Use fingerprint system instead             |\n| Relative release cycle       | Fast                                                                                                                             | Moderate                                                | Moderate                                                |\n\n## How it works\n\nthe-mod-index is an open source, forkable, community driven index, wanting to simplify obtaining mod metadata and files.\nWe do this by:\n\n- Having tools such as [the-mod-index creator](https://github.com/reviversmc/the-mod-index-creator) to regularly update\n  the index\n- Validating all index entries to be valid\n  using [the-mod-index validator](https://github.com/reviversmc/the-mod-index-validation)\n- Accepting entries for mods that are not hosted on Modrinth or CurseForge (TODO)\n- Hosting all files on a reliable, transparent server (GitHub)\n\nMeta data we serve includes:\n\n- Author\n- Description\n- Download link\n- Short SHA 512 File hash (15 chars, only when a download link is found for the hash)\n- Modrinth and/or CurseForge ids\n- Source control link, if available\n- Contact links, if available\n- Much, much more!\n\nWe use an identifier for all mods indexed, in the format \"modLoader:modName:shortFileHash\", and files are stored in the\nformat \"/modLoader/modName\", where all identifiers are lowercase.\nOnly mods with at least 1 file hash will be indexed, and file hashes will only be stored if there is at least one\ndownload link available\n\n\u003e Notice about obtaining CurseForge files\n\u003e\n\u003e CurseForge TOS prohibits us from storing the download links to any files hosted on CurseForge. To work around this, we\n\u003e instead store a status of whether the CF file is available or not. Consumers can then use their own CF api key to\n\u003e download the file.\n\u003e \n\u003e It makes little sense for us to index a mod we cannot download. Thus, mods only available on CF and that have third\n\u003e party downloads turned will not be stored in the index.\n\n## Requesting data\n\nTake a look around, you can view schemas or just view a random mod's manifest for reference.\n\nThere is no server interpreting your http calls - what you see is what you get.  \nRequest for the raw of the index/manifests, and you shall receive the raw of the index/manifests.\n\nBase URL: https://raw.githubusercontent.com/ReviversMC/the-mod-index/{BRANCH}/mods/index.json, where {BRANCH} is the\nname of the branch. For example, branch v3, which corresponds to version 3 of the index.  \nYou are advised to always use the \"default\" branch where possible, as that will be the version actively supported.\n\n\u003e Versioning notice: the-mod-index follows semantic versioning. A new branch will only be created on major version\n\u003e changes, and major version changes **WILL** break backwards compatibility.  \n\u003e When minor or patch version changes are made, the branch will be updated to the new version. This allows for you to\n\u003e use the additional info added in a minor or patch version, but still maintains backwards compatibility with the major\n\u003e version.\n\u003e\n\u003e As such, we strongly discourage you from using \"HEAD\" as your branch, as compatibility will break when we push a major\n\u003e update.\n---\nGET /mods/index.json   \nResponse:\n\n- 200 (success): [Index Schema](/schema/indexSchema.json)\n- 404 (not found): The index file does not exist.\n\n---\nGET /mods/{modLoader}/{modName}.json  \nParameters:\n\n- modLoader: The mod loader of a mod. E.g. for an identifier \"bricks:fake_mod:fake_short_hash\", the modLoader would be \"\n  bricks\"\n- modName: The name of the mod as found in the index. E.g. for an identifier \"bricks:fake_mod:fake_short_hash\", the\n  modLoader\n  would be \"fake_mod\"\n\nResponse:\n\n- 200 (success): [Manifest Schema](/schema/manifestSchema.json)\n- 404 (not found): The manifest does not exist.\n\n---\n\n## API for your favourite coding language\n\nPrefer using an API for your (insert coding language here)? I do ;-;  \nWe have a first party [Kotlin API](https://github.com/reviversmc/the-mod-index-api). If you want to contribute an API\nfor your favourite language, we'd be happy to feature it.\n\n## Community\n\nWant to chat? See ya on Discord\n\n[![Discord chat](https://img.shields.io/badge/chat%20on-discord-7289DA?logo=discord\u0026logoColor=white)](https://discord.gg/6bTGYFppfz)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freviversmc%2Fthe-mod-index","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Freviversmc%2Fthe-mod-index","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freviversmc%2Fthe-mod-index/lists"}