成分 / Seibun

レート制限

データルートは Cloudflare Durable Objects による principal 単位の強整合カウントでレート制限されます。tier ごとに上限が異なります。

principal分窓長期窓取得方法
お試しトークン(anon5 / 分30 / トークン生涯POST /v1/trial-token(Turnstile 解錠)
無料キー(free60 / 分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)。

暫定の上限には余裕があり、当面はこの特性を受容しています。厳密性が必要になった段階で スライディングウィンドウへの移行を検討します。通常の利用では気にする必要はありません。