Skip to main content
POST
/
v1
/
databases
TypeScript SDK
import { Client } from "@notionhq/client"

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

const response = await notion.databases.create({
  parent: {
    type: "page_id",
    page_id: "b55c9c91-384d-452b-81db-d1ef79372b75"
  },
  title: [{ text: { content: "My Database" } }]
})
{
  "object": "<string>",
  "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
Deprecated as of version 2025-09-03This page describes the API for versions up to and including 2022-06-28. In the new 2025-09-03 version, the concepts of databases and data sources were split up, as described in Upgrading to 2025-09-03.Refer to the new APIs instead:
Creates a database as a subpage in the specified parent page, with the specified properties schema. Currently, the parent of a new database must be a Notion page or a wiki database.
Integration capabilitiesThis endpoint requires an integration to have insert content capabilities. Attempting to call this API without insert content capabilities will return an HTTP response with a 403 status code. For more information on integration capabilities, see the capabilities guide.
LimitationsCreating new status database properties is currently not supported.

Errors

Returns a 404 if the specified parent page does not exist, or if the integration does not have access to the parent page. Returns a 400 if the request is incorrectly formatted, or a 429 HTTP response if the request exceeds the request limits. Note: Each Public API endpoint can return several possible error codes. See the Error codes section of the Status codes documentation for more information.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

Notion-Version
enum<string>
required

The API version to use for this request. The latest version is 2025-09-03.

Available options:
2025-09-03

Body

application/json
parent
Page Id · object
required

The parent page or workspace where the database will be created.

title
(Text · object | Mention · object | Equation · object)[]

The title of the database.

Maximum array length: 100
description
(Text · object | Mention · object | Equation · object)[]

The description of the database.

Maximum array length: 100
is_inline
boolean

Whether the database should be displayed inline in the parent page. Defaults to false.

initial_data_source
object

Initial data source configuration for the database.

icon
File Upload · object

The icon for the database.

cover
File Upload · object

The cover image for the database.

Response

object
string
required

The database object type name.

Allowed value: "database"
id
string<uuid>
required

The ID of the database.