Notion API

By Abhishek Kumar
3 min read
Notion blends your everyday work apps into one platform. Use the Notion API to integrate, automate, and enhance productivity with powerful features and seamless collaboration

Table of Contents

A new tool that blends your everyday work apps into one. It's the all-in-one workspace for you and your team

API Overview

Notion is a comprehensive workspace and note-taking application that seamlessly integrates text, databases, spreadsheets, and other tools into a unified platform. It empowers users to create, organize, and collaborate on projects, documents, and ideas with ease. With its powerful features and intuitive interface, it caters to individuals, teams, and businesses alike, enabling them to streamline workflows, enhance productivity, and foster collaboration.

Notion API provides a robust and flexible interface for developers to interact with the core functionality of the application. The API documentation offers comprehensive guidance on accessing data, creating and modifying content, managing users and teams, and much more. It utilizes RESTful architecture, allowing developers to perform CRUD (Create, Read, Update, Delete) operations on various resources. Additionally, the API supports webhooks, enabling real-time notifications of events and changes within the workspace. To ensure stability and prevent abuse, the API employs rate limits to regulate the frequency of requests and maintain the integrity of the system.

API Request Limits

Free

1000 requests/hour

Personal Pro

2000 requests/hour

Team

5000 requests/hour

Enterprise

10000 requests/hour

APIs

Pages

Method: get

Description: Retrieve a single page by ID..

Endpoint: pages/{page_id}

Parameters: page_id

Databases

Method: get

Description: Retrieve a single database by ID..

Endpoint: databases/{database_id}

Parameters: database_id

Blocks

Method: get

Description: Retrieve a single block by ID..

Endpoint: blocks/{block_id}

Parameters: block_id

Blocks

Method: getChildren

Description: Retrieve a list of child blocks of a page or database..

Endpoint: blocks/{block_id}/children

Parameters: block_id

Blocks

Method: update

Description: Update a block by ID..

Endpoint: blocks/{block_id}

Parameters: block_id

Databases

Method: query

Description: Query a database..

Endpoint: databases/{database_id}/query

Parameters: database_id, filter, sorts

Pages

Method: create

Description: Create a new page..

Endpoint: pages

Parameters: parent_page_id

Databases

Method: create

Description: Create a new database..

Endpoint: databases

Parameters: parent_page_id, title, properties

Blocks

Method: create

Description: Create a new block..

Endpoint: blocks

Parameters: parent_table, parent_id, content, type

Databases

Method: update

Description: Update a database by ID..

Endpoint: databases/{database_id}

Parameters: database_id

Pages

Method: update

Description: Update a page by ID..

Endpoint: pages/{page_id}

Parameters: page_id

Search

Method: search

Description: Search across all content..

Endpoint: search

Parameters: query, filter, sort

Users

Method: me

Description: Retrieve the user object for the current authenticated user..

Endpoint: users/me

Parameters:

Search

Method: suggest

Description: Search for pages or databases that match a given query..

Endpoint: search/suggest

Parameters: query, types

FAQ

How to authenticate to the Notion API?

You can authenticate using an integration token or a user's access token.

What are the rate limits for the Notion API?

The rate limits are based on your developer account level.

Can I use the sandbox account for development?

Yes, you can use the sandbox account to test your integrations without affecting your real data.

How to access the developer account?

You can access the developer account by creating a new account on https://developers.notion.com.

What is the difference between a personal access token and an integration token?

A personal access token is used to authenticate your own Notion account, while an integration token is used to authenticate an external application.

Last Update: September 04, 2024