DEV Community

Cover image for Notion API SDK Client in various languages
Ryo Shibayama
Ryo Shibayama

Posted on

Notion API SDK Client in various languages

The following is an introduction to the official API Client released this time, excluding the API Client that was originally reverse engineered.
Also, as of now (2020/05/16), the README must be reasonably well-developed.

Official API Approach

JavaScript

The only SDK that is officially provided by Notion.

https://github.com/makenotion/notion-sdk-js

Go

https://github.com/dstotijn/go-notion
https://github.com/ketion-so/go-notion
https://github.com/sorcererxw/go-notion
https://github.com/mkfsn/notion-go

Python

https://github.com/ramnes/notion-sdk-py

PHP

https://github.com/5am-code/laravel-notion-api
https://github.com/64robots/php-notion

Ruby

https://github.com/mgmarlow/notion-sdk-ruby

Reverse Engineering Approach

Python and Go are the two most famous API clients that use reverse engineering techniques. Both of them have more than 1,000 stars, and I think many users are using them.

https://github.com/jamalex/notion-py
https://github.com/kjk/notionapi

It is still unclear if this one will support the official API.
I'm not sure if this one will support the official API or not, but it will have to be a major change from the current implementation, and there are many operations that are not supported by the official API, so I don't think it's realistic to follow suit.

Top comments (1)

Collapse
 
mark_leo profile image
Mark Leo

Hi,
I want to develop a web app with Notion. This app will interact with Notion's data via the Notion SDK to edit Notion Pages.

  1. I wonder if an editor is needed here to display and edit Notion Pages. Are there any open - source editor libraries available for this purpose?
  2. As for me, I don't know how to achieve it. Could you give me some advice? 3.because the notion-api returns many kinds block content: so, such as existing editor(like slate.js) can not editor all the contents of notion block? How do they connect?