株式会社TEMPのロゴ画像

Notion APIとは?できることや使い方を解説

Notion APIとは?できることや使い方を解説

この記事では、「Notion API とは何か」「Notion API でできること」「Notion API を使ったサービス」「Notion API を実際に使用する方法」を初心者向けに解説します。

Notion API と聞くとプログラミングの知識が必要なイメージがあり、難しそうと思う方がたくさんいるかもしれません。しかし、プログラミングの知識がない非エンジニアの方でも簡単に Notion API を使う方法はたくさんあります。Notion API を知ることで、より便利に Notion を使うことが可能になります。

本記事では、前半部分で Notion API を使用したサービスや、プログラミングの知識を必要としない Notion API の活用方法、後半部分では GAS(Google App Script) や Python などで Notion API を使用する方法を解説します。Notion API を使えるようになることで Notion の活用の幅がぐっと広がります。Notion API を使ったことのない方も、ぜひチャレンジしてみてください。

Notion API とは

Notion API は Notion と外部のツール(Google、Microsoft 、Slack、LINE、ChatGPT など)を繋げてデータの受け渡しをしたり、Notion 内のワークフローを自動化することができるインターフェースです。API は、アプリケーション・プログラミング・インタフェース (Application Programming Interface)の略語です。

インターフェースと聞くと難しく感じますが、パソコンとマウスを繋ぐ USB もインターフェースの一種で、簡単に言うと「何か」と「何か」を「繋ぐもの」です。Notion API の場合は「Notion」と「外部の Web サービスやツール」を繋ぐインターフェースです。

ちなみに Notion API は無料で使用することができます。

もし、Notion をあまり知らないという場合は、以下の動画がおすすめです。

Notion の基本解説動画

Notion API でできること

Notion API を使えば、Notion の外から(別のアプリなど)、 ページ、ブロックを作成したり、データベースやページ、ブロックの内容を取得・更新することができます。例えば、以下のようなことが可能です。

  • Google カレンダーと Notion のタスク管理データベースの自動同期
  • Gmail で特定のアドレスからメールを受信したら Notion に保存
  • Slack で特定のスタンプを押したらスレッドの内容を Notion に保存
  • LINE でメモを作成したら Notion にも保存
  • Notion のデータベースの内容をスプレッドシートに自動同期
  • Notion で議事録を作成完了したら特定のアドレスに自動でメール送信

Notion API を使用する前に知っておくべきこと

上記でも述べたように、Notion API はデータベースのページやプロパティ、ページ内のブロックを対象にデータを作成・取得・更新・削除します。Noition のデータベースについてまだよく知らないという場合は、まず Notion のデータベースの概要を押さえておくのがおすすめです。

データベースについては以下の動画で詳しく解説されています。

Notion データベースの解説動画

Notion API を使って作成されたサービス・ツール・アプリ

ここでは実際に、Notion API を利用して作成されている Web サービスやツール、アプリを紹介します。自分で Notion API を使った実装をしなくとも、世の中で公開されているアプリを使うことで、より便利に Notion を使うことができるようになります。

Fast Notion

Notion に素早くメモを取ることができるスマホアプリです。Notion API でページやブロックの作成(メモ保存)などを行っています。

Fast Notion アプリの解説動画

Fast Notion は Chorme 拡張機能版もリリースされています(完全無料)。こちらも Notion API でページやブロックの作成を行っています。

Fast Notion Chrome 拡張機能の解説動画

Notiz

LINE から Notion にメモを保存するサービスです。Notion API でデータベースのページの作成やプロパティの更新(メモ保存)、プロパティの取得(タグを取得)などを行っています。

Notiz の解説動画

Notion Automations

Google カレンダーと Notion のデータベースを双方向に自動同期することができるサービスです。Notion API でデータベースのページの作成やプロパティの更新(Google カレンダー → Notion の同期)、ページやプロパティの取得(Notion → Google カレンダーの同期)などを行っています。

Notion Automations の解説動画

