RoomScope

最終更新

レート制限

読み取れる量を左右するものは 2 つあります。API キーごとのリクエストレートと、ウォレットのクレジットです。前者を超えると 429、後者を使い切ると 402 が返ります。

リクエストレート

制限は API キーごとに適用され、その値はワークスペースのプランで決まります。キーには 1 秒あたりの制限(1 秒間のスライディングウィンドウ)と、UTC の午前 0 時にリセットされる 1 日あたりの上限があります。ダッシュボードのセッションにはレート制限はかかりません。

プラン1 秒あたりのリクエスト数1 日あたりのリクエスト数有効なキー数
Free15,0001
Starter515,0003
Pro20100,00010
Scale60400,00025
Agency / Enterprise1501,200,000無制限

スコープやモジュールの不足で拒否されたリクエスト(403)はカウントされません。認証を通過したリクエストは、結果にかかわらずすべてカウントされます。

ヘッダー

リミッターを通過したレスポンスには、残りの利用枠が付きます。X-RateLimit-Limit と X-RateLimit-Remaining は 1 秒あたりのウィンドウを表し、Daily の組はキーに 1 日あたりの上限がある場合に付与されます。

http
HTTP/2 200X-RateLimit-Limit: 20X-RateLimit-Remaining: 19X-RateLimit-Daily-Limit: 100000X-RateLimit-Daily-Remaining: 98431

429 レスポンスの例

制限を受けたリクエストは、コード rate_limit_exceeded とともに 429 を返します。ボディは標準のエラーエンベロープで、秒単位の整数の Retry-After ヘッダーが付きます。少なくともその時間待ってからリトライし、再び制限を受けた場合は指数的にバックオフしてください。

429 Too Many Requests
HTTP/2 429Content-Type: application/jsonRetry-After: 1 {"code":"rate_limit_exceeded","message":"API key rate limit exceeded.","requestId":"3f2b6c1e-…","retryable":true}

1 日あたりの上限を使い切ると、コード daily_quota_exceeded とともに 429 が返り、Retry-After は UTC の午前 0 時までの秒数になります。この 429 自体には上限関連のヘッダーは付きません。

クレジット

リクエストレートとは別に、すべての読み取りはワークスペースのウォレットからクレジットで計量されます。キャッシュの閲覧は低コストで、新しいデータを収集するリクエストはより多くのクレジットを消費します(クレジット を参照)。上限に達すると、キャッシュの閲覧を含むすべての計量対象の呼び出しが、コード credit_cap_exceeded とともに 402 を返します。

制限内に収めるには
レスポンスは少なくともランキングの更新間隔のあいだ自分の側でキャッシュし(時間別ランキングは 1 時間に 1 回更新されます)、固定のタイマーではなく resetAt を基準にポーリングし、LIVE イベントにはポーリングより Webhook を使ってください。
このページは役に立ちましたか?