$npx skillfedfor your agent

notion

Unofficial Python API client for Notion.so

With conditionsPyPI Front-EndsReleased Feb 2026997.2K downloads / mopermissive licensePure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — notion-0.1.0-py3-none-any.whl
v0.1.0 · released 2026-02-16 · Python >=3.5 · 7 runtime deps: requests, commonmark, bs4, tzlocal, python-slugify, dictdiffer, cached-property

Yes, if you need programmatic access to Notion and are comfortable with an unofficial API client. The package is actively maintained, has no known vulnerabilities, and low install friction. However, be aware that automatic Notion-to-Python updates are disabled and require manual refresh() calls, and the underlying Notion API v3 is undocumented and subject to change without notice.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires a valid Notion token_v2 obtained from browser cookies on a logged-in Notion.so session; Notion->Python automatic updating is currently disabled by default, requiring manual refresh() calls.
  • Low install friction with seven runtime dependencies (requests, commonmark, bs4, tzlocal, python-slugify, dictdiffer, cached-property).
  • Actively maintained with recent commits and no known vulnerabilities.

License · maintenance · safety

permissive license (permissive) — MIT license (permissive) allows commercial and private use with minimal restrictions, making it suitable for most projects without licensing concerns.

last release 2026-02-16 (179 days) · last repo commit 2026-02-16 · 4,375 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 997,152 downloads/mo, #4,546 on PyPI

Verify before relying

pip install notion

from notion.client import NotionClient

client = NotionClient(token_v2="<your_token_v2>")
page = client.get_block("https://www.notion.so/myorg/Test-c0d20a71c0944985ae96e661ccc99821")
page.title = "Updated title"
  • Whether the long-polling background daemon thread for live updates is stable and production-ready despite the noted monitoring issues.
  • Current state of the Notion API v3 compatibility—whether Notion has deprecated or changed the API since this client's last release.
Same gist for agents: .md · .json

What it is and what it does

notion-py is an object-oriented wrapper around Notion.so's internal API v3 that lets you interact with Notion databases, pages, and blocks from Python code. It maps Notion's table structures (blocks, collections, spaces, users) to Python classes and properties, so you can read and modify Notion content programmatically—changing a page title in Python immediately updates the live Notion UI, and vice versa through a local cache and optional long-polling subscription.

The package handles automatic conversion between Notion's internal data formats and Python objects, supports traversing block hierarchies, adding/deleting blocks, and registering callbacks to respond to changes. It includes a central RecordStore that keeps all data in sync, so Record instances always reflect the latest state without storing state internally. Note that automatic Notion-to-Python updates are currently broken and disabled by default; you must call refresh() manually to pull changes from the server.

Use it for

  • Automate bulk updates to Notion databases—modify multiple rows or pages programmatically without manual UI interaction.
  • Build a Python application that reads from Notion as a data source, treating Notion tables as a backend database.
  • Create scripts that respond to Notion changes via callbacks, triggering external actions or updating other systems.
  • Manage Notion page hierarchies and block organization—move, add, or delete blocks and nested content in bulk.
  • Embed Notion content (collections, views, blocks) into Python workflows for reporting or data processing.

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

With conditions

Yes, if you need programmatic access to Notion and are comfortable with an unofficial API client.

The package is actively maintained, has no known vulnerabilities, and low install friction. However, be aware that automatic Notion-to-Python updates are disabled and require manual refresh() calls, and the underlying Notion API v3 is undocumented and subject to change without notice.

Install

notion on PyPI

Before you install

Low install friction with seven runtime dependencies (requests, commonmark, bs4, tzlocal, python-slugify, dictdiffer, cached-property). Actively maintained with recent commits and no known vulnerabilities. Requires Python 3.5 or greater.

Requires a valid Notion token_v2 obtained from browser cookies on a logged-in Notion.so session; Notion->Python automatic updating is currently disabled by default, requiring manual refresh() calls.

License in practice

