notion

Manage Notion pages, databases, and blocks via the Notion API using curl.

14|5|Updated Apr 9, 2026
One-click install
npx skills add https://github.com/MLT-OSS/hermes-agent-go --skill notion-mlt-oss
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: notion
Source: https://github.com/MLT-OSS/hermes-agent-go/tree/main/skills/productivity/notion
Command: npx skills add https://github.com/MLT-OSS/hermes-agent-go --skill notion-mlt-oss

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Working with Notion workspaces programmatically usually requires SDKs or manual API documentation lookups. This Skill provides ready-to-use curl commands for the Notion API, letting you search, create, update, and query pages and databases directly from the terminal with only an API key. ## Core Features & Use Cases - Full CRUD via curl: Search workspaces, get/create/update pages, query data sources, and append block content using the Notion API version 2025-09-03. - Property and block reference: Covers all common property types (title, select, date, relation, etc.) and includes a reference guide for every block type (headings, to-dos, code, callouts, images). - Use Case: Ask the agent to create a new task in your Notion project database with a status and due date, then append meeting notes as blocks to an existing page — all without leaving the terminal. ## Quick Start Set NOTION_API_KEY in ~/.hermes/.env, share your target pages with the integration, then ask the agent to create a new page in your Notion database.

Frequently Asked Questions about notion

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a page in a Notion database with the API?

Send a POST request to https://api.notion.com/v1/pages with the parent database_id and a properties object containing fields like title, select, and date. Include the Authorization bearer token and Notion-Version header in the request.

How to query a Notion database using curl?

POST to /v1/data_sources/{data_source_id}/query with a JSON body containing filter and sorts objects. In API version 2025-09-03, databases are called data sources, so use the data_source_id rather than the database_id for queries.

What permissions does a Notion API integration need?

The integration must be explicitly shared with each target page or database in Notion via the 'Connect to' menu. Without this step, API requests return authorization errors even with a valid NOTION_API_KEY.

What is the difference between database_id and data_source_id in Notion API?

In API version 2025-09-03, each database has both IDs. Use database_id when creating pages as the parent, and data_source_id when querying via the /v1/data_sources/ endpoints. Search results return databases as data_source objects.

What are the rate limits of the Notion API?

The Notion API allows roughly 3 requests per second on average. Exceeding this returns rate limit errors, so batch operations should be spaced out or retried with backoff.