メインコンテンツへ
短.be

API レート制限

API へのリクエスト数を一定期間内に制限する仕組み。サービスの安定性確保と不正利用の防止に不可欠。

2025年9月20日 · 約 1 分で読めます

セキュリティ

API レート制限とは、一定期間内に API へ送信できるリクエスト数の上限を設ける仕組みです。サービスの安定性を確保し、特定のユーザーやボットによるリソースの独占を防ぐために不可欠な防御機構です。

レート制限の実装方式には主に 3 つあります。固定ウィンドウ方式 (1 分間に 100 リクエストなど固定枠) 、スライディングウィンドウ方式 (直近 1 分間のリクエスト数で判定) 、トークンバケット方式 (一定速度でトークンが補充され、リクエストごとにトークンを消費) です。トークンバケット方式はバースト的なアクセスにも柔軟に対応でき、 AWS API Gateway や Stripe など多くのサービスで採用されています。

レート制限に達した場合、サーバーは HTTP 429 (Too Many Requests) ステータスコードを返します。レスポンスヘッダーの Retry-After フィールドに再試行までの待機秒数が含まれるため、クライアント側ではこの値を読み取って指数バックオフ (1 秒、 2 秒、 4 秒と待機時間を倍増させる方式) で再試行するのがベストプラクティスです。

短縮 URL サービスの API では、 URL 短縮リクエスト (書き込み) とリダイレクト (読み取り) で異なるレート制限を設けるのが一般的です。 Bitly の無料プランでは月間 1,000 リンク作成が上限であり、大量の URL を一括短縮する場合は API レート制限を意識した設計が必要です。関連書籍は Amazon でも探せます。

X でシェアはてブ

この記事は役に立ちましたか?

関連用語

関連記事

よくある質問

API レート制限はどのように実装しますか?
トークンバケット、スライディングウィンドウ、固定ウィンドウなどのアルゴリズムで実装します。 Redis などのインメモリデータストアを使用してリクエスト数をカウントするのが一般的です。
レート制限に達した場合のレスポンスは?
HTTP 429 (Too Many Requests) ステータスコードを返します。 Retry-After ヘッダーで再試行可能な時間を通知し、クライアントが適切に待機できるようにします。

短縮 URL を作成してみませんか?

無料で URL を短縮する