レスポンスのページングについて
APIのレスポンスが大容量になった場合、レスポンスにpagination_keyが設定される場合があります。pagination_keyが設定された場合、次のクエリにおいて検索条件を変更せずにpagination_keyを設定してリクエストを実行することで後続のデータを取得することが可能です。レスポンスの形式は各APIのサンプルコードを参照ください。
Request
GET
/v2/methodimport requests
headers = {"x-api-key": "{loading}"}
r_get = requests.get(
"https://api.jquants.com/v2/method?query=param",
headers=headers,
)
data = r_get.json()["data"]
while "pagination_key" in r_get.json():
pagination_key = r_get.json()["pagination_key"]
r_get = requests.get(
f"https://api.jquants.com/v2/method?query=param&pagination_key={pagination_key}",
headers=headers,
)
data += r_get.json()["data"]- クエリに対する全ての該当データを返却するまで、
pagination_keyがレスポンスメッセージに設定されます。pagination_keyがレスポンスメッセージに設定されない場合はクエリに対する全ての該当データが返却されたことを意味します。 - 1レスポンスあたりの最大件数は固定していません。レスポンスのデータ量が一定のサイズ(5,000,000バイト相当)に達する場合にレスポンスが分割され、
pagination_keyが返却されます。 - 1レスポンスあたりの件数(page size)は、内部処理により変動するため非公開・保証対象外です。
- ページングの都度、
pagination_keyの値は変わります。 - 総件数を返却する項目は提供していません。全件を取得するには、
pagination_keyが返却されなくなるまでリクエストを繰り返してください。 - 該当データが0件の場合は、HTTP 200 で
dataが空配列のレスポンスが返却され、pagination_keyは付与されません。 - ページングの途中でデータの更新が行われた場合、取得結果全体の完全な一貫性は保証されません。