API共通の留意事項

レートリミットについて

APIにはレートリミットが設定されております。一定の使用量を超えますと、一時的にAPIの利用が制限されます。本制限の基準は皆様のご利用状況を確認した上で、調整をいたします。

レスポンスのページングについて

APIのレスポンスが大容量になった場合、レスポンスにpagination_keyが設定される場合があります。pagination_keyが設定された場合、次のクエリにおいて検索条件を変更せずにpagination_keyを設定してリクエストを実行することで後続のデータを取得することが可能です。レスポンスの形式は各APIのサンプルコードを参照ください。

pagination_keyを利用したPythonのサンプルコードを以下に記載します。

import requests
import json

# 通常の検索
idToken = "YOUR idToken"
headers = {"Authorization": "Bearer {}".format(idToken)}
r_get = requests.get("https://api.jquants.com/v1/method?query=param", headers=headers)
data = r_get.json()["data"]

# 大容量データが返却された場合の再検索
# データ量により複数ページ取得できる場合があるため、pagination_keyが含まれる限り、再検索を実施
while "pagination_key" in r_get.json():
    pagination_key = r_get.json()["pagination_key"]
    r_get = requests.get(f"https://api.jquants.com/v1/method?query=param&pagination_key={pagination_key}", headers=headers)
    data += r_get.json()["data"]
  • クエリに対する全ての該当データを返却するまで、pagination_keyがレスポンスメッセージに設定されます。pagination_keyがレスポンスメッセージに設定されない場合はクエリに対する全ての該当データが返却されたことを意味します。

  • ページングの都度、pagination_keyの値は変わります。

APIレスポンスのGzip化について

データ通信量削減を目的としてAPIからのレスポンスをGzip化しています。

本仕様変更に伴うクライアント側での対処は基本的に不要であることを想定しておりますが、利用パターンによってはクライアント側での対処が必要となります。具体的な対処の要否につきましては以下の表をご参照ください。

ユーザの利用パターンごとの影響有無

* 一般的にRestAPIコール時に利用されるHTTPクライアントライブラリのことを指します。 例) pythonにおけるrequestsやurllib等のライブラリ

最終更新

© JPX Market Innovation & Research, Inc.