📑

Notion APIのLimit(リクエスト制限)で気になったことまとめ

2021/05/13に公開
4

2021/5/14にNotion APIがPublic betaとなるようです。

https://developers.notion.com/

「何ができるのか」も気になりますが、個人的にはそれと同じくらい「どのくらい使えるのか」が気になるのでRequest limitsを流し読みして気になった点をまとめてみます。

内容は2021/05/13時点のものです。

Rate limits

Rate-limited requests will return a "rate_limited" error code (HTTP response status 429). The rate limit for incoming requests is an average of 3 requests per second. Some bursts beyond the average rate are allowed.

平均3回/秒がNotion APIへのリクエスト数上限とのことです。瞬間的に3回/秒を超えるぶんにはOKという意味で「平均」ということですね。制限に引っかかるとステータスコード429のレスポンスが返ってくるので、その場合はリクエストを遅らせるなどの調節が有効かもしれません。

Size limits

【追記】 この制限について@neko_cheeseさんがコメントで解説してくれています。とても分かりやすいのでチェックしてみてください(↓ ジャンプ)。


2021/5/13時点

このあたりはまだ仕様が把握できていないので何か分かったら追記しようと思います。何かご存知の方がいればお気軽にコメントしてください。

Discussion

猫チーズ猫チーズ

待ちに待ったNotion API 〜 🎉

Size limitsはページの本文とは別で、データベースのプロパティを指しているみたいです。(同じ認識でしたらすみません)
なのでそこまでサイズ制限気にならないかな・・・?と

本文中のブロックについてはサイズ制限がリファレンスに書いていなかったので、いくつか限界まで試してみました。
❶ Paragraph Blockの paragraph.text[number].text.content の文字サイズは2000まで。
それを超える文字サイズだとエラー。 {"object":"error","status":400,"code":"validation_error","message":"body failed validation: body.children[1].paragraph.text[0].text.content.length should be ≤ `2000`, instead was `送った文字サイズ`."}

❷ Paragraph Blockの paragraph.text の配列長さは↑の文字サイズに応じて250〜13000あたり。
全要素2000文字のときは最大251要素。全要素1文字のときは最大約13000要素。
ただ、これに関しては 400 Validation Error ではなく 413 Payload Too Large だったので、Notion側が明確に制限しているというよりただの想定外みたいです。リクエストをJSON化したときの文字サイズ制限ですかね。

他で気になるのは

あたりです。

Betaなだけあってまだ足りない部分はありますが、何にせよ今日はいい日です 🎉

catnosecatnose

とっても分かりやすい説明をありがとうございます。本文は別なんですね。安心しました。
本文の制限や他の気になる点についても試していただきありがとうございます!とても参考になります 🙏

バッハバッハ

追加したブロックの書き換え / 消去早めに対応してほしいですね 😂

❶ Paragraph Blockの paragraph.text[number].text.content の文字サイズは2000まで。
それを超える文字サイズだとエラー。 {"object":"error","status":400,"code":"validation_error","message":"body failed validation: body.children[1].paragraph.text[0].text.content.length should be ≤ 2000, instead was 送った文字サイズ."}

こちら、現在時点ですと制限にかかっていないようです。
1ブロック内に英数10,000文字、1ブロック内にひらがな10,000文字のいずれも取得できました!

catnosecatnose

ですねー。
そうなのですね!とても有用な情報をありがとうございます!