Printables (Prusa Research)
- Free allowance
- No published account quota and no published upload cap.
- Verdict
- ★ qualifiesusable as stated; the read path was probed
- Cost
- free tier
- Identity
- emailno card, no phone
- Binding limit
- per-object-capper-object-cap: 1.037 GB
- Evidence
- reported11 sources; a third party said so
- Freshness
- stale on 2026-11-05checked 2026-10-21 (inherited); stale on 2026-11-05
| Free tier | No published account quota and no published upload cap. Verified live object: a single 1,036,822,737 B (1.037 GB) STL served from files.printables.com. Also verified a model holding 29 files totalling 404.3 MB, and one holding six ZIPs of 62.5/167.5/208.5/65.0/98.8/118.6 MB. 'Other files' accepts ZIP, so arbitrary payloads ride inside an archive; and a single model accepts 1335+ files (forum report of a user hitting UI limits, not a storage limit). unit objects; metered on stored-bytes |
|---|---|
| Price | none stated |
| Limits | per-object-cap: 1.037 GB observed (no stated ceiling found — the '1 GB' in that model's own title is the author's description, not a platform limit). Write is normal account signup; no curator. Download is anonymous. RANGE VERIFIED: Range: bytes=100-199 returned HTTP/1.1 206 Partial Content, Content-Range: bytes 100-199/1036822737, 100 bytes — so resumable/ranged GET works (this is NOT the RepOD case). |
| Identity | email email address and a password, or a Google, Apple or Facebook sign-in: the account article says to register or log in with Google, Apple or Facebook, or to choose Create an account at the bottom to use an email or password, then confirm the account from the sent email. No card and no phone number appear in that flow. |
| Egress | Backed by Google Cloud Storage (x-goog-* headers), fronted by files.printables.com with Cache-Control: public, max-age=31536000 and Access-Control-Allow-Origin: *. No egress cap published, no paywall on download, no account needed to download. |
| Per-object cap | per-object-cap: 1.037 GB (1036999999 bytes) |
| Retention | not stated |
| Interface | graphql Undocumented but stable public GraphQL: POST https://api.printables.com/graphql/ with no auth. print(id:N){ name stls{id name fileSize} otherFiles{id name fileSize} downloadPacks{...} } to enumerate; then mutation getDownloadLink(id, printId, source:"model_detail", fileType:"stl"|"other") returns {ok, output:{link}}. |
| Tooling | Plain HTTP + JSON. No SDK needed. gid/uid path component is an opaque UUID, not a signature. |
| Composes with | The returned link is a plain GCS object URL with NO signature and NO expiry field that is enforced (headers showed expires: Fri, 06 Mar 2026 — a date already in the past — and the object still served on 2026-10-21, i.e. the signature field is not a gate). Hot-linkable behind Cloudflare with zero origin egress cost. Object keys are enumerable per model, so a shard-and-replicate writer can treat each model as a bucket. |
| Reliability | The signup page answers a Cloudflare bot challenge to an unauthenticated fetch; the email signup is documented by Prusa's own account article. |
| Parsed numbers |
|
Evidence 11
| date | source | what it proved |
|---|---|---|
| 2026-10-21 | api.printables.com/graphql/ | print(id:1216949){stls{fileSize}} returned 1036822737 for high_poly_benchy.stl, and downloadPacks 123718835; proves a real 1.037 GB object, not a claim |
| 2026-10-21 | files.printables.com/media/prints/1216949/stls/9131937_666a2 | getDownloadLink mutation — returned with no query-string signature |
| 2026-10-21 | source not published | curl -D - on that URL — 200, Content-Length: 1036822737, Content-Type: model/stl, x-goog-storage-class: STANDARD, Access-Control-Allow-Origin: *, Accept-Ranges: bytes |
| 2026-10-21 | source not published | curl -r 100-199 — HTTP/1.1 206 Partial Content, Content-Range: bytes 100-199/1036822737, exactly 100 bytes written |
| 2026-10-21 | source not published | full-object download of 24695 '0.25mm clip part 1.zip' — got exactly 62,510,662 B; md5sum 4df344d46a0452592f6a70bd88e63777 matched the server's x-goog-hash md5=TfNE1GoEUlkvanC9iOY3dw== (base64 -> same digest). SHA-256-class byte-exact roundtrip. |
| 2026-10-21 | source not published | print(id:868222) — 29 files, 404.3 MB in one model |
| 2026-10-21 | source not published | print(id:180017) — six ZIPs in 'Other files' up to 208,474,336 B; proves arbitrary archive types survive ingest |
| 2026-10-21 | www.prusa3d.com/page/terms-of-service-of-printables-com_2312 | section 2.1 lists accepted types incl. .gcode/.bgcode/.sl1/.stl/.3mf/.obj/.step/.scad/.amf plus images, 'and other information and files'; 2.9 disclaims storage durability |
| 2026-11-01 | help.prusa3d.com/article/prusa-account-creation_1939 | Printables registration is a third-party sign-in or an email and password, confirmed by an email link |
| 2026-11-01 | www.prusa3d.com/page/terms-of-service-of-printables-com_2312 | the terms page states that the service is not data storage and does not guarantee that content survives |
| 2026-11-01 | help.prusa3d.com/article/prusa-account-creation_1939 | the account's registration path and its email confirmation are read on Prusa's own page |
Unknown values 3
- per object cap notes: 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