1. Go to notion.so/my-integrations. 2. Create New Integration. 3. Copy Internal Integration Secret. 4. IMPORTANT: Share target pages/databases with the integration in Notion UI (click '...' > 'Connections' > add your integration).
| Base URL | https://api.notion.com/v1/ |
|---|---|
| API version | 2022-06-28 |
| Auth | Internal integration token (simplest) or OAuth 2.0. Create integration at notion.so/my-integrations. Token starts with 'ntn_' or 'secret_'. Set Notion-Version header. |
| Token URL | https://api.notion.com/v1/oauth/token |
| Request body | application/json |
| Pagination | cursor-based: response has 'has_more' and 'next_cursor'. Pass start_cursor param. Max page_size 100. |
| Rate limit | 3 requests/second average. Burst allowed. HTTP 429 with Retry-After. |
| Error format | JSON: {"object":"error","status":400,"code":"validation_error","message":"..."} |
| Method | Path | Description |
|---|---|---|
| | Notion | Retrieve a user Error Responses: 400: 400 |
| | Notion | List all users Error Responses: 400: 400 |
| | Notion | Retrieve your token's bot user Error Responses: 400: Bad request |
| | Notion | Search by title Error Responses: 400: Bad request |
| | Notion | Retrieve block children Error Responses: 400: Bad request |
| | Notion | Append block children Error Responses: 400: Bad request |
| | Notion | Retrieve a block Error Responses: 400: Bad request |
| | Notion | Update a block Error Responses: 400: Bad request |
| | Notion | Delete a block Error Responses: 400: Bad request |
| | Notion | Retrieve a page Error Responses: 400: Bad request |
| | Notion | Update page properties Error Responses: 400: Bad request |
| | Notion | Create a page Error Responses: 400: Bad request |
| | Notion | Retrieve a page property item Error Responses: 400: Bad request |
| | Notion | Retrieve comments Error Responses: 400: Bad request |
| | Notion | Create comment Error Responses: 400: Bad request |
| | Notion | Query a data source Error Responses: 400: Bad request |
| | Notion | Retrieve a data source Error Responses: 400: Bad request |
| | Notion | Update a data source Error Responses: 400: Bad request |
| | Notion | Create a data source Error Responses: 400: Bad request |
| | Notion | List templates in a data source Error Responses: 400: Bad request |
| | Notion | Retrieve a database Error Responses: 400: Bad request |
| | Notion | Move a page Error Responses: 400: Bad request |
POST /v1/databases/{database_id}/query HTTP/1.1
Host: api.notion.com
Authorization: Bearer {token}
Notion-Version: 2022-06-28
Content-Type: application/json
{"filter":{"property":"Status","select":{"equals":"Done"}}}
Response: {"results":[{"id":"page_123","properties":{"Name":{"title":[{"text":{"content":"タスクA"}}]}}}]}
Source: curated by KanseiLink from official documentation (docs) and registry checks. Last reviewed: 2026-06-09. Specs change — verify against the official docs before production use.