跳到主要内容

Modrinth API 无需 Token 验证的端点列表

注意

本文档使用Grok深度研究整理得出,仅供参考,不保证准确性。请以官方文档为准。

以下是根据 Modrinth API 文档 整理的不需要 token 验证的 API 端点列表。这些端点主要用于获取公开数据,例如项目、版本、用户、标签、团队和统计信息。它们通常是只读操作(GET 请求),或某些用于检索数据的 POST 请求。根据文档,大多数获取公开数据的请求不需要身份验证,而创建、修改或访问私有数据的请求(如创建项目、修改版本或获取用户通知)则需要 token。

概述

Modrinth 是一个专注于 Minecraft 内容的平台,提供 mod、插件、数据包、着色器、资源包和 modpack。API 允许开发者与 Modrinth 的数据库交互,支持跨域资源共享(CORS),所有响应对所有站点公开。API 使用八位 base62 ID 标识项目、版本、用户等资源。速率限制为每分钟 300 次请求,所有请求需包含唯一的 User-Agent 头。

文档明确指出:“大多数请求不需要 token。通常,只有以下类型的请求需要 token:创建数据(如版本创建)、修改数据(如编辑项目)、访问私有数据(如草稿项目、通知、电子邮件和支付数据)。” 因此,本列表包括无需 token 的端点,主要为获取公开数据的 GET 请求和部分 POST 请求。

端点列表

1. 项目相关端点

这些端点用于获取与 Modrinth 平台上的项目(例如 mod、modpack 等)相关的信息,均为公开数据。

端点方法描述备注
/searchGET根据条件搜索项目支持多种搜索参数,如项目类型、分类等
/project/{id or slug}GET获取特定项目的详细信息ID 或 slug 可互换使用
/projectsGET通过 ID 获取多个项目的详细信息接受 ID 列表
/projects_randomGET获取随机项目列表用于发现新项目
/project/{id or slug}/checkGET检查项目 slug 或 ID 是否可用用于验证标识有效性
/project/{id or slug}/dependenciesGET获取项目的所有依赖项返回依赖的项目和版本
/project/{id or slug}/versionGET列出项目的所有版本返回版本列表
/project/{id or slug}/membersGET获取项目的团队成员返回团队成员信息

2. 版本相关端点

这些端点用于获取与项目版本相关的信息,包括通过哈希检索版本的 POST 请求。

端点方法描述备注
/version/{id}GET获取特定版本的详细信息使用版本 ID
/versionsGET通过 ID 获取多个版本的详细信息接受版本 ID 列表
/version_file/{hash}GET通过文件哈希获取版本支持 SHA1 或 SHA512 哈希
/version_filesPOST通过多个文件哈希获取版本接受哈希列表,返回版本信息
/version_files/updatePOST通过哈希和指定的加载器及游戏版本获取最新版本支持过滤加载器和游戏版本

3. 用户相关端点

这些端点用于获取用户的公开信息。注意,某些用户相关端点(如获取关注项目)可能因涉及私有数据而需要 token。

端点方法描述备注
/user/{id or username}GET获取用户的公开信息返回用户名、简介等公开数据
/usersGET通过 ID 获取多个用户的公开信息接受用户 ID 列表
/user/{id or username}/projectsGET获取用户拥有的项目返回用户创建的项目列表

注意GET /user/{id or username}/follows(获取用户关注的项目)和 GET /user/{id or username}/notifications(获取用户通知)可能需要 token,因为它们涉及用户特定数据,建议测试确认。

4. 标签相关端点

这些端点用于获取 Modrinth 平台支持的各种标签和分类,均为公开数据。

端点方法描述备注
/tag/categoryGET获取项目类别列表如“冒险”、“技术”等
/tag/loaderGET获取支持的 mod 加载器列表如 Fabric、Forge 等
/tag/game_versionGET获取支持的游戏版本列表如 1.19.4、1.20.1 等
/tag/licenseGET获取许可证列表已弃用,建议使用 SPDX ID
/tag/donation_platformGET获取捐赠平台列表如 Patreon、PayPal 等
/tag/report_typeGET获取报告类型列表用于提交报告的类型
/tag/project_typeGET获取项目类型列表如 mod、modpack 等
/tag/side_typeGET获取 side 类型列表如客户端、服务器等

5. 团队相关端点

这些端点用于获取团队信息,均为公开数据。

端点方法描述备注
/team/{id}/membersGET获取团队的成员返回团队成员列表
/teamsGET获取多个团队的成员接受团队 ID 列表

6. 统计信息

端点方法描述备注
/statisticsGET获取 Modrinth 实例的统计信息如项目数、下载量等

7. 其他

端点方法描述备注
/updates/{id or slug}/forge_updates.jsonGET为 Forge mod 开发者获取项目的 Forge 更新 JSON用于 Forge 模组更新

使用说明

  • User-Agent 要求:所有请求必须包含唯一的 User-Agent 头,例如 github_username/project_name/1.0.0github_username/project_name/1.0.0 (contact@example.com)。仅使用 HTTP 客户端库的 User-Agent(如 okhttp/4.9.3)可能导致请求被阻止。
  • 速率限制:每分钟 300 次请求,相关头包括:
    • X-Ratelimit-Limit:总限制。
    • X-Ratelimit-Remaining:剩余请求数。
    • X-Ratelimit-Reset:限制重置时间(Unix 时间戳)。
    • 如需更高限制,可联系 admin@modrinth.com
  • 服务器地址
    • 生产环境:https://api.modrinth.com/v2
    • 测试环境:https://staging-api.modrinth.com/v2
  • CORS 支持:API 支持跨域资源共享,响应对所有站点公开。
  • ID 格式:项目、版本、用户等使用八位 base62 ID 或 slug。

注意事项

  • 潜在需要 token 的端点:某些端点(如 GET /user/{id or username}/followsGET /user/{id or username}/notifications)可能因涉及用户特定数据而需要 token,尽管文档未明确说明。建议在实际使用时测试确认。
  • API 版本:当前为 v2,未来版本(如 v3)可能引入变化。GitHub token 认证将在 v3 中停止,建议使用个人访问 token。
  • OpenAPI 规范:Modrinth 提供 OpenAPI 3.0.0 规范,可在 https://docs.modrinth.com/openapi.yaml 获取,详细列出端点和认证要求。
  • 推荐工具:测试 API 可使用 cURL、ReqBIN、Postman 或 Insomnia。
  • 文档更新:API 可能随时间更新,建议定期检查 Modrinth API 文档OpenAPI 规范

参考资料