If you’re looking to retrieve all the entries from a Notion database using the official Notion API, here’s how you can do it.

Obtaining the Notion Instance Reference

First, you’ll need to obtain a reference to the Notion instance. Use the following code snippet to initialize the Notion client by importing the Client class from the @notionhq/client package:

import { Client } from '@notionhq/client';

// ...

const notion = new Client({ auth: process.env.NOTION_API_KEY });

Make sure to replace process.env.NOTION_API_KEY with your own API key.

Calling notion.databases.query()

Once you have the Notion instance reference, you can make use of the notion.databases.query() function to retrieve the entries from the database.

To retrieve all entries, use the following code:

const postsReady = await notion.databases.query({
  database_id: process.env.NOTION_DB_ID,
});

Replace process.env.NOTION_DB_ID with the ID of your Notion database.

Applying Filters to the Query

If you want to filter the entries based on specific properties, you can include filter rules in the query. For example, to retrieve entries where the checkbox property named “Ready” is checked, you can use the following code:

const postsReady = await notion.databases.query({
  database_id: process.env.NOTION_DB_ID,
  filter: {
    and: [
      {
        property: 'Ready',
        checkbox: {
          equals: true,
        },
      },
    ],
  },
});

Feel free to add more filtering rules and combine them using or or and logic as per your requirements.

Additional Functionality

Apart from filtering, you can also perform various other operations with the Notion API. Some of them include sorting entries by a specific property in ascending or descending order.

For a detailed overview of the notion.databases.query() function, refer to the official documentation: notion.databases.query() - Notion API Documentation

That’s it! You now know how to retrieve entries from a Notion database using the Notion API. Happy coding!