ChatGPT to Notion

ChatGPT で行ったやり取りの内容をそのまま Notion のデータベースに保存できる Chrome 拡張機能です。Notion API でデータベースのページの作成やプロパティの更新(ChatGPT のログ保存)、プロパティの取得(タグを取得)などを行っています。

ChatGPT to Notion の解説動画

BookNotion

Kindle のハイライトをかんたんに Notion に保存できるスマホアプリです。Notion API でデータベースのページの作成やプロパティの更新(ハイライトの保存やタグ付け)、プロパティの取得(タグを取得)などを行っています。

BookNotion の解説動画

NotionApps

ノーコードで簡単に Notion と連携したアプリを作れるサービスです。Notion API でデータベースのプロパティの取得(アプリで表示)、プロパティの更新(アプリから更新)などを行っています。

ノーコードで Notion API を使えるサービス

上記のセクションでは、Notion API で作られたサービスなどを紹介しましたが、ここからはノーコードで Notion API を使って、自由に Notion と他のサービスとの連携をできる iPaaS(Integration Platform as a Service)を紹介します。

iPaaS はクラウド上に分散しているさまざまなサービスを連携し、データを共有したり、ワークフローを自動化することができます。例えば、Gmail と Notion を連携し、「Gmail に特定のアドレスからメールが来た → メールの内容を Notion に保存」というような作業を簡単に自動化することができます。

Zapier

Zapier はノーコードでさまざまなアプリケーションの連携を自動化してくれるツールです。Zapier を使うことで、Notion と外部サービスを柔軟に連携することができます。

Zapier で Notion と連携できるサービスの一部

Zapier で Notion と連携できるサービスの一部

以下の記事では、Notion と Slack を連携し、特定のスタンプが押されたら Notion に保存する仕組みを構築しています。

Make

Make も Zapier と同じように、ノーコードでさまざまなアプリケーションの連携を自動化してくれるツールです。Zapier とできることは似ていますが、連携できるサービスが若干 Zapier と異なっていたり、作業をする画面の UI が Zapier とは異なります(どちらが使いやすいかはそれぞれの方の好みになると思います)。

Make で Notion と連携できるサービスの一部

Make で Notion と連携できるサービスの一部

GAS などで Notion API を活用した事例

GAS などを使って自分でコードを書けば、最も自由度高く Notion API を活用することができます。上記で紹介したノーコードツールでは対応できない場合も(連携対象に目的のアプリがないなど)、自分でコードを書けば大部分は解決できます。

GAS で Notion → スプシ の連携を行う

この活用例では、1日に1回 Notion に記録したタスクのデータを GAS で Google スプレッドシートにコピーして、スプレッドシート上でグラフ化して分析するということを行なっています。

GAS で Notion のデータを Google スプレッドシートにコピー

GAS で Notion のデータを Google スプレッドシートにコピー

Notion でブログを公開する

Notion API を使った「astro-notion-blog」というツールを使うことで、Notion に書いた内容がそのまま記事として公開することが可能です。ブログを公開するだけであればプログラミングの知識が必要なく使用できますが、ブログの見た目や Notion から取得するデータを増やすなどのカスタマイズをしたい場合は、プログラミングの知識が必要になります。

また、上記と同じような仕組みで Web サイトの「よくある質問」ページも実装することができます。

Webサイトの「よくある質問」ページを実装する解説動画

Alfred を使って Mac から素早く Notion にメモ

Alfred という Mac のアプリケーションを使えば、Notion API を使って素早く Notion にメモを取ることができます。

Alfred を使った Notion メモの解説動画

iPhone のショートカットで Notion API を活用する

iPhone に初期から入っている「ショートカット」アプリでも Notion API を活用することができます。

例えば以下の記事では、iPhone のショートカット経由ですばやく Notion にメモをとっています。

Notion API の使い方

ここからは、ノーコードツールなどを使用せずに自分でコードを書いて Notion API を使用する方法を解説します。

インテグレーションの作成

