Home / Storage
Modrinth
modrinth.comRegistrystorage/modrinthJSONcomparereport an errorprovider JSON
- Free allowance
- 500 MiB per version file (hard code-level cap:
read_from_field(field, 500 * (1 << 20), "Project file exceeds the maximum of 500MiB...")). - Verdict
- caveatusable, with a named limit or an unprobed read path
- Cost
- free tier
- Identity
- email?placeholder, not evidence; card unknown, phone unknown
- Binding limit
- request-rate150 uploads/day
- Evidence
- reported5 sources; a third party said so
- Freshness
- stale on 2026-11-05checked 2026-10-21 (inherited); stale on 2026-11-05
| Free tier | 500 MiB per version file (hard code-level cap: read_from_field(field, 500 * (1 << 20), "Project file exceeds the maximum of 500MiB...")). No stated total-account storage quota. Per-user quotas read from user_limits: projects = 256, projects_per_day = 10, versions_per_project = 10000, versions_per_day = 150.unit mixed; metered on stored-bytes |
|---|
| Price | none stated |
|---|
| Limits | - request-rate (binding) 150 uploads/day source
500 MiB/version-file; 150 version uploads/day; 10,000 versions per project; 256 projects; version_number must be unique per project (1-32 chars); moderation may reject non-mod content; project file type must be in project_file_type allowlist (jar/zip/mrpack etc.), so arbitrary blobs need wrapping. |
|---|
| Binding | request-rate calls are bounded rather than bytes, which is fatal to a nightly job on a monthly counter |
|---|
| Identity | email (placeholder) not published |
|---|
| Egress | Free. All files served from cdn.modrinth.com behind Cloudflare with Accept-Ranges: bytes, no auth, no signed URLs, no expiry. |
|---|
| Per-object cap | not stated |
|---|
| Retention | not stated |
|---|
| Interface | rest, rclone rest |
|---|
| Tooling | Documented public REST API v2 (api.modrinth.com/v2/project/{id}/version, POST /version with multipart file upload + PAT auth); labrinth OpenAPI spec published at docs.modrinth.com. No rclone backend, but the API is simple enough for a dozen-line client. |
|---|
| Composes with | 256 projects x 10,000 versions/project x 500 MiB = ~1.22 PiB theoretical per account; practically throttled by versions_per_day=150 -> 150 x 500 MiB = 73 GiB/day/account = ~2.2 TiB/month/account. Unlimited free accounts; each new account resets all four counters. Idle accounts keep all existing files downloadable forever (no TTL on published versions). |
|---|
| Reliability | Moderated registry: junk projects can be removed and files hard-deleted; no rate-limit survival guarantee past 150 uploads/day. |
|---|
| Parsed numbers | |
|---|
Evidence 5
More fields 1
| unit note | free_tier.unit is 'mixed' because the headline is denominated in MiB or KiB, which the schema enum does not carry; the verbatim free_tier.stated keeps the true unit. |
|---|
Unknown values 4
- per object cap notes: the field may be stated in a source that was not read
- per object cap stated: the field may be stated in a source that was not read
- retention notes: the field may be stated in a source that was not read
- retention stated: the field may be stated in a source that was not read