Skip to content

Fast Notion CLI for pages, databases, and blocks. Created for Openclaw.

License

Notifications You must be signed in to change notification settings

6missedcalls/notion-cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

notion-cli

Fast Notion CLI for pages, databases, and blocks.

Created for use by Openclaw.

Install

npm install -g @6missedcalls/notion-cli

Setup

export NOTION_API_KEY="secret_xxx"

Get your API key from https://www.notion.so/my-integrations

Usage

Pages

# Get a page
notion page get <page-id>

# Create a page
notion page create --parent <page-id> --title "My Page"

# Create in database
notion page create --parent <db-id> --title "Entry" --database

# Archive
notion page archive <page-id>

Blocks

# Get block children
notion block children <page-id>

# Append blocks from JSON file
notion block append <page-id> --json blocks.json

# Append from stdin
echo '[{"type":"paragraph","paragraph":{"rich_text":[{"type":"text","text":{"content":"Hello"}}]}}]' | notion block append <page-id> --stdin

# Delete
notion block delete <block-id>

Databases

# Get database schema
notion db get <database-id>

# Query with filter
notion db query <database-id> --filter '{"property":"Status","select":{"equals":"Done"}}'

Search

# Search everything
notion search "query"

# Search only pages
notion search "query" --filter page

# Search only databases
notion search --filter database

Push (Markdown/JSON)

# Push markdown file to page
notion push README.md --parent <page-id>

# Push JSON blocks
notion push blocks.json --parent <page-id>

# Push from stdin
cat notes.md | notion push --stdin --parent <page-id>

# Create new page and push content
notion push content.md --parent <page-id> --title "New Page"

Options

All commands support:

  • --json - Output as JSON
  • --quiet - Suppress non-error output

Library Usage

import { NotionClient, markdownToBlocks } from '@6missedcalls/notion-cli';

const client = new NotionClient({ apiKey: process.env.NOTION_API_KEY });

// Push markdown
const blocks = markdownToBlocks('# Hello\n\nWorld');
await client.appendBlocks(pageId, blocks);

License

MIT

About

Fast Notion CLI for pages, databases, and blocks. Created for Openclaw.

Resources

License

Stars

Watchers

Forks

Packages

No packages published