- Upload a new file using the Direct Upload method (single-part)
- Retrieve existing files already uploaded to your workspace
Upload methods at a glance
The Notion API supports three ways to add files to your workspace:Supported block types
Uploaded files can be attached to:- Media blocks:
file,image,pdf,audio,video embedblocks: attach an uploaded file to render it inline (see Embed)- Page properties:
filesproperties in databases - Page-level visuals: page
iconandcover
Supported file types
Before uploading, make sure your file type is supported. Here’s what the API accepts:
CAD and 3D model files attach as
file blocks, the same as documents.
Some HTTP clients label a file application/octet-stream when their MIME database has no entry for its extension. For any upload, the API treats that generic type as unspecified and resolves the real type from the filename extension or the content_type recorded when the file upload was created. If neither gives a supported type, the request fails.
File size limits
- Free workspaces are limited to 5 MiB (binary megabytes) per file
- Paid workspaces are limited to 5 GiB per file.
- Files larger than 20 MiB must be split into parts and uploaded using multi-part mode in the API.
Other limitations
The rest of the pages in this guide, as well as the API reference for the File Upload API, include additional validations and restrictions to keep in mind as you build your connection and send files. One final limit to note here is both the Create a file upload and Send a file upload APIs allow a maximum length of afilename (including the extension) of 900 bytes. However, we recommend using shorter names for performance and easier file management and lookup using the List file uploads API.
What’s Next
Now that you know what’s supported, let’s walk through a real upload using the simplest method: uploading a single file in one request.