fshy

Home / Storage

Printables (Prusa Research)

www.printables.com3D model repository / maker marketplacestorage/printablesJSONcomparereport an errorprovider JSON

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 tierNo 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
Pricenone stated
Limits
  • write-gated curator source
  • per-object-cap (binding) per-object-cap: 1.037 GB source
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).
Identityemail 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.
EgressBacked 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 capper-object-cap: 1.037 GB (1036999999 bytes)
Retentionnot stated
Interfacegraphql 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}}.
ToolingPlain HTTP + JSON. No SDK needed. gid/uid path component is an opaque UUID, not a signature.
Composes withThe 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.
ReliabilityThe signup page answers a Cloudflare bot challenge to an unauthenticated fetch; the email signup is documented by Prusa's own account article.
Parsed numbers
  • has-free-tier 1
  • per-object-cap 1.037 GB
Evidence 11
datesourcewhat it proved
2026-10-21api.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-21files.printables.com/media/prints/1216949/stls/9131937_666a2getDownloadLink mutation — returned with no query-string signature
2026-10-21source not publishedcurl -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-21source not publishedcurl -r 100-199 — HTTP/1.1 206 Partial Content, Content-Range: bytes 100-199/1036822737, exactly 100 bytes written
2026-10-21source not publishedfull-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-21source not publishedprint(id:868222) — 29 files, 404.3 MB in one model
2026-10-21source not publishedprint(id:180017) — six ZIPs in 'Other files' up to 208,474,336 B; proves arbitrary archive types survive ingest
2026-10-21www.prusa3d.com/page/terms-of-service-of-printables-com_2312section 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-01help.prusa3d.com/article/prusa-account-creation_1939Printables registration is a third-party sign-in or an email and password, confirmed by an email link
2026-11-01www.prusa3d.com/page/terms-of-service-of-printables-com_2312the terms page states that the service is not data storage and does not guarantee that content survives
2026-11-01help.prusa3d.com/article/prusa-account-creation_1939the 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