fshy

fshy / Storage

Substack file embeds

substack.com · Storage · 1 record · JSON

Substack file embeds Storage

caveatinstitutionno cardR

substack.com · media · storage/substack-file-embeds · JSON · compare

Free tierno stated total; 700 MB per PDF, XLSX/CBZ/CBR embeds supported
unit MB; metered on unstated
Pricenone stated
Per-object capnot stated
Retentionnot stated
Egressfree, CDN-served download links on substackcdn.com, no auth for public posts
Identityinstitution derived from the record's prose, not from an identity field, and no signup was executed: p the embed; Substack has no delete-then-restore story. No API is the hard blocker — this is a 'if someone writes the Playwright wrapper' candidate 700 MB x unlimited posts x unlimit
Bindingnone no constraint in the record binds at this scale; the record carries no limit of a kind the vocabulary names
Interfaceunknown wrapper-only
Toolingno public upload API — file embeds are drag-and-drop in the post editor or into email drafts; would need browser automation (Playwright) against the logged-in editor
Composes with700 MB x unlimited posts x unlimited publications (each free to create). This is the largest per-file limit of any social platform checked here; 20 TiB = ~29,000 PDFs
Reliabilityattachments live with the post; editing a post can drop the embed; Substack has no delete-then-restore story. No API is the hard blocker — this is a 'if someone writes the Playwright wrapper' candidate
Notesno stated total; 700 MB per PDF, XLSX/CBZ/CBR embeds supported
Evidence rungreported One page read moves it to documented.
Checked2026-10-21 (inherited); stale on 2026-11-04
Evidence (2)
datesourcewhat it proved
2026-10-21support.substack.com/hc/en-us/articles/4408381643156-How-can'The file size limit for a PDF is 700 MB'
2026-10-21on.substack.com/p/new-tools-paywall-embeds'Writers can now embed PDFs, Excel spreadsheets (XLSX), and comics files (CBZ, CBR) into their posts'
Unknown or withheld values (6)
  • $.free_tier.notes process
  • $.interface interface-unknown
  • $.per_object_cap.notes not-extracted
  • $.per_object_cap.stated not-extracted
  • $.retention.notes not-extracted
  • $.retention.stated not-extracted