Productivity
Bearer Token
Notion REST API
All-in-one workspace API for notes, docs, and databases
The Notion API enables developers to programmatically access and manipulate workspaces, databases, pages, and blocks. It provides endpoints for creating, reading, updating, and deleting content in Notion, making it ideal for building integrations, automating workflows, and syncing data between Notion and other applications. Developers use it to build custom connectors, automate documentation, and create productivity tools.
Base URL
https://api.notion.com/v1
API Endpoints
| Method | Endpoint | Description |
|---|---|---|
| GET | /databases/{database_id} | Retrieve a database object by ID with its properties and schema |
| POST | /databases/{database_id}/query | Query a database and retrieve filtered, sorted pages with pagination |
| POST | /databases | Create a new database as a child of an existing page |
| PATCH | /databases/{database_id} | Update database properties, title, or description |
| GET | /pages/{page_id} | Retrieve a page object by ID including properties and metadata |
| POST | /pages | Create a new page in a database or as a child of another page |
| PATCH | /pages/{page_id} | Update page properties, archived status, or icon |
| GET | /blocks/{block_id} | Retrieve a block object by ID with its type and content |
| GET | /blocks/{block_id}/children | Retrieve all child blocks of a parent block with pagination |
| PATCH | /blocks/{block_id} | Update block content, type, or nested properties |
| DELETE | /blocks/{block_id} | Delete a block by setting it to archived status |
| PATCH | /blocks/{block_id}/children | Append child blocks to an existing block |
| GET | /users | List all users in the workspace with pagination |
| GET | /users/{user_id} | Retrieve a user object by ID including name and avatar |
| POST | /search | Search for pages and databases by title with filters and sorting |
Code Examples
curl -X POST https://api.notion.com/v1/databases/abc123def456/query \
-H 'Authorization: Bearer secret_XXXXXXXXXXXXXXXXXXXXXXXXXXXX' \
-H 'Notion-Version: 2022-06-28' \
-H 'Content-Type: application/json' \
-d '{
"filter": {
"property": "Status",
"select": {
"equals": "In Progress"
}
},
"sorts": [
{
"property": "Created",
"direction": "descending"
}
]
}'
Connect Notion to AI
Deploy a Notion MCP server on IOX Cloud and connect it to Claude, ChatGPT, Cursor, or any AI client. Your AI assistant gets direct access to Notion through these tools:
query_notion_database
Query Notion databases with filters and sorting to retrieve relevant pages based on AI-determined criteria
create_notion_page
Create new pages in Notion databases or workspaces with AI-generated content and properties
update_notion_content
Update existing Notion pages or database entries with new information based on AI analysis
search_notion_workspace
Search across the entire Notion workspace to find relevant pages and databases for context
append_notion_blocks
Add new content blocks to existing Notion pages including text, lists, code, and embeds
Deploy in 60 seconds
Describe what you need, AI generates the code, and IOX deploys it globally.
Deploy Notion MCP Server →