コンテンツにスキップ

レート制限

APIリクエストはAPIキーごとに、エンドポイント群単位で制限されます:

エンドポイント制限
GET /v1/products · GET /v1/balance · GET /v1/api-key · GET /v1/tasks/{token} · GET /v1/tasks/{token}/result · GET /v1/tasks/{token}/downloadAPIキーあたり 60 リクエスト / 分(IP あたり 120 / 分)
POST /v1/detect · POST /v1/detect/fileAPIキーあたり 10 リクエスト / 分(IP あたり 30 / 分)
POST /v1/realtime/check/{series} · POST /v1/realtime/detectAPIキー単位のトークンバケット:バースト60、毎秒1補充(持続約60 / 分)。アカウント単位:バースト120、毎秒2補充。IP層は180 / 分。すべてのレスポンスに X-RateLimit-Remaining ヘッダーが付きます。

受け取るヘッダーはどの層が応答したかによって異なり、3つのグループの挙動は同じではありません:

ヘッダー意味付与される条件
X-RateLimit-Remaining現在のウィンドウに残っているリクエスト(またはトークン)数3グループすべてのレスポンス
X-RateLimit-Limit適用された上限一般・検出のすべてのレスポンスと、IP 層からの 429。リアルタイムのレスポンスには決して付きません — リアルタイムはバケットを消費するため、固定の上限がありません
Retry-After再試行までに待つ秒数429 のときのみ
X-RateLimit-Resetウィンドウがリセットされる Unix タイムスタンプ一般または検出グループの 429 のときのみ。リアルタイムや IP 層からは付きません

X-RateLimit-Remaining は無条件に信頼できる唯一のヘッダーであり、リアルタイムが成功時に返す唯一のヘッダーです。

制限を超えると API は Retry-After ヘッダー付きの 429 を返します(リアルタイムは retry_after フィールドもあり)。指示された秒数だけ送信を停止し、指数バックオフで再開してください。

{
"message": "Too many requests. Limit: 60/min."
}
Retry-After: 12
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 0