Skip to main content

Notion API is a REST API that enables programmatic access to Notion workspaces, allowing developers to create, read, update, and manage databases, pages, blocks, users, and comments through authenticated endpoints. It provides comprehensive functionality for querying databases, managing page content, and searching across shared workspaces

Project description

Getting Started with Notion API

Introduction

Hello and welcome!

To make use of this API collection collection as it's written, please duplicate this database template.

Under the Variables tab, add your environment variables to start making requests. You will need to create an integration to retrieve an API token. You will also need additional values, such as a database ID and page ID, which can be found in your Notion workspace or from the database template mentioned above.

For our full documentation, including sample integrations and guides, visit developers.notion.com.

Please note: Pages that are parented by a database must have the same properties as the parent database. If you are not using the database template provided, the request body for the page endpoints included in this collection should be updated to match the properties in the parent database being used. See documentation for Creating a page for more information.

To learn more about creating an access token, see our official documentation and read our Authorization guide.

Need more help? Join our developer community on Slack.

Install the Package

The package is compatible with Python versions 3.7+. Install the package from PyPi using the following pip command:

pip install notion-pypi==1.0.0

You can also view the package at: https://pypi.python.org/pypi/notion-pypi/1.0.0

Test the SDK

You can test the generated SDK and the server with test cases. unittest is used as the testing framework and pytest is used as the test runner. You can run the tests as follows:

Navigate to the root directory of the SDK and run the following commands

pip install -r test-requirements.txt
pytest

Initialize the API Client

Note: Documentation for the client can be found here.

The following parameters are configurable for the API Client:

Parameter Type Description
http_client_instance HttpClient The Http Client passed from the sdk user for making requests
override_http_client_configuration bool The value which determines to override properties of the passed Http Client from the sdk user
http_call_back HttpCallBack The callback value that is invoked before and after an HTTP call is made to an endpoint
timeout float The value to use for connection timeout.
Default: 60
max_retries int The number of times to retry an endpoint call if it fails.
Default: 0
backoff_factor float A backoff factor to apply between attempts after the second try.
Default: 2
retry_statuses Array of int The http statuses on which retry is to be done.
Default: [408, 413, 429, 500, 502, 503, 504, 521, 522, 524]
retry_methods Array of string The http methods on which retry is to be done.
Default: ['GET', 'PUT']
bearer_auth_credentials BearerAuthCredentials The credential object for OAuth 2 Bearer token

The API client can be initialized as follows:

from notionapi.configuration import Environment
from notionapi.http.auth.o_auth_2 import BearerAuthCredentials
from notionapi.notionapi_client import NotionapiClient

client = NotionapiClient(
    bearer_auth_credentials=BearerAuthCredentials(
        access_token='AccessToken'
    ),
    environment=Environment.PRODUCTION
)

Authorization

This API uses the following authentication schemes.

List of APIs

SDK Infrastructure

HTTP

Utilities

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

notion_pypi-1.0.0.tar.gz (12.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

notion_pypi-1.0.0-py3-none-any.whl (21.9 kB view details)

Uploaded Python 3

File details

Details for the file notion_pypi-1.0.0.tar.gz.

File metadata

  • Download URL: notion_pypi-1.0.0.tar.gz
  • Upload date:
  • Size: 12.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.13

File hashes

Hashes for notion_pypi-1.0.0.tar.gz
Algorithm Hash digest
SHA256 7fc5acd54c2c454b35ee59e6a9de31cd1461060d8e27fb6c0aee29f472388ae8
MD5 e05ea8a7d7fedb81b72e409534d685be
BLAKE2b-256 f06252bdcd9f1a75c5b3289ed6bea10f6a972163e1dca060a24818630f28ae19

See more details on using hashes here.

File details

Details for the file notion_pypi-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: notion_pypi-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 21.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.13

File hashes

Hashes for notion_pypi-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 13281a321053b68ea2663f4a5c01313382f289423240226de5dbccc5a8d835df
MD5 86c6f7a3bc8e408486bfbb8148175107
BLAKE2b-256 7f015a9930437effbdb44b01d57e3a085255ba72fc20a7513a5013677883442f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page