---
ref: tool:notion/create-page
name: Create a page
company: company:notion
workflows: [workflow:content-download-nurture, workflow:meeting-notes-and-action-items, workflow:gtm-knowledge-answers, workflow:ad-persona-panel, workflow:ai-answer-positions, workflow:competitor-ad-teardown]
access: [mcp, cli, api]
tags: [capability:manage-docs, category:docs, has:api, has:cli, has:mcp]
docs: https://developers.notion.com/reference/post-page
updated: 2026-10-28
---

# Create a page

Creates a page under a parent page, or a new row in a data source, with property values and content.

Note: To add a row to a database, set the parent to its data source and match that data source's property schema.

## Set up

Use the first option your agent supports.

### MCP (official, remote)

Add this server to your agent's MCP settings, then sign in when asked.

```json
{ "mcpServers": { "notion": { "url": "https://mcp.notion.com/mcp" } } }
```

Call the MCP tool `notion-create-pages`.

Server URL: https://mcp.notion.com/mcp

### CLI (official)

Install the command, then confirm it runs.

```sh
npm install --global ntn
ntn --version
```

Run `ntn api v1/pages`.

Set `$NOTION_API_TOKEN` in your environment first (get a key: https://www.notion.so/developers/tokens).

### API (official)

- Base URL: https://api.notion.com
- Endpoint: `POST /v1/pages`
- Auth: send the header `Authorization: Bearer $NOTION_API_KEY`
- Get a key: https://www.notion.so/developers/tokens
- Docs: https://developers.notion.com/reference/intro

Before anything else, confirm access with the cheapest read-only call, like a list or a search. Never send or change anything to test access.

## Rules

- Ask the user before anything that sends messages, costs money, or changes data, and say how many records it touches. One approval covers a batch the user has seen.
- Never print API keys.
