📑
Notion APIのLimit(リクエスト制限)で気になったことまとめ
2021/5/14にNotion APIがPublic betaとなるようです。
「何ができるのか」も気になりますが、個人的にはそれと同じくらい「どのくらい使えるのか」が気になるので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なだけあってまだ足りない部分はありますが、何にせよ今日はいい日です 🎉
とっても分かりやすい説明をありがとうございます。本文は別なんですね。安心しました。
本文の制限や他の気になる点についても試していただきありがとうございます!とても参考になります 🙏
追加したブロックの書き換え / 消去早めに対応してほしいですね 😂
こちら、現在時点ですと制限にかかっていないようです。
1ブロック内に英数10,000文字、1ブロック内にひらがな10,000文字のいずれも取得できました!
ですねー。
そうなのですね!とても有用な情報をありがとうございます!