【入門編】PostmanでAPIリクエストのレートリミット(429 Too Many Requests)を回避するスロットリング設定とループ技 – データベース・API管理活用バイブル

APIの「429 Too Many Requests」を華麗にかわす。Postmanでスロットリングを極める技術

こんにちは。API開発の世界へようこそ。

あなたが今、一生懸命書いたコードで大量のデータを処理しようとした瞬間、サーバーから突きつけられる「429 Too Many Requests」という冷徹なエラー。これに遭遇したとき、多くの初心者が「自分のコードが壊れたのか?」と焦ります。

しかし、これは「壊れた」のではなく、「速すぎてサーバーが悲鳴を上げている」というサインです。

プロのエンジニアは、ここで力任せにリクエストを送り続けません。「スロットリング(流量制御)」という技術を使い、相手のペースに合わせた礼儀正しい通信を行います。今日は、Postmanを使ってこの「大人の通信術」をマスターし、APIリクエストを自在に操る極意をお伝えします。

—

1. Postmanとは:単なるAPIテストツールではない

Postmanは、単なる「HTTPリクエストを送るボタン」ではありません。APIの設計・テスト・ドキュメント化までを担う、「APIライフサイクルの司令塔」です。

まずはインストールがまだの方は[公式サイト](https://www.postman.com/downloads/)からサクッと済ませてしまいましょう。セットアップといっても、アカウントを作ってログインするだけ。これだけで、あなたのAPIリクエスト環境がクラウドに保存され、どこでも同じ設定で作業できるようになります。

—

2. HelloWorld:まずは「正しく届く」ことを確認する

まずは基本の「き」です。

1. New > HTTP Request を選択。
2. URLに `https://jsonplaceholder.typicode.com/posts/1` を入力。
3. Send をクリック。
4. 下のパネルに `200 OK` が返ってくれば成功です。

これが確認できたら、いよいよ本題の「レートリミット突破術」に入りましょう。

—

3. 基本のテクニック:Collection Runnerの「Delay」

大量のリクエストを一度に送るには、複数のリクエストを束ねた「Collection」を作り、Collection Runnerを使うのが定石です。

  • 設定方法:

1. 左側の「Collections」から対象のフォルダを選択。
2. 「Run」ボタンをクリック。
3. 設定画面の「Delay」項目に注目してください。

ここが重要です。「Delay(ms)」に `500` や `1000` と入力してください。 これだけで、リクエストとリクエストの間に0.5秒〜1秒のインターバルが入ります。多くのAPIは、この「小さな間」を入れるだけで429エラーを回避できるようになります。

—

4. マニアックな裏技:Pre-request Scriptで制御する

Collection RunnerのDelayは便利ですが、「特定のリクエストだけ間隔を空けたい」といった細かい調整はできません。そんな時は、Pre-request Scriptという「リクエスト送信直前に動く魔法のコード」を使います。

実は、JavaScriptの `setTimeout` はPostman内ではそのまま使えません。そこで、擬似的に待機させるロジックを組み込みます。

// Pre-request Scriptに記述
const delay = 1000; // 1秒待機
const start = Date.now();

// 同期的にループを回して時間を消費させる(簡易的な待機処理)
while (Date.now() – start < delay) { // 何もせず待機 } console.log("1秒待機完了。サーバーへの負荷を抑えます。"); なぜこれが必要なのか?
サーバーによっては、1秒間に10回までと厳密なルールがある場合があります。このスクリプトを仕込めば、どんな環境でも確実なペース配分が可能です。

—

5. さらに高みへ:動的スロットリングの考え方

もしあなたが熟練のエンジニアを目指すなら、さらに一歩進んだ「動的スロットリング」を意識してください。

サーバーから返ってくるレスポンスヘッダーには、しばしば `X-RateLimit-Remaining` のような、「あと何回リクエストできるか」を示す値が含まれています。

これを `Tests` タブで取得し、残りが少なくなったら強制的にスクリプト側でウェイトをかける。これこそが、API開発の現場で求められる「事故を防ぐための防御的設計」です。

// Tests タブに記述
const remaining = pm.response.headers.get(“X-RateLimit-Remaining”);
if (remaining && parseInt(remaining) < 5) { console.warn("残り回数が少ないため、次の実行を慎重に制御してください"); // ここでフラグを立てて、次のリクエストで遅延を大きくするロジックを組む } ---

最後に:ツールを使いこなすということ

API開発において、429エラーは「失敗」ではありません。「通信の作法を学ぶためのきっかけ」です。

Postmanの機能をただボタンを押すためだけに使うのは、フェラーリで近所のコンビニに行くようなものです。今回紹介したCollection Runnerやスクリプト制御をマスターすれば、あなたの開発効率は劇的に向上し、サーバーエンジニアからも「お、コイツのAPIの叩き方はスマートだな」と一目置かれる存在になれるはずです。

まずは今日のスクリプトをコピー&ペーストして、自分の手で「制御する感覚」を掴んでみてください。それが、プロへの第一歩です。

応援していますよ。何かあれば、いつでも聞きに来てください。

タイトルとURLをコピーしました