Skip to content

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
...download them all now!

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

Bootcamp 2025

Join the waiting list