レート制限
データルートは Cloudflare Durable Objects による principal 単位の強整合カウントでレート制限されます。tier ごとに上限が異なります。
| principal | 分窓 | 長期窓 | 取得方法 |
|---|---|---|---|
お試しトークン(anon) | 5 / 分 | 30 / トークン生涯 | POST /v1/trial-token(Turnstile 解錠) |
無料キー(free) | 60 / 分 | 1,000 / 日 | セッションで発行(/v1/keys) |
お試しトークンは 1 つあたり生涯 30 リクエストまでなので、継続利用には
API キー(free)の発行をおすすめします。
超過時のレスポンス
上限を超えると 429 Too Many Requests を返します。レスポンスには次のヘッダが付きます。
| ヘッダ | 内容 |
|---|---|
Retry-After | 再試行までの待機秒数 |
RateLimit-Limit | 適用された上限 |
RateLimit-Remaining | 残りリクエスト数 |
RateLimit-Reset | 窓がリセットされるまでの秒数 |
RateLimit-* ヘッダは許可時の応答にも付きます。残量を監視して、超過前に
リクエストのペースを調整できます。
# 429 のレスポンス例(ヘッダ)
HTTP/2 429
retry-after: 17
ratelimit-limit: 60
ratelimit-remaining: 0
ratelimit-reset: 17
content-type: application/json{ "error": { "code": "rate_limited", "message": "Too many requests" } }既知の特性:固定窓の継ぎ目バースト
レート制限は固定ウィンドウ方式です。窓の境界で残量が 0 起点に巻き戻るため、 窓末ギリギリと次窓頭にリクエストを寄せると、短時間に最大 2 倍まで通り得ます (例:free 分窓 60/分なら境界跨ぎで一時的に最大 120)。
暫定の上限には余裕があり、当面はこの特性を受容しています。厳密性が必要になった段階で スライディングウィンドウへの移行を検討します。通常の利用では気にする必要はありません。