@schickling/notionapi-agent

Unofficial Notion.so API client.

Usage no npm install needed!

<script type="module">
  import schicklingNotionapiAgent from 'https://cdn.skypack.dev/@schickling/notionapi-agent';
</script>

README

notionapi-agent

version language license

Unofficial Node.js API client for Notion.so.

⚠ If you need to use Notion's API in production, I recommend waiting for their official release.

Installation

npm install notionapi-agent

Getting Started

Basic Usage

Try notionapi-agent on RunKit

const { createAgent } = require("notionapi-agent")

const agent = createAgent()

async function main() {

  const pageId = "181e961a-eb5c-4ee6-9153-07c0dfd5156d"

  try {
    const result = await agent.getRecordValues({
      requests: [{ id: pageId, table: "block" }]
    })
    console.log(result)
  } catch (error) {
    console.log(error)
  }

}

main()

The result is always the response of a successful request (HTTP status 200 OK). If Notion responds with other status code or the request failed, an error is thrown.

Advanced Usage

There is an example to demonstrate how to download all blocks of a page.

To access private content, one need the token.

Development

Project Structure

project structure graph

Documentation

Use TypeStrong/typedoc to generate reference documentation. It needs to be installed globally.

npm i -g typedoc

Packaging

Use rollup/rollup to package multiple source files into one cjs module (dist/index.js) and one esm module (dist/index.esm.js). Use tsc --emitDeclarationOnly to generate TypeScript declaration files.