Potion is a reverse-engineered API for Notion. Write your content in Notion, and use Potion's hosted API endpoints to read your content.
I've written a couple of blog posts on my website for using this API.
- How to use Notion as your blog's CMS
- API to read a Notion table
- How to turn a Notion doc into a website
All endpoints are relative to the base URL: https://potion-api.now.sh
<notion-page-id>
refers to the 32 character alphanumeric string in the URL of a Notion doc (but not a query parameter, so not the string after ?v=
).
Lists all entries in a full-page Notion table, along with additional details about each page.
The only query parameter is ?id=<notion-page-id>
.
Generates HTML for the description of a table.
The only query parameter is ?id=<notion-page-id>
.
Generates HTML for a given Notion page. You can insert it as the contents of a blog post, for example.
The only query parameter is ?id=<notion-page-id>
, which can be obtained from the /table
endpoint or just by copy-and-pasting from the URL
Most, but not all, of the common Notion blocks are supported at the moment:
- Text
- To-do List
- Heading 1
- Heading 2
- Heading 3
- Bulleted List
- Numbered List
- Toggle List
- Quote
- Divider
- Link To Page
- Callout
- Image
- Embed
- Web Bookmark
- Video
- Audio
- Code
- File
- Math Equation
This project is built to be deployed on Vercel.
For local development, install Vercel's CLI and run now dev
.