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

  1. combines it with another two layers, gradually reducing complexity.
  2. provides a simple, familiar, strongly typed, api to query the database query("blog").filter("Published", "equals",true)
  3. provides built, convenient methods to convert content to markdown or html
  4. provides a simple layer for media management so you can store/cache your assets easily

  1. 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. ↩

  2. append /llms.txt to any route in this website and see what happens 🍿 ↩

  3. 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