Notion CLI – Command Line Interface based access to Notion for your agent
2026-03-30
新闻来源:网淘吧
围观:3
电脑广告
手机广告
notion-cli 通过notion-cli与您的Notion工作空间进行交互。
一个适用于Notion API的生产级CLI工具,支持搜索、创建和管理页面、数据库、块、用户和评论,并提供多种输出格式(JSON、表格、CSV)。

安装 克隆并安装CLI:
git clone https://github.com/FroeMic/notion-cli
cd notion-cli
npm install
npm run build
npm link
设置NOTION_API_KEY环境变量:
- 在https://www.notion.so/profile/integrations
- 创建一个集成
复制内部集成密钥(以ntn_或secret_ - 开头)
- 将您想要访问的任何页面/数据库与该集成共享
推荐:添加到~/.claude/.env - 以供Claude Code使用
备选方案:添加到~/.bashrc或~/.zshrcexport NOTION_API_KEY="your-api-key"
可选:设置NOTION_DEBUG=true以启用详细的请求/响应日志记录。
代码仓库:https://github.com/FroeMic/notion-cli
命令 跨工作区搜索:
notion search [query] # Search pages, databases, and data sources
notion search [query] --filter page # Search only pages
notion search [query] --filter database # Search only databases
notion search [query] --sort ascending # Sort by last edited time
处理页面:
notion pages get <page-id> # Get page details
notion pages create --parent <id> --title <text> # Create a new page
notion pages update <page-id> --properties <json> # Update page properties
notion pages archive <page-id> # Archive a page
notion pages restore <page-id> # Restore an archived page
notion pages property <page-id> <property-id> # Get a specific property value
处理数据库:
notion databases get <database-id> # Get database schema
notion databases create --parent <id> --title <text> # Create a database
notion databases update <database-id> --title <text> # Update database metadata
notion databases query <data-source-id> # Query records in a data source
notion databases query <id> --filter <json> # Query with filters
notion databases query <id> --sort <json> # Query with sorting
处理区块(页面内容):
notion blocks get <block-id> # Get a block
notion blocks children <block-id> # List child blocks
notion blocks append <block-id> --content <json> # Append new blocks
notion blocks update <block-id> --content <json> # Update a block
notion blocks delete <block-id> # Delete a block
处理用户:
notion users list # List workspace members
notion users get <user-id> # Get user details
notion users me # Get the authenticated bot user
处理评论:
notion comments list --block <block-id> # List comments on a block
notion comments create --page <page-id> --content <text> # Add a comment to a page
全局选项(所有命令均可用):
--api-key <key> # Override NOTION_API_KEY env var
-f, --format <fmt> # Output format: json (default), table, csv
--limit <n> # Max results to return
--cursor <cursor> # Pagination cursor
核心概念
| 概念 | 用途 | 示例 |
|---|---|---|
| 页面 | 独立的Notion页面 | 会议记录、项目简报 |
| 数据库 | 结构化的页面集合 | 任务追踪器、CRM表格 |
| 数据源 | 数据库中的单个表 | 数据库中的特定视图/表 |
| 块 | 页面内的内容元素 | 段落、标题、列表、代码块 |
| 属性 | 数据库页面上具有类型的字段 | 标题、状态、日期、选择、关联 |
| 用户 | 工作空间成员和集成 | 团队成员、机器人集成 |
| 评论 | 页面/块上的讨论线程 | 反馈、审阅备注 |
API 参考
- 基础 URL:
https://api.notion.com/v1 - API 版本:
2022-06-28 - 认证:
Authorization: Bearer $NOTION_API_KEY - 速率限制:采用指数退避算法自动重试(最多重试3次)
常见API操作 搜索页面:
curl -X POST https://api.notion.com/v1/search \
-H "Authorization: Bearer $NOTION_API_KEY" \
-H "Notion-Version: 2022-06-28" \
-H "Content-Type: application/json" \
-d '{"query": "Meeting Notes", "filter": {"value": "page", "property": "object"}}'
使用筛选条件查询数据库:
curl -X POST https://api.notion.com/v1/databases/<database-id>/query \
-H "Authorization: Bearer $NOTION_API_KEY" \
-H "Notion-Version: 2022-06-28" \
-H "Content-Type: application/json" \
-d '{"filter": {"property": "Status", "status": {"equals": "In Progress"}}}'
在数据库中创建页面:
curl -X POST https://api.notion.com/v1/pages \
-H "Authorization: Bearer $NOTION_API_KEY" \
-H "Notion-Version: 2022-06-28" \
-H "Content-Type: application/json" \
-d '{"parent": {"database_id": "<database-id>"}, "properties": {"Name": {"title": [{"text": {"content": "New Task"}}]}}}'
向页面追加内容:
curl -X PATCH https://api.notion.com/v1/blocks/<block-id>/children \
-H "Authorization: Bearer $NOTION_API_KEY" \
-H "Notion-Version: 2022-06-28" \
-H "Content-Type: application/json" \
-d '{"children": [{"object": "block", "type": "paragraph", "paragraph": {"rich_text": [{"type": "text", "text": {"content": "Hello world"}}]}}]}'
注意事项
- 必须通过Notion界面明确将集成应用分享至每个需要访问的页面或数据库(操作路径:...菜单 > 连接 > 添加您的集成应用)。
- 页面可接受UUID或Notion链接格式的ID——命令行工具将自动解析这两种格式。
- 所有列表接口均支持通过
--limit和--cursor参数实现基于游标的分页。 - 输出格式可通过
-f标志设置为json(默认)、表格或csv格式。 - 属性类型包括:标题、富文本、数字、选择、多选、状态、日期、人员、文件、复选框、网址、电子邮件、电话号码、关联、汇总、公式和时间戳字段。
文件 共1个
- SKILL.md(此文件)
文章底部电脑广告
手机广告位-内容正文底部


微信扫一扫,打赏作者吧~