notion
notion.com · 2 records in Storage · JSON
Records 2
- caveatNotion (free plan) - file blocks & Files property
Storagefree tieridentity institution?card?limit per-object-capevidence reportedstale on 2026-11-05disagrees
- fails: quotanotion (free workspace as file store)
Storageidentity email?card?evidence reportedstale on 2026-11-05disagrees
Sibling records disagree:
- identity_kind:
storage/notionsays email, storage/notion-file-blocks-files-property says institution - verdict:
storage/notionsays fails-quota, storage/notion-file-blocks-files-property says qualifies-with-caveat
- Free allowance
- No total storage cap: 'Unlimited file uploads' on Free, but each file is capped at 5 MiB on Free (5 GiB on paid).
- Verdict
- caveatusable, with a named limit or an unprobed read path
- Cost
- free tier
- Identity
- institution?placeholder, not evidence; card unknown, phone unknown
- Binding limit
- per-object-cap5 MiB per file
- Evidence
- reported4 sources; a third party said so
- Freshness
- stale on 2026-11-05checked 2026-10-21 (inherited); stale on 2026-11-05
| Free tier | No total storage cap: 'Unlimited file uploads' on Free, but each file is capped at 5 MiB on Free (5 GiB on paid). Block limit is unlimited for a single-member Free workspace. unit GiB; metered on stored-bytes |
|---|---|
| Price | none stated |
| Limits | 5 MiB per file on Free (hard, enforced by API); 20 MiB per single-part API upload; parts must be 5-20 MiB; 600 requests/min per workspace (avg 10/s) shared across all connections; only whitelisted MIME types (audio/document/image/video/CAD) - arbitrary binary is rejected |
| Identity | institution (inferred, not read) not published |
| Egress | Free; Notion serves via S3/presigned URLs on Cloudflare-fronted notion.com. File objects return 'An authenticated HTTP GET URL... valid for one hour', so links must be re-minted - no CDN you can pin a cache to without re-signing. |
| Per-object cap | 5 MiB per file (5242880 bytes) |
| Retention | not stated |
| Interface | rest, rclone rest |
| Tooling | Official Notion API file-upload endpoints (single-part <=20 MiB, multi-part above with 5-20 MiB parts) + PlakarKorp/integration-notion and many notion-backup repos for bulk extraction; no rclone backend |
| Composes with | Per-record unlimited: 5 MiB x unlimited files x unlimited blocks x unlimited free workspaces. |
| Reliability | The MIME whitelist is the killer: no generic octet-stream blobs, so archival datasets must be packed as .zip/.7z/.tar which Notion does accept. Signed URLs expire in one hour, so serving 1 TB/day out of Notion means re-minting continuously. |
| Parsed numbers |
|
Evidence 4
| date | source | what it proved |
|---|---|---|
| 2026-10-21 | developers.notion.com/guides/data-apis/working-with-files-an | 'Free workspaces are limited to 5 MiB (binary megabytes) per file'; 'Files larger than 20 MiB must be split into parts'; supported-types table lists .zip, .7z, .tar, .bz2, .rar |
| 2026-10-21 | www.notion.com/pricing | 'Unlimited file uploads'; 'On the Free plan, you can upload images, videos and file attachments up to 5MB each. Upgrade to a paid plan for unlimited file uploads with a ~5GB max per file.' |
| 2026-10-21 | developers.notion.com/reference/file-object | 'An authenticated HTTP GET URL to the file. The URL is valid for one hour.' |
| 2026-10-21 | api.notion.com/v1/users | probe: GET -> HTTP 401 (API live, auth-gated) |
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
Sibling records disagree:
- identity_kind:
storage/notionsays email, storage/notion-file-blocks-files-property says institution - verdict:
storage/notionsays fails-quota, storage/notion-file-blocks-files-property says qualifies-with-caveat
- Free allowance
- 5 MiB per file on Free (API and UI), and every Notion-hosted file URL is a signed S3 URL valid for one hour — 'Don't cache or statically reference these URLs'.
- Verdict
- fails: quotathe free allowance is too small to matter
- Cost
- not stated
- Identity
- email?placeholder, not evidence; card unknown, phone unknown
- Binding limit
- noneno named constraint binds
- Evidence
- reported3 sources; a third party said so
- Freshness
- stale on 2026-11-05checked 2026-10-21 (inherited); stale on 2026-11-05
| Free tier | 5 MiB per file on Free (API and UI), and every Notion-hosted file URL is a signed S3 URL valid for one hour — 'Don't cache or statically reference these URLs'. Unlimited blocks on a… unit none; metered on none |
|---|---|
| Price | none stated |
| Identity | email (placeholder) not published |
| Egress | not recorded |
| Interface | unknown |
| Tooling | not recorded |
Evidence 3
| date | source | what it proved |
|---|---|---|
| 2026-10-21 | developers.notion.com/guides/data-apis/working-with-files-an | the text of Free tier, above |
| 2026-10-21 | developers.notion.com/reference/file-object | cited as the basis of the rejection: 5 MiB per file on Free (API and UI), and every Notion-hosted file URL is a signed S3 URL valid for one hour — 'Don't cache or statically reference these URLs'. Unlimited blocks on a single-o |
| 2026-10-21 | www.notion.com/help/understanding-block-usage | cited as the basis of the rejection: 5 MiB per file on Free (API and UI), and every Notion-hosted file URL is a signed S3 URL valid for one hour — 'Don't cache or statically reference these URLs'. Unlimited blocks on a single-o |
More fields 1
| dead end | {"failure_class": "quota","why": "5 MiB per file on Free (API and UI), and every Notion-hosted file URL is a signed S3 URL valid for one hour — 'Don't cache or statically reference these URLs'. Unlimited blocks on a…","retry_when": null,"first_recorded": "2026-10-21"} |
|---|
Unknown values 7
- chaining: no value was recorded for this field
- egress terms: no value was recorded for this field
- interface: the access interface was not established
- per object cap notes: no value was recorded for this field
- per object cap stated: no value was recorded for this field
- retention stated: no value was recorded for this field
- tooling: no value was recorded for this field