Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kjk/notionapi
Unofficial Go API for Notion.so
https://github.com/kjk/notionapi
Last synced: about 14 hours ago
JSON representation
Unofficial Go API for Notion.so
- Host: GitHub
- URL: https://github.com/kjk/notionapi
- Owner: kjk
- License: bsd-2-clause
- Created: 2018-07-10T08:36:44.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2024-10-31T18:10:01.000Z (about 1 month ago)
- Last Synced: 2024-11-27T18:08:02.980Z (15 days ago)
- Language: Go
- Homepage: https://blog.kowalczyk.info/article/c9df78cbeaae4e0cb2848c9964bcfc94/using-notion-api-go-client.html
- Size: 800 KB
- Stars: 1,818
- Watchers: 27
- Forks: 87
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-starred-test - kjk/notionapi - Unofficial Go API for Notion.so (Go)
- awesome-repositories - kjk/notionapi - Unofficial Go API for Notion.so (Go)
- awesome-list - notionapi
- stars - kjk/notionapi - Unofficial Go API for Notion.so (Go)
- awesome-notion - notionapi - Unofficial Go API for Notion.so. (APIs)
README
# About notionapi
This is an unofficial, Go API for https://notion.so. Mostly for reading, limited write capabilities.
It allows you to retrieve content of a Notion page in structured format.
You can then e.g. convert that format to HTML.
Note: official Notion API is still in beta and not as capable as this unofficial API.
Documentation:
- tutorial: https://blog.kowalczyk.info/article/c9df78cbeaae4e0cb2848c9964bcfc94/using-notion-api-go-client.html
- API docs: https://pkg.go.dev/github.com/kjk/notionapiYou can learn how [I reverse-engineered the Notion API](https://blog.kowalczyk.info/article/88aee8f43620471aa9dbcad28368174c/how-i-reverse-engineered-notion-api.html) in order to write this library.
# Real-life usage
I use this API to publish my [blog](https://blog.kowalczyk.info/) and series of [programming books](https://www.programming-books.io/) from content stored in Notion.
Notion serves as a CMS (Content Management System). I write and edit pages in Notion.
I use custom Go program to download Notion pages using this this library and converts pages to HTML. It then publishes the result to Netlify.
You can see the code at https://github.com/kjk/blog and https://github.com/essentialbooks/tools/
# Implementations for other languages
- https://github.com/jamalex/notion-py : library for Python
- https://github.com/petersamokhin/knotion-api : library for Kotlin / Java
- https://github.com/Nishan-Open-Source/Nishan : library for node.js, written in Typescript