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化しています。

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

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

パッケージ*使用有無Accept-Encoding:gzip 有無クライアント側での対処の要否

パッケージ使用

デフォルトで上記ヘッダーが付与

対処不要 (圧縮されたレスポンスが自動的に解凍されるためクライアント側での考慮は不要)

パッケージ不使用

上記headerあり

圧縮されたレスポンスの適切な解凍処理が必要 (curlの場合 --compressed)

上記headerなし

対処不要 (未圧縮のレスポンスを受信するためクライアント側での考慮は不要)

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

最終更新

© JPX Market Innovation & Research, Inc.