Skip to main content

Notion Api

Notion API enables seamless integration with Notion's powerful workspace platform, allowing businesses to connect pages, databases, and workflows to external tools, creating efficient data management and collaboration solutions for teams and organizations.

Notion Api icon

Power end-to-end data operations for your Notion Api API with Nexla. Our bi-directional Notion Api connector is purpose-built for Notion Api, making it simple to ingest data, sync it across systems, and deliver it anywhere — all with no coding required. Nexla turns API-sourced data into ready-to-use, reusable data products and makes it easy to send data to Notion Api or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your Notion Api workflows fast, secure, and fully governed.

Features

Type: API

SourceDestination

  • Seamless API Integration: Connect to any endpoint as source or destination without coding, with automatic data product creation
  • Visual Composition & Chaining: Build complex integrations using visual templates, chain API calls, and compose workflows with data validation and filtering
  • API Proxy: Expose curated slices of your data securely with a secure and customizable API proxy that validates and transforms data on the fly
  • Request optimization with intelligent batching, retry, and caching to minimize API calls and costs

Prerequisites

Before creating a Notion API credential, you need to obtain your API key (integration token) from your Notion workspace. Notion uses API key authentication for all API requests, with the API key sent in the Authorization header with the Bearer prefix.

To obtain your Notion API key, follow these steps:

  1. Sign in to your Notion workspace using your administrator credentials.

  2. Navigate to Settings & Members in your Notion workspace.

  3. Click on Connections or Integrations in the left menu.

  4. Click New integration or + New integration to create a new integration.

  5. Configure your integration settings:

    • Enter a name for the integration (e.g., "Nexla Integration")
    • Select the workspace or pages you want the integration to have access to
    • Review and select the capabilities or permissions for the integration (e.g., Read content, Update content, Insert content)
  6. Click Submit or Create integration to create the integration.

  7. Once the integration is created, you will see the Internal Integration Token. Copy this token immediately, as it may not be accessible again after you navigate away from the page.

  8. Store the API key securely, as you will need it to configure your Nexla credential. The API key is sensitive information and should be kept confidential.

The API key (integration token) is sent in the Authorization header with the Bearer prefix (e.g., Authorization: Bearer {api_key}) for all API requests to the Notion API. The API key authenticates your requests and grants access to Notion resources based on the integration's permissions and the pages/workspaces it has access to. If your API key is compromised, you should immediately revoke it in your Notion workspace settings and generate a new one. For detailed information about obtaining API keys, API authentication, and available endpoints, refer to the Notion API documentation.

Authenticate

Credentials required

FieldRequiredSecretDescription
API Key ValueYesYesAPI Key Value

Create a credential in Nexla

  1. After selecting the data source/destination type, click the Add Credential tile to open the Add New Credential overlay.

New Credential Overlay – Notion API

NotionCred.png
  1. Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.

  2. Enter your Notion API key in the API Key Value field. This is the integration token you obtained from your Notion workspace settings (Settings & Members > Connections > Integrations) in Prerequisites. The API key is sent in the Authorization: Bearer {api_key} header for all API requests to the Notion API and must be kept confidential.

    Your Notion API key (integration token) can be found in your Notion workspace settings under Settings & Members > Connections > Integrations. After creating a new integration, you will see the Internal Integration Token which serves as your API key. The API key is sent in the Authorization: Bearer {api_key} header for all API requests to the Notion API.

    If your API key is compromised, you should immediately revoke it in your Notion workspace settings and generate a new one. The API key provides access to your Notion workspace data based on the integration's permissions and should be treated as sensitive information. Keep your API key secure and do not share it publicly.

    For detailed information about obtaining API keys, API authentication, and available endpoints, see the Notion API documentation.

  3. Click the Save button at the bottom of the overlay. The newly added credential will now appear in a tile on the Authenticate screen during data source/destination creation.

Use as a data source

To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Select the Notion API connector tile, then select the credential that will be used to connect to your Notion workspace, and click Next; or, create a new Notion API credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common Notion API endpoints. Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below. Click on an endpoint to see more information about it and how to configure your data source for this endpoint.

List all users

This endpoint template retrieves all users from your Notion workspace. Use this template when you need to retrieve user information, user roles, or workspace member details for your Notion workspace.

  • This endpoint automatically retrieves all users from your Notion workspace. No additional configuration is required beyond selecting this endpoint template. The endpoint uses offset-based pagination to handle large datasets efficiently.

This endpoint returns all users associated with your Notion workspace, including user details, roles, and workspace access information. The endpoint uses offset-based pagination with start_cursor to handle large datasets efficiently. Nexla will automatically fetch subsequent pages of data by using the start_cursor returned in the API response.