Notion API を使用するためには、まず「インテグレーション」を作成する必要があります。インテグレーションは、Notion API を使って Notion のページにアクセスするための「鍵」のようなものです。

インテグレーションはこちらのページ↗︎から作成が可能です。作成が完了するとトークンが表示されるので控えておくようにしてください。

Notion Integration の作成ページ

Notion Integration の作成ページ


Notion Integration トークンを取得する

Notion Integration トークンを取得する

インテグレーションの作成方法は、以下の動画でも解説されています(動画は Fast Notion の設定方法に関する内容ですが、インテグレーションの作成についても解説されています)。

Notion インテグレーション作成の解説動画

コネクトの追加

インテグレーションを作成した後は、Notion API でアクセスしたいページに先ほどの「インテグレーション」を追加します。Notion API は、作成したインテグレーションが追加(コネクト)されたページ(またはデータベース)にのみアクセスすることができます。

Notion コネクト追加の解説動画

Notion API を使った実装をする

GAS、JavaScript、Python で Notion API を使用するサンプルコードは、それぞれ下記の記事を参考にしてください。

Notion API に関する注意点とよくある質問

ここからは、Notion API を使用する上での注意点を解説します。

画像のアップロードには対応していますか?

現状、 Notion API では画像を含めたのファイルのアップロードには対応していません。

[https://developers.notion.com/page/frequently-asked-questions](https://developers.notion.com/page/frequently-asked-questions)

https://developers.notion.com/page/frequently-asked-questions↗︎

一度に取得できるページ数やブロック数に制限がある

Notion API で一度に取得できるページ数やブロック数には 上限100件という制限があります。例えば以下は、Notion API の公式ページでデータベースから一度に取得できるページ数の上限について記載されている箇所です。

[https://developers.notion.com/reference/post-database-query](https://developers.notion.com/reference/post-database-query)

https://developers.notion.com/reference/post-database-query↗︎

また以下は、Notion API の公式ページで一度に取得できるブロック数の上限について記載されている箇所です。

[https://developers.notion.com/reference/get-block-children](https://developers.notion.com/reference/get-block-children)

https://developers.notion.com/reference/get-block-children↗︎

解決策として、ページネーションや、全件取得したい場合は再起 fetch を実装することで対応できます。

[https://developers.notion.com/reference/intro#pagination](https://developers.notion.com/reference/intro#pagination)

https://developers.notion.com/reference/intro#pagination↗︎

画像のリンク切れ

Notion API で取得した画像は、リンクが1時間で切れてしまうという問題があります。この問題に対し、Notion API(v0.4.4)で画像を扱う↗︎では、対応方法を4つ解説してくれています。

  • 画像をすべて外部でホスティングする
  • 1時間に1回デプロイする
  • サイトのSSGをやめてSSRにする
  • デプロイ時に一時画像ファイルを開発者側で別のアクセス可能な場所に置く

また、Notion API 画像URLの期限切れ対策を3つ紹介する↗︎では対応方法を3つ解説してくれています。

  • Data URI スキームを使う
  • クライアント側で期限切れを判定して画像URLを取得し直す
  • 標準化したURLで画像を返すAPIを定義する

1 秒間に 3 リクエスト以上を送信するとエラーが返却される

Notion API は 1秒間に3リクエスト以上を送信すると、エラーが返却される仕様となっています。もしエラーが出てしまう場合は、少し待ってから 2回目、3回目のリクエストを飛ばすような実装が必要になります。

[https://developers.notion.com/reference/request-limits](https://developers.notion.com/reference/request-limits)

https://developers.notion.com/reference/request-limits↗︎

おわりに

この記事では、Notion API とは何か、Notion API でできること、Notion API を使ったサービスの具体例、Notion API を実際に使用する方法を初心者向けに詳しく解説しました。Notion API を使用することで、Notion をさらに便利に活用できます。まだ Notion API を使用したことがない方も、この記事を参考にしながら、ぜひチャレンジしてみてください。