この記事では、「Notion APIって何?どうやって使うの?」 という初心者の方向けに、
Notion APIの基本と、どういったことができるようになるかを紹介します。
プログラミングの知識がなくても、Postmanというツールを使えばAPIを手軽に体験できます。
実際にNotion APIを使ってNotionにデータを登録・取得するところまでを解説しますのでまだ触ったことがなくて少しでも興味があれば参考にしてみてください。
Notion APIを使うと外部とアプリとの連携ができるようになってさらにNotionでの情報管理の幅が広がります。
ぜひお試しください。
この記事を読むメリット
- Notion APIの基本の使い方が理解できて実際に動かせるようになる
- Notion APIを使ってできることが分かる
APIとは
APIについて簡単に説明します。
APIとは「Application Programming Interface」の略で、アプリ同士のやり取り窓口のような役割です。
異なるアプリ同士でデータを取得したり、データ登録などができます。
アプリ内でできることの幅が広がるので最初の敷居が高いかもしれませんが、おすすめです。
Notion APIでできること
それでは、Notion APIではどんなことができるのか紹介します。
- Notionのデータベースから情報を取得する
- 新しいページを作成する
- ページの内容を更新・削除する
- タスク管理や情報整理を外部アプリと連携する
Notion APIを使うとこのようなことができます。
具体的には、Notionのデータベース情報をスプレッドシートにまとめたり、外部からNotionのページ追加や編集を行うことができるようになります。
そんなこと、Notion内で行ったら良いのでは?と思うかもしれません。
しかし、既存で使っているツールや資料にNotionのデータを入れたい場合やその逆を行いたい場合にNotion APIを使って情報を取得できたりすると便利です。
Notionの書籍を参考にしたい方におすすめ
Notionに関する書籍を参考にしたい方はこちらの本がおすすめです。
初心者にとっても分かりやすくNotionの全体像を解説してあります。
さらに私のNotionに関する記事を基にした書籍も発売中です。
これからNotionを始めたい方、Notionでできることを網羅的に知りたい方はぜひ参考にしてみてください。
Notion APIの使い方
それではここからNotion APIの使い方を紹介します。
ざっくりと流れはこんな感じになります。
- Notionでインテグレーションを作成する
- 操作対象のページとインテグレーションを共有する
- APIを使ってみる
Notionでインテグレーションを作成する
まずは前準備として、Notionでインテグレーションを作成します。
これはNotion APIを使う場合必須の作業になります。
Notion Developersにアクセスして、インテグレーションを新規追加します。
インテグレーション名を入力して、ワークスペースと種類を選択します。

種類にはもう1つ「外部(Public)」があります。
これはワークスペース外の不特定多数の方にも利用可能になります。
一般に公開するWebアプリやSaaSサービス連携する場合には「外部(Public)」にする必要があります。
それ以外の自分のワークスペース内で利用する場合は「内部(Internal)」で大丈夫です。
保存ボタンをクリックして完了です。
「内部インテグレーションシークレット」は後ほど使用します。
操作対処のページとインテグレーションを共有する
続いては、実際に対象のページでインテグレーションを共有します。
今回はデータベースを対象としたいので対象のデータベースのページに遷移します。
インラインデータベースの場合は、以下の「ビューのリンクをコピー」してデータベースページへ遷移します。

このデータベースはメモを管理するためのデータベースです。
データベースページに遷移したら、ページ左上「•••」から「接続」にマウスを持っていき、外部の接続先から先ほど追加したインテグレーションを選択します。

これで準備は完了です。
PostmanでAPI通信やってみる
続いては実際にAPI通信を試してみます。
Postmanというツールを使います。
Postmanは、ブラウザやアプリ上でかんたんにAPIリクエストが送れるツールです。
まずは公式サイトに行き会員登録(無料)をします。

会員登録が完了すると、このような画面に遷移するかと思います。

もしくは「Get Started」というボタンがあればそちらをクリックしてこの画面に遷移します。
ここでAPI通信を実行します。
「Gettting started」横の「+」をクリックして新規のタブを表示させます。

新規追加タブが追加できたら実際にリクエストを送信します。
やることは以下になります。
- NotionのデータベースIDを取得
- リクエストURLの入力
- リクエストヘッダーの入力(Notion-Version)
- 認証のためのtokenを入力(インテグレーションシークレット)
NotionのデータベースIDを取得
まずはNotionのデータベースIDを取得します。
データベースIDはデータベースページを開いているURLに含まれています。
「https://www.notion.so/166bec0e62884958a3418eb5f4a42390?v=be2da62dc9344df196ed46ca4783ce98」の場合、「166bec0e62884958a3418eb5f4a42390」がデータベースIDになります。
「?v=~」の箇所は含まれないので注意が必要です。
リクエストURLの入力
続いては、PostmanでリクエストURLを入力していきます。
今回データベースの情報を取得するので以下のURLを使います。
「https://api.notion.com/v1/databases/<データベースID>/query」
<データベースID>の部分には、先ほどNotionで取得したデータベースIDを入れます。
PostmanにこのURLに入力します。

もう一点、リクエストタイプを「POST」に変更します。
デフォルトだとGETになっているかと思うので、それを「POST」にします。
リクエストヘッダーの入力(Notion-Version)
続いてはリクエストヘッダーを入力します。
Headersタブを選択し、以下のように入力します。

Keyに「Notion-Version」、Valueに「2022-06-28」を入力します。
認証のためのtokenを入力(インテグレーションシークレット)
最後は、Authorizationタブにインテグレーションシークレットを入力します。

Auth Typeのセレクトボックスから「Bearer Token」を選択し、Tokenにインテグレーションシークレットを入力します。
インテグレーションシークレットは、「表示」をクリックすると、文字列が表示され、「コピー」ができるようになっています。

これで準備は完了です。
「Send」ボタンをクリックすると、JSON形式のデータが返ってきました。

きちんとデータベースの内容が取得できていることが確認できました。
Notion APIの基本
いかがだったでしょうか。
Notion APIを使って実際にデータ取得ができるようになりました。
活用方法については別の記事でまた紹介したいと思います。
少し抵抗がありましたが、やってみると割とスムーズに実行できました。
別のアプリとの連携などができるようになるとさらにNotionでのデータ管理が捗ると思います。
私も今、Notion APIで連携したアプリを構想中です。
形になったらまた紹介しようと思います。