Search API Connector Documentation


Import Notion Data to Google Sheets

In this guide, we’ll walk through how to pull data from the Notion API directly into Google Sheets, using the API Connector add-on for Sheets. We'll first get an API key from Notion, and then set up a request to pull in data to your spreadsheet.


Before You Begin

Click here to install the API Connector add-on from the Google Marketplace.

Part 1: Get Your Notion Token

  1. Log in to Notion and click Settings & Members on the left side navigation menu
  2. Click Connections and then Develop or manage integrations
  3. Click + New Integration
  4. You'll be prompted to give your integration a name and a logo. These can be anything, but remember what you pick :p. Click Submit.
  5. You will be presented with an internal token that you can use to make your API requests.
  6. Scroll to the bottom of the page, make sure Internal integration is selected, and click Save. Congrats, you have your token! Copy it down as we'll use it shortly.

Part 2: Allow Access for your Token

By default, the token you've just created doesn't have access to your Notion data until you explicitly share access. To share access, you'll need to add it like this.

  • Navigate to your page or database, and click the click the ••• button on top right.
  • Scroll down to the bottom and click +Add connections
  • In the resulting pop-up, search for and select the integration you created earlier.
  • You'll see a message informing you that your integration will now have access to the page. Click Confirm.

Now your page is available via the API.

Part 2: Create Your API Request URL

For our first request, we'll get metadata about a page.

  • Base URL:
  • Endpoint: /pages/page_id

You can get your page ID from your page URL:

Putting it all together, we get the full API Request URL. Just substitute in your own page ID.

Part 3: Pull Notion API Data into Sheets

Now let's get that data!

  1. Open up Google Sheets and click Extensions > API Connector > Open.
  2. In the Create Request tab, enter the Request URL we just created
  3. Leave OAuth set to None
  4. Enter three headers. Where it says Bearer secret_xxxx, substitute in your Notion token from the first part of this article.
    • Authorization: Bearer secret_xxxxxxxxxxxx
    • Notion-Version: 2021-08-16
    • Content-Type: application/json
  5. Create a new tab and click Set current to use that tab as your data destination.
  6. Name your request and click Run. A moment later you’ll see data about your Notion page populate your Google Sheet:

Part 4: More Example API URLs

You can check the documentation for the full list of available endpoints, or try these example requests:

  • List databases
  • Get records within a database (substitute in your database ID, and use a request body of {})
  • Get content from a page (substitute in your page ID)

Part 5: Handle Pagination

By default, Notion API limits 100 responses per page as shown in their documentation:

To get more records, use the start_cursor parameter as described. In API Connector you can do this automatically with pagination handling, like this.

  • Pagination type: cursor
  • Next token parameter: start_cursor
  • Next token path: next_cursor (this is the column name containing the tokens)
  • Run untilchoose when to stop fetching data
Note: this currently only works with Notion's GET requests. Notion's POST requests require paginating through request body parameters (not yet available through API Connector).

Part 6: API Documentation

Official API documentation:

Leave a Comment

Jump To...