NotionAPI comes with 3 packages: @notiondocs/api-client, @notiondocs/api-core, and @notiondocs/api-transform. Each package serves a different purpose:
@notiondocs/api-clientis used for making queries to the Notion backend. It is a required dependency for thecorepackage.@notiondocs/api-coreprovides a layer of abstraction on top of theclientpackage that makes manipulating data from the Notion backend a breeze.@notiondocs/api-transformallows you to transform Notion page content by providing specific transformation rules.
Notion API supports all read operations on pages and collections. Write operations are coming soon!
| Feature | Availability | Notes |
|---|---|---|
| Query Notion backend | ✅ | see client package |
| Query private pages | ✅ | see client package |
| Get user information | 😕 | not directly supported, but possible with client package |
| Feature | Availability | Notes |
|---|---|---|
| Read page properties | ✅ | see core package |
| Read page metadata | ✅ | see core package |
| Read full page content | ✅ | see core package |
| Transform content block map | ✅ | see transform package |
| Update page | ❌ | Feature coming soon! 👀 |
| Feature | Availability | Notes |
|---|---|---|
| Fetch collection schema | ✅ | see core package |
| Fetch collection from collection page | ✅ | see core package |
| Fetch collection from collection ID | ✅ | see core package |
| Filter collection based on view | ✅ | see core package |
| Create new page in collection | ❌ | |
| Delete page in collection | ❌ |
Documentation is coming soon, once the entire NotionDocs suite is finished. That being said, NotionAPI is written entirely in Typescript and is (WIP) fully documented in code.
Thanks goes to these wonderful people (emoji key):
Cole Gawin 💻 🖋 🎨 🤔 🚇 🚧 📆 |
This project follows the all-contributors specification. Contributions of any kind welcome!