MIT license (permissive) allows commercial and private use with minimal restrictions, making it suitable for most projects without licensing concerns.

Quickstart

pip install notion

from notion.client import NotionClient

client = NotionClient(token_v2="<your_token_v2>")
page = client.get_block("https://www.notion.so/myorg/Test-c0d20a71c0944985ae96e661ccc99821")
page.title = "Updated title"

Verify before relying

  • Whether the long-polling background daemon thread for live updates is stable and production-ready despite the noted monitoring issues.
  • Current state of the Notion API v3 compatibility—whether Notion has deprecated or changed the API since this client's last release.

Package facts

Licensepermissive license permissive
Python supportSupports the current Python release >=3.5
Install frictionLow. Pure-Python wheel
Runtime dependencies
7 packages
requestscommonmarkbs4tzlocalpython-slugifydictdiffercached-property
MaintenanceActively maintained 179 days since the last release
Last repo commit
First released
Downloads997,152 / month, #4,546 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
License :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3

Evidence: notion-0.1.0-py3-none-any.whl

Tags

Capabilities
notion api python clientnotion database python wrappernotion page automationnotion block manipulationnotion collection accessnotion sdk unofficialpython notion integration
Topics
notion-integrationapi-wrapperdatabase-client

Let your AI agent find packages like this

Example. Real query, live index.

You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.

wish › “notion database python wrapper”

  • notionUnofficial Python client for Notion.so API v3 that maps Notion…
  • notion-clientA Python client library for the official Notion API that provides…
  • notion-to-md-pyConverts Notion pages to Markdown files via the Notion API,…

Give your agent the search over MCP, or paste the wish link into any chat.

More Front-Ends packages

SQLAlchemy Worth it
PyPI · Front-Ends · released Aug 2026

SQLAlchemy is a Python SQL toolkit and Object Relational Mapper (ORM) that provides both a high-level ORM layer for declarative object persistence and a Core SQL construction system for direct database abstraction and query building.

permissive licensepure Python · 3.7+
422.7Mdownloads / mo
psycopg2-binary Worth it
PyPI · Software Development · released Apr 2026

psycopg2-binary is a PostgreSQL database adapter for Python that implements the DB API 2.0 specification, enabling Python applications to connect to and query PostgreSQL databases with thread-safe concurrent operations.

copyleftcompiled wheel · 3.9+
271.6Mdownloads / mo
alembic Worth it
PyPI · Front-Ends · released Aug 2026

Alembic generates and manages database schema migrations for SQLAlchemy applications, handling version control of database structure changes with support for upgrades, downgrades, and auto-generation from model changes.

Install it if you use SQLAlchemy and need to version-control schema changes; skip it only if you manage migrations manually or use a different ORM entirely.

MITpure Python · 3.10+
215.2Mdownloads / mo
weaviate-client Worth it
PyPI · Front-Ends · released Aug 2026

A Python client library for connecting to and querying Weaviate, a vector database that enables semantic search and AI-powered data retrieval.

permissive licensepure Python · 3.10+
213.2Mdownloads / mo
databricks-sql-connector Worth it
PyPI · Front-Ends · released Jul 2026

A Python client library that connects to Databricks clusters and SQL warehouses using a Thrift-based protocol, conforming to the Python DB API 2.0 specification and supporting Arrow-based data exchange.

Install it if you need to query Databricks clusters or SQL warehouses from Python.

Apache-2.0pure Python
119.5Mdownloads / mo
psycopg Worth it
PyPI · Software Development · released May 2026

Psycopg 3 is a PostgreSQL database adapter for Python that enables applications to connect to, query, and manage PostgreSQL databases using Python code.

Install it if you need to connect Python to PostgreSQL.

LGPL-3.0-onlypure Python · 3.10+
117.0Mdownloads / mo

See also notion2md · notion-to-md-py · notion-client · airtable · aionotion · nocodb-simple-client · PowerPlatform-Dataverse-Client · fastlite · avro-gen3 · dbfread