J-Quants API で上場銘柄一覧を取得する

AI を使って株式投資をするために、EDINETで有価証券報告書をAPIで取得しようと思います。

でも、まずはどんな会社があるのか知らないと調査もできません。

そこで、会社名や証券コードを取得するために、J-Quants API を使ってみます。

J-Quants に登録

J-Quants で上場銘柄一覧は無料で取得できるのですが、APIキーが必要なのでFreeプランの登録を行います。

出典: https://jpx-jquants.com/ja/spec/quickstart

プランによってできることは以下となっています。

出典: https://jpx-jquants.com/ja/dashboard/select-plan

API制限は 5件/分 なので、12秒に1回 API が使えます。

出典: https://jpx-jquants.com/ja/dashboard/select-plan

Python で J-Quants API を使う

コードはこんな感じです。

import pandas as pd
import requests

# 1. あなたのJ-Quants APIキーを設定
API_KEY = "YOUR_JQUANTS_API_KEY"

# 2. エンドポイントURLの設定 (V2)
url = "https://api.jquants.com/v2/equities/master"
headers = {"x-api-key": API_KEY}

# 3. APIリクエストの送信
response = requests.get(url, headers=headers)

# 4. レスポンスの処理とDataFrameへの変換
if response.status_code == 200:
    res_json = response.json()
    # 'data' キー配下に銘柄一覧のリストが入っています
    df = pd.DataFrame(res_json["data"])

    # 画面に見やすく表示(コード、会社名、市場区分など)
    print(df[["Code", "CoName", "Mkt", "Sector33CodeName"]].head())

    # CSVファイルとして保存する場合
    df.to_csv("jquants_銘柄一覧.csv", index=False, encoding="utf-8-sig")
else:
    print(f"エラーが発生しました: {response.status_code}")
    print(response.text)

これで証券コードを取得できたので、つぎは有価証券報告書の取得をやってみます。

以上です。