Introduction
Notion CMS helps you and your Agents use Notion’s API to launch simple websites in seconds, or complex sites in a matter of minutes

Why?
Notion is awesome. But the API is cumbersome. How about we think of a way to simplify the API, and make it more manageable, improve the DX and enable Notion to be the default starter CMS for any new side project you’re launching? 1
How?
While Notion’s API is complex, it’s very well specified and structured. Most of the time, you only need a subset of values, properties, or otherwise information stored in it’s databases or pages.
Additionally, it has a great editor. But for programmers (and LLMs2), markdown or html are the most convenient forms of rich text.
What about creating *Yet Another Notion API Wrapper *3?
What
This is Notion API wrapper*,* that re-structures their API, and, instead of ditching their structure, it
- combines it with another two layers, gradually reducing complexity.
- provides a simple, familiar, strongly typed, api to query the database
query("blog").filter("Published", "equals",true) - provides built, convenient methods to convert content to markdown or html
- provides a simple layer for media management so you can store/cache your assets easily
-
There is lots of cool stuff you can do with this, but there’s even more now that Notion is heavily invested in automations. For example, you could create a blog database, where every record has a button that invalidates the ISR of your page. Allowing you to cache pages forever, work on editing them, and only revalidate when you’re ready to re-publish. You can combine this automation to also update last revalidation date to the page. This is exactly how this page works. ↩
-
append /llms.txt to any route in this website and see what happens 🍿 ↩
-
I’m tempted to call this library YANAW. I’m sure it would have the same traction: 0. ↩
Last updated: Oct 3, 2025, 3:51 PM