Notion API, how to retrieve the entries in a database
Here’s how to list all entries in a Notion database using the official Notion API.
First you need to have a reference to the Notion instance
import { Client } from '@notionhq/client'
//...
const notion = new Client({ auth: process.env.NOTION_API_KEY })
Then you can call notion.database.query()
to retrieve the entries.
This retrieves all entries:
const postsReady = await notion.databases.query({
database_id: process.env.NOTION_DB_ID,
})
This retrieves all entries with the checkbox property named “Ready” checked:
const postsReady = await notion.databases.query({
database_id: process.env.NOTION_DB_ID,
filter: {
and: [
{
property: 'Ready',
checkbox: {
equals: true,
},
},
],
},
})
You can do a lot more.
You can add more filtering rules, combining them with or
or and
logic.
You can sort them by a specific property, ascending or descending.
It’s pretty cool.
See the official docs of notion.databases.query()
: https://developers.notion.com/reference/post-database-query
→ I wrote 17 books to help you become a better developer:
- C Handbook
- Command Line Handbook
- CSS Handbook
- Express Handbook
- Git Cheat Sheet
- Go Handbook
- HTML Handbook
- JS Handbook
- Laravel Handbook
- Next.js Handbook
- Node.js Handbook
- PHP Handbook
- Python Handbook
- React Handbook
- SQL Handbook
- Svelte Handbook
- Swift Handbook
Also, JOIN MY CODING BOOTCAMP, an amazing cohort course that will be a huge step up in your coding career - covering React, Next.js - next edition February 2025