レートリミットについて
J-Quants API には、サービスの安定稼働を目的としてレートリミット(利用頻度の制限)が設けられています。
一定時間内に上限を超えるリクエストを送信した場合、一時的に API の利用が制限されます。
プランごとのレートリミット
ご契約のプランによって、1分間あたりのリクエスト数上限が異なります。
| プラン | 上限 (リクエスト / 分) |
|---|---|
| Free | 5 |
| Light | 60 |
| Standard | 120 |
| Premium | 500 |
※ 上記は基本となる制限値であり、システムの状況等により調整される場合があります。
※ ダウンロード可能ファイル一覧(/v2/bulk/list)およびファイルダウンロード用URL取得(/v2/bulk/get)のAPI呼び出しも、上記のレートリミットの対象です。
※ リクエスト数はアカウント(ユーザー)単位で集計されます。APIキーを複数発行しても上限は増えません。
エンドポイントごとのレートリミット
以下のエンドポイントについては、プランにかかわらず個別の制限が適用されます。
| エンドポイント | 上限 (リクエスト / 分) |
|---|---|
財務情報 (/v2/fins/summary) | 60 |
財務諸表(BS/PL/CF) (/v2/fins/details) | 60 |
※ これらのエンドポイントはプランの上限とは別の専用枠で判定され、プランの上限は適用されません。Premiumプランの場合も、この2つのエンドポイントの上限は 60 リクエスト/分です。
アドオンごとのレートリミット
アドオンをご契約いただいている場合、アドオン専用のAPIに対して別途レートリミットが適用されます。
| アドオン | 上限 (リクエスト / 分) |
|---|---|
| 株価 分足・ティック | 60 |
| TDnet/適時開示情報 | 100 |
※ アドオン専用APIには、プランのレートリミットとは独立した制限が適用されます。
その他の制限
- 同時接続数の制限は設けておりません。同一のご契約者が複数の処理workerから並行してAPIへアクセスすることも、上記のレートリミットの範囲内であれば可能です。
制限を超過した場合
レートリミットを超えてリクエストを行った場合、API は HTTP ステータスコード 429 Too Many Requests を返します。
レートリミットは1分間のスライディングウィンドウで判定します。429 のレスポンスに Retry-After ヘッダーは付与しておりませんので、429 が返却された場合は直ちに再試行せず、1分以上(ウィンドウがスライドするため、確実を期す場合は2分程度)待機してからリクエストを再開いただくよう、アプリケーション側で制御することを推奨します。
429 となったリクエストもカウントの対象となるため、待機せずに再試行を繰り返すと、制限が解除されるまでの時間がその分長くなります。
一時的なアクセス制限
レートリミットを大幅に超過してリクエストを継続した場合、5 分程度アクセスが完全に遮断されることがあります。
この間はすべてのリクエストがエラーとなりますので、アプリケーション側で適切な間隔を空けてリトライする等の制御を実装することを推奨します。
ベストプラクティス
-
効率的な取得:
- 必要なデータのみを取得するようにクエリパラメータを活用し、無駄なリクエストを削減してください。
- 多くのAPIでは日付のみの指定で全銘柄のデータを取得いただけます。 1銘柄ずつx全日付での取得を避けてください。
- 過去データの一括取得にはファイルダウンロード機能をご活用ください。
- 数千銘柄規模の日足データを毎営業日取得されるような用途でも、ファイルダウンロード機能のご利用を推奨します。
-
エラーハンドリング:
429が返ってきた場合の待機時間と再開の考え方は制限を超過した場合をご参照ください。