Skip to content

Notion

Defined in: src/notion.ts:68

The public entry point for the SDK.

Create one Notion instance, then call its API properties, such as pages or blocks, to reach Notion endpoints.

import { Notion } from '@visus-io/notion-sdk-ts';
const notion = new Notion({
auth: process.env.NOTION_TOKEN
});
const page = await notion.pages.retrieve('page-id');
console.log(page.getTitle());
const block = await notion.blocks.retrieve('block-id');
const children = await notion.blocks.children.list('block-id');
const database = await notion.databases.retrieve('database-id');
const pages = await notion.databases.query('database-id', { filter: {...} });
const dataSource = await notion.dataSources.retrieve('data-source-id');
const pages = await notion.dataSources.query('data-source-id', { filter: {...} });
const results = await notion.search.query({ query: 'meeting notes' });
const user = await notion.users.retrieve('user-id');
const bot = await notion.users.me();
const comments = await notion.comments.list('page-id');
await notion.comments.create({ parent: { page_id: 'page-id' }, rich_text: [...] });
const fileUpload = await notion.fileUploads.uploadFile('image.png', buffer, 'image/png');
const views = await notion.views.list({ data_source_id: 'data-source-id' });
const queryResult = await notion.views.queries.create(views.results[0].id);
const markdown = await notion.pages.getMarkdown('page-id');
const task = await notion.pages.updateMarkdown('page-id', {
type: 'replace_content',
new_str: 'Updated content',
allow_async: true,
});
await notion.asyncTasks.poll(task.id);
const emojis = await notion.customEmojis.list();

new Notion(options): Notion

Defined in: src/notion.ts:104

NotionClientOptions

Notion

readonly asyncTasks: AsyncTasksAPI

Defined in: src/notion.ts:72

Async Tasks API for polling long-running Notion operations


readonly blocks: BlocksAPI

Defined in: src/notion.ts:75

Blocks API for working with Notion blocks


readonly comments: CommentsAPI

Defined in: src/notion.ts:78

Comments API for working with Notion comments


readonly customEmojis: CustomEmojisAPI

Defined in: src/notion.ts:81

Custom Emojis API for listing workspace custom emojis


readonly databases: DatabasesAPI

Defined in: src/notion.ts:84

Databases API for working with Notion databases


readonly dataSources: DataSourcesAPI

Defined in: src/notion.ts:87

Data Sources API for working with Notion data sources


readonly fileUploads: FileUploadsAPI

Defined in: src/notion.ts:90

FileUploads API for uploading files to Notion


readonly pages: PagesAPI

Defined in: src/notion.ts:93

Pages API for working with Notion pages


readonly search: SearchAPI

Defined in: src/notion.ts:96

Search API for searching across the workspace


readonly users: UsersAPI

Defined in: src/notion.ts:99

Users API for working with Notion users


readonly views: ViewsAPI

Defined in: src/notion.ts:102

Views API for working with Notion database/data source views