Catbox
catbox.moe · Storage · 5 records · JSON
- Catbox (catbox.moe + Litterbox) Storagecaveatanonymousno cardRper-object-cap
- catbox.moe (permanent) Storagecaveatanonymousno cardDper-ip-shaping
- grey-market residential proxies / donated bandwidth as an egress source Storagefails: quotaemail?card?R
- litterbox (catbox temporary) Storagefails: quotaemail?card?R
- oversubscription as a stable strategy (sell 10 tb, provision 1 tb) Storagefails: quotaemail?card?R
Catbox (catbox.moe + Litterbox) Storage
caveatanonymousno cardRper-object-cap
| Free tier | 200 MB per file on catbox.moe, no total quota — anonymous or free account. Anonymous files live until 2 years of inactivity; files tied to an account are permanent. Litterbox (sister service) takes 1 GB but expires in 1h-3d by choice. unit GB; metered on unstated |
|---|---|
| Price | none stated |
| Per-object cap | 200 MB per file (200000000 bytes) |
| Retention | Anonymous files live until 2 years of inactivity; files tied to an account are permanent (730 days) |
| Egress | free direct GET from files.catbox.moe, no metering, range requests supported. |
| Identity | anonymous derived from the record's prose, not from an identity field, and no signup was executed: 200 MB per file on catbox.moe, no total quota — anonymous or free account. Anonymous files live until 2 years of inactivity; files tied to an account are permanent. Litterbox (s |
| Limits | 200 MB/file (GIF 20 MB); anonymous retention is inactivity-based; albums 500 files; .exe/.scr/.cpl/.doc*/.jar blocked; single-operator service. |
| Binding | per-object-cap the per-object cap sets the shard size and therefore the object count; it bounds the total more tightly than any headline quota |
| Interface | rest, rclone rest |
| Tooling | https://catbox.moe/user/api.php multipart (reqtype=fileupload, fileToUpload=@f) returns a bare URL. Official ShareX config, Chrome and Firefox extensions; many community Python/Node/Go/Rust libs. No rclone backend, no account API for listing. |
| Composes with | unlimited anonymous uploads x 200 MB; with a free account the retention flips from '2 years idle' to permanent, which is the only path to archive semantics. 10 TiB hot = ~52k files. |
| Reliability | Uploads return a valid files.catbox.moe URL, but every download returned HTTP 200 with Content-Length: 0 — both text and binary, repeated across several files and minutes, incl. Accept-Ranges present but empty bodies. Upload accepted does not mean bytes are retrievable here. |
| Notes | 200 MB per file on catbox.moe, no total quota — anonymous or free account. Anonymous files live until 2 years of inactivity; files tied to an account are permanent. Litterbox (sister service) takes 1 GB but expires in 1h-3d by choice. |
| Evidence rung | reported One page read moves it to documented. |
| Checked | 2026-10-21 (inherited); stale on 2026-11-04 |
| Parsed numbers |
|
Evidence (3)
| date | source | what it proved |
|---|---|---|
| 2026-10-21 | catbox.moe/nojs/ | 'Uploads up to 200 MB are allowed' |
| 2026-10-21 | catbox.moe/faq.php | 'Anonymously uploaded files are kept until they have 2 years of inactivity ... Uploads associated with user accounts are permanent' |
| 2026-10-21 | catbox.moe/user/api.php | probe: curl -F reqtype=fileupload -F fileToUpload=@ct.txt -> https://files.catbox.moe/affeka.txt; then GET -> HTTP 200, bytes=0 (repeated 3x, incl. 1.2 MB binary and 5 MB binary) |
Unknown or withheld values (3)
$.free_tier.notesprocess$.per_object_cap.notesnot-extracted$.retention.notesnot-extracted
catbox.moe (permanent) Storage
caveatanonymousno cardDper-ip-shaping
| Free tier | No account required. The origin answered HTTP 200 on 2026-10-23; a 6,585,929-byte object was read back twice with a matching digest at 0.315 MiB/s sustained. unit unlimited; metered on none |
|---|---|
| Price | none stated |
| Per-object cap | the record carries no verified number |
| Retention | loli.la and catbox differ and the difference was not checked here |
| Egress | Unmetered; the measured sustained rate was 0.315 MiB/s, which is per-ip-shaping rather than a byte cap. free_allowance: none published |
| Identity | anonymous no account for an upload or a download |
| Limits |
|
| Binding | per-ip-shaping the sustained rate, not a byte counter, is what a large retrieval meets first |
| Interface | rest, cli |
| Tooling | plain HTTPS GET; the upload endpoint takes a multipart form |
| Composes with | a free anonymous object host that needs no account; it composes as a relay or a small-object store, not as an archive |
| Reliability | the origin answered 521 on 2026-10-21 and 200 on 2026-10-23; an earlier verdict treated the outage as a failed quota |
| Notes | The cap and retention fields were left unread rather than restated. |
| Evidence rung | documented the origin and the read path were checked today; the cap and the retention were not |
| Checked | 2026-10-24 (inherited); stale on 2026-11-23 |
| Parsed numbers |
|
Evidence (2)
| date | source | what it proved |
|---|---|---|
| 2026-10-23 | catbox.moe/ | HTTP 200 with Cloudflare headers; the site serves |
| 2026-10-23 | probe:https://catbox.moe/ | 6,585,929 bytes read back twice with a matching digest; 0.315 MiB/s sustained |
More fields (1)
{
"dead_end": {
"failure_class": "quota",
"why": "Origin is DOWN/behind Cloudflare 521. Direct connection to its resolved IP 108.181.20.35 times out on :443 from here",
"retry_when": null,
"first_recorded": "2026-10-21"
}
}Unknown or withheld values (3)
$.extras.dead_end.retry_whenprocess$.free_tier.noteswithheld$.interface_detailwithheld
Corrections
- 2026-10-23 Two storage verdicts were false negatives
grey-market residential proxies / donated bandwidth as an egress source Storage
fails: quotaemail?card?R
| Free tier | Looked for it and did not find it. What exists instead is the reverse case: hosts lose capacity to consumer-connection and datacentre proxy fleets (catbox stopped accepting datacenter+proxy anonymous uploads in unit none; metered on none |
|---|---|
| Price | none stated |
| Per-object cap | not recorded |
| Retention | not recorded |
| Egress | not recorded |
| Identity | email (placeholder) not published |
| Binding | none no constraint of a named kind was recorded; the verdict rests on the quota sentence rather than on a named limit |
| Interface | unknown |
| Tooling | not recorded |
| Composes with | not recorded |
| Reliability | Looked for it and did not find it. What exists instead is the reverse case: hosts lose capacity to consumer-connection and datacentre proxy fleets (catbox stopped accepting datacenter+proxy anonymous uploads in |
| Notes | Looked for it and did not find it. What exists instead is the reverse case: hosts lose capacity to consumer-connection and datacentre proxy fleets (catbox stopped accepting datacenter+proxy anonymous uploads in |
| Evidence rung | reported |
| Checked | 2026-10-21 (inherited); stale on 2026-11-04 |
Evidence (2)
| date | source | what it proved |
|---|---|---|
| 2026-10-21 | blog.catbox.moe/post/813932072453455872/happy-11th-birthday- | Looked for it and did not find it. What exists instead is the reverse case: hosts lose capacity to consumer-connection and datacentre proxy fleets (catbox stopped accepting datacenter+proxy anonymous uploads in |
| 2026-10-21 | 1fichier.com/network.html | cited as the basis of the rejection: Looked for it and did not find it. What exists instead is the reverse case: hosts lose capacity to consumer-connection and datacentre proxy fleets (catbox stopped accepting datacenter+proxy anonymous uploads in |
More fields (1)
{
"dead_end": {
"failure_class": "quota",
"why": "Looked for it and did not find it. What exists instead is the reverse case: hosts lose capacity to consumer-connection and datacentre proxy fleets (catbox stopped accepting datacenter+proxy anonymous uploads in",
"retry_when": null,
"first_recorded": "2026-10-21"
}
}Unknown or withheld values (15)
$.chainingnot-recorded$.confidence_notewithheld$.egress.termsnot-recorded$.extras.dead_end.retry_whenprocess$.free_tier.notesprocess$.identity_cost.detaildefaulted$.identity_cost.kindidentity-defaulted$.interfaceinterface-unknown$.interface_detailwithheld$.limits_noteprocess$.per_object_cap.notesnot-recorded$.per_object_cap.statednot-recorded$.retention.notesprocess$.retention.statednot-recorded$.toolingnot-recorded
litterbox (catbox temporary) Storage
fails: quotaemail?card?R
| Free tier | Explicitly temporary — expiry is chosen at upload (1h/12h/1d/3d/7d max). Not storage by construction; only useful as an ephemeral hand-off. unit none; metered on none |
|---|---|
| Price | none stated |
| Per-object cap | not recorded |
| Retention | not recorded |
| Egress | not recorded |
| Identity | email (placeholder) not published |
| Binding | none no constraint of a named kind was recorded; the verdict rests on the quota sentence rather than on a named limit |
| Interface | unknown |
| Tooling | not recorded |
| Composes with | not recorded |
| Reliability | Explicitly temporary — expiry is chosen at upload (1h/12h/1d/3d/7d max). Not storage by construction; only useful as an ephemeral hand-off. |
| Notes | Explicitly temporary — expiry is chosen at upload (1h/12h/1d/3d/7d max). Not storage by construction; only useful as an ephemeral hand-off. |
| Evidence rung | reported |
| Checked | 2026-10-21 (inherited); stale on 2026-11-04 |
Evidence (1)
| date | source | what it proved |
|---|---|---|
| 2026-10-21 | litterbox.catbox.moe/resources/internals/api.php | Explicitly temporary — expiry is chosen at upload (1h/12h/1d/3d/7d max). Not storage by construction; only useful as an ephemeral hand-off. |
More fields (1)
{
"dead_end": {
"failure_class": "not-storage",
"why": "Explicitly temporary — expiry is chosen at upload (1h/12h/1d/3d/7d max). Not storage by construction; only useful as an ephemeral hand-off.",
"retry_when": "never; it is not storage",
"first_recorded": "2026-10-21"
}
}Unknown or withheld values (14)
$.chainingnot-recorded$.confidence_notewithheld$.egress.termsnot-recorded$.free_tier.notesprocess$.identity_cost.detaildefaulted$.identity_cost.kindidentity-defaulted$.interfaceinterface-unknown$.interface_detailwithheld$.limits_noteprocess$.per_object_cap.notesnot-recorded$.per_object_cap.statednot-recorded$.retention.notesprocess$.retention.statednot-recorded$.toolingnot-recorded
oversubscription as a stable strategy (sell 10 tb, provision 1 tb) Storage
fails: quotaemail?card?R
| Free tier | It exists but it is not the lever people think, because the hosts already limit the thing that would break it. gofile caps free accounts at 10,000 contents and 10 days' inactivity rather tha unit none; metered on none |
|---|---|
| Price | none stated |
| Per-object cap | not recorded |
| Retention | not recorded |
| Egress | not recorded |
| Identity | email (placeholder) not published |
| Binding | none no constraint of a named kind was recorded; the verdict rests on the quota sentence rather than on a named limit |
| Interface | unknown |
| Tooling | not recorded |
| Composes with | not recorded |
| Reliability | It exists but it is not the lever people think, because the hosts already limit the thing that would break it. gofile caps free accounts at 10,000 contents and 10 days' inactivity rather tha |
| Notes | It exists but it is not the lever people think, because the hosts already limit the thing that would break it. gofile caps free accounts at 10,000 contents and 10 days' inactivity rather tha |
| Evidence rung | reported |
| Checked | 2026-10-21 (inherited); stale on 2026-11-04 |
Evidence (2)
| date | source | what it proved |
|---|---|---|
| 2026-10-21 | catbox.moe/support.php | It exists but it is not the lever people think, because the hosts already limit the thing that would break it. gofile caps free accounts at 10,000 contents and 10 days' inactivity rather tha |
| 2026-10-21 | www.patreon.com/pixeldrain/posts/2025-cycle-never-147074953 | cited as the basis of the rejection: It exists but it is not the lever people think, because the hosts already limit the thing that would break it. gofile caps free accounts at 10,000 contents and 10 days' inactivity rather tha |
More fields (1)
{
"dead_end": {
"failure_class": "quota",
"why": "It exists but it is not the lever people think, because the hosts already limit the thing that would break it. gofile caps free accounts at 10,000 contents and 10 days' inactivity rather tha",
"retry_when": null,
"first_recorded": "2026-10-21"
}
}Unknown or withheld values (15)
$.chainingnot-recorded$.confidence_notewithheld$.egress.termsnot-recorded$.extras.dead_end.retry_whenprocess$.free_tier.notesprocess$.identity_cost.detaildefaulted$.identity_cost.kindidentity-defaulted$.interfaceinterface-unknown$.interface_detailwithheld$.limits_noteprocess$.per_object_cap.notesnot-recorded$.per_object_cap.statednot-recorded$.retention.notesprocess$.retention.statednot-recorded$.toolingnot-recorded