notion

Notion API for creating and managing pages, databases, and blocks. Use when reading, creating, or updating Notion content, querying databases, or managing workspace structure.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "notion" with this command: npx skills add stitchi-co/skills/stitchi-co-skills-notion

notion

Use the Notion API to create/read/update pages, data sources (databases), and blocks.

Authentication

All requests require these headers:

  • Authorization: Bearer $NOTION_API_KEY
  • Notion-Version: 2025-09-03
  • Content-Type: application/json (for POST/PATCH requests)

The API key is provided via the $NOTION_API_KEY environment variable.

API Base URL

https://api.notion.com/v1

Common Operations

Search for pages and data sources

POST /v1/search

Body:

{"query": "page title"}

Get page

GET /v1/pages/{page_id}

Get page content (blocks)

GET /v1/blocks/{page_id}/children

Create page in a data source

POST /v1/pages

Body:

{
  "parent": {"database_id": "xxx"},
  "properties": {
    "Name": {"title": [{"text": {"content": "New Item"}}]},
    "Status": {"select": {"name": "Todo"}}
  }
}

Query a data source (database)

POST /v1/data_sources/{data_source_id}/query

Body:

{
  "filter": {"property": "Status", "select": {"equals": "Active"}},
  "sorts": [{"property": "Date", "direction": "descending"}]
}

Create a data source (database)

POST /v1/data_sources

Body:

{
  "parent": {"page_id": "xxx"},
  "title": [{"text": {"content": "My Database"}}],
  "properties": {
    "Name": {"title": {}},
    "Status": {"select": {"options": [{"name": "Todo"}, {"name": "Done"}]}},
    "Date": {"date": {}}
  }
}

Update page properties

PATCH /v1/pages/{page_id}

Body:

{"properties": {"Status": {"select": {"name": "Done"}}}}

Add blocks to page

PATCH /v1/blocks/{page_id}/children

Body:

{
  "children": [
    {"object": "block", "type": "paragraph", "paragraph": {"rich_text": [{"text": {"content": "Hello"}}]}}
  ]
}

Property Types

Common property formats for database items:

  • Title: {"title": [{"text": {"content": "..."}}]}
  • Rich text: {"rich_text": [{"text": {"content": "..."}}]}
  • Select: {"select": {"name": "Option"}}
  • Multi-select: {"multi_select": [{"name": "A"}, {"name": "B"}]}
  • Date: {"date": {"start": "2024-01-15", "end": "2024-01-16"}}
  • Checkbox: {"checkbox": true}
  • Number: {"number": 42}
  • URL: {"url": "https://..."}
  • Email: {"email": "a@b.com"}
  • Relation: {"relation": [{"id": "page_id"}]}

Key Differences in 2025-09-03

  • Databases → Data Sources: Use /data_sources/ endpoints for queries and retrieval
  • Two IDs: Each database now has both a database_id and a data_source_id
    • Use database_id when creating pages (parent: {"database_id": "..."})
    • Use data_source_id when querying (POST /v1/data_sources/{id}/query)
  • Search results: Databases return as "object": "data_source" with their data_source_id
  • Parent in responses: Pages show parent.data_source_id alongside parent.database_id
  • Finding the data_source_id: Search for the database, or call GET /v1/data_sources/{data_source_id}

Notes

  • Page/database IDs are UUIDs (with or without dashes)
  • The API cannot set database view filters — that's UI-only
  • Rate limit: ~3 requests/second average
  • Use is_inline: true when creating data sources to embed them in pages

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

notion

No summary provided by upstream source.

Repository SourceNeeds Review
General

notion

No summary provided by upstream source.

Repository SourceNeeds Review
General

pipedrive

No summary provided by upstream source.

Repository SourceNeeds Review
General

front

No summary provided by upstream source.

Repository SourceNeeds Review