A database is an object that contains one or more data sources. Databases can either be displayed inline in the parent page (is_inline: true) or as a full page (is_inline: false). The properties (schema) of each data source under a database can be maintained independently, and each data source has its own set of rows (pages).
Individual data sources don't have permissions settings, so the set of Notion users and bots that have access to data source children is managed through databases.
Databases that exist at the workspace level must be full-page databases, not inline. For easier permission management, we typically recommend having at least one level of parent page in between a database and the top-level workspace root.
Object fields
📘
Changed as of 2025-09-03
In September 2025, the Data source object was introduced, and includes the properties that used to exist here at the database level.
Diagram of the new Notion API data model.
A database is a parent of one or more data sources, each of which parents zero or more pages.
Previously, databases could only have one data source, so the concepts were combined in the API until 2025.
After upgrading your API integration to 2025-09-03, the new database object shape is displayed, including an array of child data_sources but not the data source properties.
Field
Type
Description
Example value
object
string
Always "database".
"database"
id
string (UUID)
Unique identifier for the database.
"2f26ee68-df30-4251-aad4-8ddc420cba3d"
data_sources
array of data source objects
List of child data sources, each of which is a JSON object with an id and name.
Use Retrieve a data source to get more details on the data source, including its properties.
[{"id": "c174b72c-d782-432f-8dc0-b647e1c96df6", "name": "Tasks data source"}]