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. まずは1時間休憩する(最善策)
  2. 小分けにしてコピペする
  3. 不要なデータを削除する

これは「あなたがNotionを使いこなしている証拠」でもあります。制限を理解して、スマートなデータ管理を行いましょう。

Next Step: もし頻繁にこのエラーが出る場合は、データベースの「アーカイブ」機能を使って、アクティブなデータ量を減らす運用を見直してみましょう。

By notions