home / skills / openclaw / skills / notion-api
This skill provides a lightweight Node-based Notion API CLI to search, query databases, and create pages without exposing secrets.
npx playbooks add skill openclaw/skills --skill notion-apiReview the files below or copy the command above to add this skill to your agents.
---
name: notion-api
description: Generic Notion API CLI (Node) for search, querying data sources (databases), and creating pages. Configure with NOTION_KEY (or ~/.config/notion/api_key).
---
# notion-api (generic)
This skill provides a small Node-based CLI for the Notion API. It’s designed to be shareable: **no hard-coded database IDs and no secrets in the repo**.
## Auth
Provide a Notion integration token via either:
- `NOTION_KEY` env var, or
- `~/.config/notion/api_key` (first line)
Also make sure the target pages/databases are shared with your integration in Notion.
## Commands (CLI)
Run via:
- `node scripts/notion-api.mjs <command> ...`
### Search
```bash
node scripts/notion-api.mjs search "query" --page-size 10
```
### Query a data source (database query)
```bash
node scripts/notion-api.mjs query --data-source-id <DATA_SOURCE_ID> --page-size 10
# optionally pass raw JSON body:
node scripts/notion-api.mjs query --data-source-id <ID> --body '{"filter": {...}, "sorts": [...], "page_size": 10}'
```
### Create a page in a database
```bash
node scripts/notion-api.mjs create-page --database-id <DATABASE_ID> --title "My item" --title-prop Name
```
## Output
All commands print JSON to stdout.
## Notes
- Notion API version header defaults to `2025-09-03` (override with `NOTION_VERSION`).
- Rate limits apply; prefer `page_size` and minimal calls.
This skill is a lightweight Node-based CLI for interacting with the Notion API to search, query databases, and create pages. It requires no hard-coded database IDs or secrets in the project and uses environment configuration for authentication. Commands return JSON to stdout so you can pipe or store results easily. It is intended for quick automation, backups, and simple integration scripts.
Authenticate by setting NOTION_KEY or placing an API key in ~/.config/notion/api_key (first line). The CLI exposes commands to search, query a database (with optional raw JSON body), and create pages in a database. All requests include a Notion API version header (default 2025-09-03) and respect Notion rate limits; responses are printed as JSON to stdout.
How do I authenticate?
Set NOTION_KEY in the environment or put your token in ~/.config/notion/api_key (first line).
Can I pass complex query filters?
Yes. Use the query command with --body and provide a raw JSON object containing filter, sorts, and page_size.
Where do results go?
All commands print JSON to stdout so you can redirect or pipe the output.