Create a page
Use this API to create a new page as a child of an existing page or data source.
Documentation Index
Fetch the complete documentation index at: https://developers.notion.com/llms.txt
Use this file to discover all available pages before exploring further.
Use cases
Choosing a parent
In most cases, provide apage_id or data_source under the parent parameter to create a page under an existing page, or data source, respectively.
There is a 3rd option, available for public connections and personal access tokens: creating a private page at the workspace level. To do this, omit the parent parameter, or provide parent[workspace]=true. This can be useful for quickly creating pages that can then be organized manually in the Notion app later, helping you get to your life’s work faster.
For internal connections, a page or data source parent is currently required in the API, because there is no one specific Notion user associated with them that could be used as the “owner” of the new private page.
Setting up page properties
If the new page is a child of an existing page,title is the only valid property in the properties body parameter.
If the new page is a child of an existing data source, the keys of the properties object body param must match the parent data source’s properties.
Setting up page content
This endpoint can be used to create a new page with or without content using thechildren option. To add content to a page after creating it, use the Append block children endpoint.
Templates: As an alternative to building up page content manually, the template body parameter can be used to specify an existing data source template to be used to populate the content and properties of the new page.
When omitted, the default is template[type]=none, which means no template is applied. The other options for template[type] are:
default: Apply the data source’s default template.- This is only allowed for pages created under a data source that has a default template configured in the Notion app.
template_id: Provide a specifictemplate_idto use as the blueprint for your page.- The API bot must have access to the template page, and it must be within the same workspace.
- Although any valid page ID can be used as the
template[template_id], we recommend only using pages that are configured as actual database templates under the same data source as the parent of your new page to make sure that page properties can get merged in correctly.
default or template_id, you can optionally provide template[timezone] — an IANA timezone string (e.g. America/New_York) — to control the timezone used when resolving template variables like @now and @today. If omitted, the associated user’s timezone is used for public connections and personal access tokens, or UTC for internal connections. An invalid timezone returns a validation_error.
When applying a template, the children parameter is not allowed. The page is returned as blank initially in the API response, and then Notion’s systems apply the template asynchronously after the API request finishes. For more information, see our full guide on creating pages from templates.
General behavior
Returns a new page object.Errors
Each Public API endpoint can return several possible error codes. See the Error codes section of the Status codes documentation for more information.Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
The API version to use for this request. The latest version is 2026-03-11.
2026-03-11 Body
- Page Id
- Database Id
- Data Source Id
- Workspace
- File Upload
- Emoji
- External
- Custom Emoji
- Icon
- File Upload
- External
100- Embed
- Bookmark
- Image
- Video
- Pdf
- File
- Audio
- Code
- Equation
- Divider
- Breadcrumb
- Tab
- Table Of Contents
- Link To Page
- Table Row
- Table
- Column List
- Column
- Heading 1
- Heading 2
- Heading 3
- Heading 4
- Paragraph
- Bulleted List Item
- Numbered List Item
- Quote
- To Do
- Toggle
- Template
- Callout
- Synced Block
100- Embed
- Bookmark
- Image
- Video
- Pdf
- File
- Audio
- Code
- Equation
- Divider
- Breadcrumb
- Tab
- Table Of Contents
- Link To Page
- Table Row
- Table
- Column List
- Column
- Heading 1
- Heading 2
- Heading 3
- Heading 4
- Paragraph
- Bulleted List Item
- Numbered List Item
- Quote
- To Do
- Toggle
- Template
- Callout
- Synced Block
Page content as Notion-flavored Markdown. Mutually exclusive with content/children.
- Option 1
- Option 2
- Option 3
- Option 1
- Option 2
- Option 3
Response
- Option 1
- Option 2
The page object type name.
"page"The ID of the page.
Date and time when this page was created.
Date and time when this page was last edited.
Whether the page is in trash.
Whether the page has been archived.
Whether the page is locked from editing in the Notion app UI.
The URL of the Notion page.
The public URL of the Notion page, if it has been published to the web.
Information about the page's parent.
- Option 1
- Option 2
- Option 3
- Option 4
- Option 5
- Option 6
Property values of this page.
Page icon.
- Emoji
- File
- External
- Custom Emoji
- Icon
Page cover image.
- File
- External
User who created the page.
User who last edited the page.