For detailed information about user management, API response structures, and pagination, see the Notion API documentation.

Retrieve comments

This endpoint template retrieves comments for a specific block from your Notion workspace. Use this template when you need to retrieve comments associated with a Notion page or block, such as comments on a specific page or database entry.

  • Enter the block ID in the Block Id field. This is the unique identifier of the Notion block or page for which you want to retrieve comments. The block ID is typically found in the Notion page URL or can be obtained from other Notion API endpoints. The block ID determines which block's comments will be retrieved.

This endpoint retrieves all comments associated with the specified block. The endpoint uses offset-based pagination with start_cursor to handle large datasets efficiently. Nexla will automatically fetch subsequent pages of data by using the start_cursor returned in the API response.

The block ID must be a valid Notion block or page identifier. For detailed information about retrieving comments, block IDs, API response structures, and pagination, see the Notion API documentation.

Once the selected endpoint template has been configured, click the Test button to the right of the endpoint selection menu to retrieve a sample of the data that will be fetched. Sample data will be displayed in the Endpoint Test Result panel on the right, allowing you to verify that the source is configured correctly before saving.

Manual configuration

Notion API data sources can also be manually configured to ingest data from any valid Notion API endpoint not covered by the pre-built templates, including sources that use chained API calls or custom query parameters. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, endpoint URL, date/time and lookup macros, path to data, metadata, and request headers.

Notion API typically uses the GET method for retrieving data (e.g., https://api.notion.com/v1/users, https://api.notion.com/v1/comments?block_id={block_id}). Set the Response Data Path to $.results[*] to extract items from the results array returned by most Notion API responses. The Notion API uses offset-based pagination via start_cursor; configure the offset parameter name as start_cursor, the starting offset as 0, and the page size parameter name as page_size.

Once all of the relevant settings have been configured, click the Next button to proceed with the rest of the data flow configuration, or click Save to save the data source configuration for later use.

Use as a destination

Click the + icon on the Nexset that will be sent to the Notion API destination, and select the Send to Destination option from the menu. Select the Notion API connector from the list of available destination connectors, then select the credential that will be used to connect to your Notion workspace, and click Next; or, create a new Notion API credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure destinations to send data to common Notion API endpoints. Select the endpoint to which data will be sent from the Endpoint pulldown menu. Then, click on the template in the list below to expand it, and follow the instructions to configure additional endpoint settings.

Create a Comment

This endpoint template creates a new comment on a Notion page or block. Use this template when you need to add comments to Notion pages, database entries, or blocks from your data flow.

  • This endpoint automatically creates comments from your data. No additional configuration is required beyond selecting this endpoint template. The request body should contain the comment data in JSON format, including the block ID and comment content.

This endpoint sends data as JSON in the request body to create a new comment in your Notion workspace. The request body should contain the comment data, including the block ID (the page or block where the comment will be added) and the comment content (rich text).

For detailed information about creating comments, request body formats, and available comment properties, see the Notion API documentation.

Create Page

This endpoint template creates a new page in your Notion workspace. Use this template when you need to create new Notion pages, database entries, or content from your data flow.

  • This endpoint automatically creates pages from your data. No additional configuration is required beyond selecting this endpoint template. The request body should contain the page data in JSON format, including the parent (database or page), page properties, and content.

This endpoint sends data as JSON in the request body to create a new page in your Notion workspace. The request body should contain the page data, including the parent (where the page will be created), page properties (title, content, etc.), and any additional page configuration.

For detailed information about creating pages, request body formats, available page properties, and content structures, see the Notion API documentation.

Manual configuration

Notion API destinations can also be manually configured to send data to any valid Notion API endpoint not covered by the pre-built templates. Using manual configuration, you can also configure Nexla to automatically send the response received from the Notion API after each call to a new Nexla webhook data source. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, data format, endpoint URL, request headers, attribute exclusions, record batching, and response webhooks.

Notion API typically uses the POST method to create resources (e.g., https://api.notion.com/v1/pages, https://api.notion.com/v1/comments), PATCH to update resources, and DELETE to remove them. Notion expects the request body as JSON — use {message.json} to send the entire Nexset record, or construct a custom JSON structure matching the target resource's schema (pages require a parent and properties; comments require a block ID and rich text content).

Save & activate

Once all endpoint settings have been configured, click the Done button in the upper right corner of the screen to save and create the destination. To send the data to the configured Notion API endpoint, open the destination resource menu, and select Activate.

The Nexset data will not be sent to the Notion API endpoint until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.