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!