A serverless wrapper for the private Notion API. It provides fast and easy access to your Notion content. Ideal to make Notion your CMS.
We provide a hosted version of this project on https://notion-api.splitbee.io
. You can also host it yourself. Cloudflare offers a generous free plan with up to 100,000 request per day.
Use with caution. This is based on the private Notion API. We can not gurantee it will stay stable.
π Easy to use β Receive Notion data with a single GET request
π Table Access β Get structured data from tables & databases
β¨ Blazing Fast β Built-in SWR caching for instant results
π« CORS Friendly β Access your data where you need it
-
Use it as data-source for blogs and documentation. Create a table with pages and additional metadata. Query the
/table
endpoints everytime you want to render a list of all pages. -
Get data of specific pages, which can be rendered with
react-notion
/v1/page/<PAGE_ID>
Example (Source Notion Page)
https://notion-api.splitbee.io/v1/page/2e22de6b770e4166be301490f6ffd420
Returns all block data for a given page.
For example, you can render this data with react-notion
.
/v1/table/<PAGE_ID>
Example (Source Notion Page)
https://notion-api.splitbee.io/v1/table/20720198ca7a4e1b92af0a007d3b45a4
All public pages can be accessed without authorization. If you want to fetch private pages there are two options.
- The recommended way is to host your own worker with the
NOTION_TOKEN
environment variable set. You can find more information in the Cloudflare Workers documentation. - Alternatively you can set the
Authorization: Bearer <NOTION_TOKEN>
header to authorize your requests.
To obtain your token, login to Notion and open your DevTools and find your cookies. There should be a cookie called token_v2
, which is used for the authorization.
- Timo Lins β Idea, Documentation
- Tobias Lins β Code
- Travis Fischer β Code