コンテンツにスキップ
言語の選択:日本語
テーマの選択

レート制限

APIトークンごとのリクエスト制限と429レスポンスへの対応。

更新日:

公平な利用とシステムの安定性のため、リクエストはトークンごとに制限されます。

制限 値
毎分のリクエスト数 60

制限はAPIトークンごとに適用されます。複数のトークンを使う場合、それぞれ独立した上限があります。

上限を超えると、Retry-Afterヘッダーを伴う429 Too Many Requestsが返されます。

HTTP/1.1 429 Too Many Requests
Content-Type: application/json
Retry-After: 60
{ "errors": ["Rate limit exceeded"] }

Retry-Afterの値は、再試行まで待つ秒数です。

import requests
import time
def api_get(url, token, retries=3):
for attempt in range(retries):
response = requests.get(url, headers={"Authorization": f"Bearer {token}"})
if response.status_code == 429:
wait = int(response.headers.get("Retry-After", 60))
print(f"Rate limited. Waiting {wait}s...")
time.sleep(wait)
continue
response.raise_for_status()
return response.json()
raise Exception("Rate limit retries exhausted")

大規模な在庫同期や多数のプロジェクトのインポートなどの一括処理では、リクエストの間隔を空け、平均で毎秒1件未満にしてください。

毎分60件を継続して超える必要がある場合は、アカウントの上限についてサポートに相談してください。