
Notion Cli
- 6.3k installs
- 148 repo stars
- Updated June 16, 2026
- makenotion/skills
notion-cli is an agent skill for running the Notion ntn CLI to call the API, manage pages, upload files, and deploy workers.
About
The notion-cli skill documents the official Notion CLI (ntn) for interacting with the Notion API from the terminal. It instructs agents to look up syntax via self-documenting commands such as ntn api ls, ntn api <path> --help, --docs, and --spec rather than guessing endpoints. Authentication prefers an existing NOTION_API_TOKEN environment variable; ntn login and logout are fallbacks that open a browser URL. The ntn api subcommand infers GET vs POST, supports query params, inline body fields, JSON bodies with -d, and method overrides with -X. Page and comment content should use Markdown via ntn pages create, ntn pages update, or the markdown field on comments, falling back to rich_text only for mentions, emoji, or colors. File uploads wrap the File Uploads API through ntn files create from stdin or external URLs. Workers are scaffolded, deployed, listed, and executed with ntn workers new, deploy, ls, and exec. Install via curl -fsSL https://ntn.dev | bash.
- Self-documenting CLI: ntn api ls, --help, --docs, and --spec before guessing syntax.
- Prefers NOTION_API_TOKEN; ntn login only when the token env var is unset.
- Markdown-first page and comment authoring via ntn pages and markdown API fields.
- ntn files create supports stdin uploads and external URLs for File Uploads API.
- ntn workers subcommands scaffold, deploy, list, and execute Notion workers.
Notion Cli by the numbers
- 6,324 all-time installs (skills.sh)
- +324 installs in the week ending Aug 4, 2026 (Skillselion tracking)
- Ranked #32 of 550 CLI & Terminal skills by installs in the Skillselion catalog
- Security screen: MEDIUM risk (skills.sh audit)
- Data as of Aug 5, 2026 (Skillselion catalog sync)
notion-cli capabilities & compatibility
- Capabilities
- discover api endpoints via ntn api ls and per pa · authenticate with notion_api_token or ntn login · create and update pages with markdown content fi · upload files from stdin or external urls · scaffold and deploy notion workers from a projec
- Works with
- notion
- Use cases
- project management · documentation · api development
- Platforms
- macOS · Linux · Windows
- Runs
- Runs locally
- Pricing
- Free
What notion-cli says it does
Use the Notion CLI (`ntn`) to interact with the Notion API, manage workers, and upload files.
The CLI automatically uses `NOTION_API_TOKEN` when it is set.
Prefer `ntn pages create` / `ntn pages update` for Markdown page content.
ntn workers deploy # deploy from current directory
npx skills add https://github.com/makenotion/skills --skill notion-cliAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 6.3k |
|---|---|
| repo stars | ★ 148 |
| Security audit | 1 / 3 scanners passed |
| Last updated | June 16, 2026 |
| Repository | makenotion/skills ↗ |
How do I call the Notion API, create pages, query databases, upload files, or deploy a worker without memorizing endpoint syntax?
Call the Notion API, create pages, query databases, upload files, and manage workers using the ntn CLI.
Who is it for?
Terminal workflows that create or update Notion pages, query databases, upload files, or manage Notion workers.
Skip if: Skip when the task is unrelated to Notion or when a GUI-only workflow is explicitly required.
When should I use this skill?
User asks to call the Notion API, deploy a worker, upload a file to Notion, create a page, query a database, or run any ntn command.
What you get
Correct ntn commands executed with Markdown content, authenticated API access, and optional worker deployment from the current directory.
- Notion API command invocations
- Created pages or database query output
By the numbers
- Four ntn command families documented: api, pages, files, workers
- Install via curl -fsSL https://ntn.dev | bash
Files
Notion CLI
Look things up before answering
The CLI is self-documenting. Always prefer running these commands over guessing syntax or relying on memorized knowledge:
ntn api ls— list every public API endpoint.ntn api <path> --help— show methods, doc links, and usage for an endpoint.ntn api <path> --docs— print the full official docs for an endpoint.ntn api <path> --spec— print a reduced OpenAPI fragment (useful for
understanding request/response schemas).
ntn pages get <page-id>— retrieve a page as Markdown. Use this to read page
content.
ntn <command> --help— help for any command or subcommand.
Install
curl -fsSL https://ntn.dev | bashAuthentication
- The CLI automatically uses
NOTION_API_TOKENwhen it is set. - Check
NOTION_API_TOKENfirst. If it is already set, prefer using it instead
of telling the user to run ntn login.
ntn login/ntn logout— log the CLI in or out (only use if not using
NOTION_API_TOKEN). ntn login requires the user to visit a URL in a web browser.
ntn api
Run ntn api --help for full syntax. Quick summary:
# GET with query param
ntn api v1/users page_size==100
# POST with inline body fields
ntn api v1/pages parent[page_id]=abc123
# POST with JSON body
ntn api v1/pages -d '{"parent":{"page_id":"abc123"}}'The method is inferred (GET by default, POST when a body is present). Override with -X METHOD.
Markdown for pages and comments
Prefer ntn pages create / ntn pages update for Markdown page content. Use the markdown field when creating or updating comments via ntn api.
# Comment with markdown
ntn api v1/comments -d '{"parent":{"page_id":"abc123"},"markdown":"Here is a [link](https://example.com) and **bold text**."}'
# Page with markdown body
ntn pages create --parent page:abc123 --content '## Heading\n\nSome *formatted* content.'The markdown field supports inline formatting (bold, italic, code, links, etc.). Only fall back to rich_text if you need features that Markdown cannot express (e.g. mentions, custom emoji, or colors).
ntn files
Convenience wrapper around the File Uploads API.
ntn files create < image.png
ntn files create --external-url https://example.com/photo.png
ntn files list
ntn files get <upload-id>ntn workers
Manage Notion workers (deploy, list, execute, etc.). Run ntn workers --help for subcommands.
ntn workers new my-worker # scaffold a new project
ntn workers deploy # deploy from current directory
ntn workers ls # list workers
ntn workers exec <capability> # execute a capabilityMIT License
Copyright (c) 2026 Notion Labs, Inc.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Related skills
How it compares
Choose notion-cli when terminal-driven API discovery beats hand-maintained Notion REST examples in agent prompts.
FAQ
How should agents learn ntn syntax?
Run ntn api ls, ntn api <path> --help, --docs, or --spec instead of guessing endpoint shapes.
When is ntn login required?
Only when NOTION_API_TOKEN is not already set in the environment.
How do I upload a local image to Notion?
Use ntn files create < image.png or ntn files create --external-url for a remote file.
Is Notion Cli safe to install?
skills.sh reports 1 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.