Notionで大量のページや巨大なデータベースを複製しようとした時、「一定時間あたりのブロック複製数の上限に達しました(Rate limit reached)」 というエラーが表示されることがあります。
結論から言うと、これはバグではなく**「1時間あたり50,000ブロック」というAPI制限**によるものです。有料プランにしていても発生します。この記事では、このエラーの仕組みと、作業を止めずに回避するための具体的なテクニックを解説します。
なぜ「複製制限」がかかるのか?
Notionは、テキスト1行、画像1枚、データベースの1行など、あらゆる要素を**「ブロック」**という単位で管理しています。
サーバーへの過負荷を防ぐため、Notionは短時間での大量のブロック生成(複製)に制限を設けています。これを**レートリミット(Rate Limit)**と呼びます。
制限の目安:50,000ブロックとは?
「5万ブロック」と言われてもピンと来ないかもしれませんが、以下のような操作を一気に行うと引っかかりやすくなります。
- 数千行あるデータベースを丸ごと複製した
- 複雑なテンプレートを短時間に何十回も複製した
- APIを使って大量のデータをインポートした
エラーが出た時の3つの解決策
1. 【基本】1時間待ってから再試行する
この制限は「1時間単位」でリセットされます。最も確実な解決策は、PCを閉じて休憩することです。
1時間が経過すれば、カウントがゼロに戻り、再び通常通り複製できるようになります。
2. 「コピー&ペースト」で小分けにする
「ページ全体の複製(Duplicate)」はAPIリクエストを大量に消費しますが、**「範囲選択してコピー&ペースト」**であれば、処理が分散されるためエラーを回避できる場合があります。
- 方法: 巨大なデータベースの場合、全行を一度に複製するのではなく、500行ずつ選択して新しいデータベースにコピペします。
3. 不要なコンテンツを削る
複製元のページに、不要な画像やアーカイブ済みのデータが含まれていませんか?
特にデータベースの「ゴミ箱行き」のデータも複製対象になる場合があるため、事前にデータを整理(削除)してブロック総数を減らすことで、スムーズに複製できるようになります。
【比較表】ブロック消費量のイメージ
何が「1ブロック」としてカウントされるのかを知っておくと、対策が立てやすくなります。
| 要素 | ブロック換算 | 備考 |
| テキスト段落 | 1ブロック | 改行するたびに+1 |
| 画像・埋め込み | 1ブロック | ファイルサイズに関わらず1つ |
| DBの行(Row) | 1ブロック以上 | 行の中にページ内容があればさらに加算 |
| DBの列(Prop) | – | プロパティ自体はブロック数に影響小 |
開発者向け:API利用時の注意点
Notion APIを使用して自動化を行っている場合、このエラーは「HTTP 429 Too Many Requests」として返されます。
- 対策:
Retry-Afterヘッダーを確認し、指定された秒数だけ待機してからリクエストを再送するロジック(Exponential Backoffなど)を実装してください。
よくある質問(FAQ)
Q. 有料プラン(プラス/ビジネス)にすれば制限は解除されますか?
A. いいえ、解除されません。このレートリミットは、サーバー全体の安定性を保つための仕様であり、プランに関わらずすべてのユーザー(およびワークスペース)に適用されます。
Q. 複製以外でもこのエラーは出ますか?
A. はい、稀に発生します。例えば、データベースのプロパティを一括変換したり、サードパーティ製ツールで大量のデータを書き込んだりする場合にも、同様のAPI制限に達する可能性があります。
Q. 5万ブロックの制限値が変わることはありますか?
A. はい、Notionのサーバー負荷状況やアップデートにより、予告なく変更される可能性があります。あくまで目安として捉えてください。
まとめ
Notionで複製制限エラーが出たら、焦らず以下の対応を取りましょう。
- まずは1時間休憩する(最善策)
- 小分けにしてコピペする
- 不要なデータを削除する
これは「あなたがNotionを使いこなしている証拠」でもあります。制限を理解して、スマートなデータ管理を行いましょう。
Next Step: もし頻繁にこのエラーが出る場合は、データベースの「アーカイブ」機能を使って、アクティブなデータ量を減らす運用を見直してみましょう。