用途:通过 Notion API 创建、读取和更新页面、数据源(即数据库)与区块(blocks),适合自动化整理笔记、同步数据到数据库等场景。
配置:先在 https://notion.so/my-integrations 创建集成,复制以 ntn_ 或 secret_ 开头的 API Key,并保存到本地: mkdir -p ~/.config/notion echo "ntn_your_key_here" > ~/.config/notion/api_key 再把目标页面或数据库共享给该集成(点击“...”→“Connect to”→集成名称)。
请求基础:所有请求需带 Authorization、Notion-Version 和 Content-Type 头,其中 Notion-Version 必填,本技能使用 2025-09-03,该版本中数据库在 API 里称为 data sources。示例: NOTION_KEY=$(cat ~/.config/notion/api_key) curl -X GET "https://api.notion.com/v1/..." -H "Authorization: Bearer $NOTION_KEY" -H "Notion-Version: 2025-09-03" -H "Content-Type: application/json"
常见操作:搜索页面和数据源(POST /v1/search)、获取页面(GET /v1/pages/{page_id})、获取页面内容(GET /v1/blocks/{page_id}/children)、在数据源中创建页面(POST /v1/pages,parent 用 database_id)、查询数据源(POST /v1/data_sources/{id}/query)、创建数据源(POST /v1/data_sources)、更新页面属性(PATCH /v1/pages/{page_id})、向页面添加区块(PATCH /v1/blocks/{page_id}/children)。属性支持 title、rich_text、select、multi_select、date、checkbox、number、url、email、relation 等格式。
2025-09-03 变化:数据库改为数据源端点 /data_sources/ 查询与获取;每个数据库同时有 database_id 和 data_source_id,创建页面用 database_id,查询用 data_source_id;搜索结果的数据库以 object=data_source 返回;可通过搜索或 GET /v1/data_sources/{data_source_id} 找到 data_source_id。
限制:页面与数据库 ID 为 UUID;API 无法设置数据库视图筛选(仅界面可做);速率约每秒 3 次请求,超限返回 429 及 Retry-After;单次追加区块最多 100 个子块、最多两级嵌套;载荷上限 1000 个区块元素、500KB;创建数据源时可用 is_inline: true 嵌入页面。其他未提及内容暂未提供。