この​記事で​分かる​こと

  • 日本の開示データ・統計データは無料の公式APIで取得できること
  • EDINET APIの認証方式と「書類一覧→書類取得」という2段階の流れ
  • Pythonで書類一覧を取得する最小限のコード例
  • 株価データ取得時の規約・再配布制限の注意点と、pandasでの整形・保存の基本

結論:日本の​開示データは​無料の​公式APIで​取れる

企業分析の第一歩は「データをどう手に入れるか」です。日本には、有価証券報告書などの開示情報を無料で取得できる公式API(EDINET)、政府統計を取得できる公式API(e-Stat)、金利や為替などの時系列データを取得できる公式API(日本銀行時系列データ検索サイト)が整備されています。まずこれらの公式ルートを押さえ、公式APIが用意されていない領域(TDnetの適時開示や、株価データの一部)についてのみ、利用規約を確認したうえで補完手段を検討する、という順序で考えると迷いにくいです。

データソースの​全体​地図

財務・株価分析で使うデータは、提供元によって取得方法も更新頻度も、再配布の可否も異なります。まず全体像を押さえてから、個別の取得方法に進みます。

データソースの全体地図:どこで何が取れるか EDINET (金融庁) データ種別 有価証券報告書等の 開示書類 (XBRL/PDF/CSV) 取得方法 無料API (要キー登録) TDnet (東証) データ種別 決算短信・ 適時開示資料 (PDF中心) 取得方法 公式一括APIなし (個別確認が必要) 日本銀行 時系列データ データ種別 金利・為替・ マネーストック等 取得方法 無料API (検索系) e-Stat (政府統計) データ種別 GDP・産業統計等 の政府統計 取得方法 無料API (要ID登録) 株価データ (市場データ) データ種別 株価・出来高等 の取引データ 取得方法 有料契約が基本 (規約要確認)
図:EDINET・​TDnet・​日本銀行時系列​データ・​e-Stat・​株価​データの、​提供​データ​種別と​取得方法の​一覧。

図の通り、金融庁のEDINET・総務省統計局等のe-Stat・日本銀行時系列データには無料の公式APIが用意されています。一方、東証の適時開示(TDnet)には決算短信等をまとめて取得できる公式の一括APIは用意されておらず、株価データは証券会社やデータベンダーとの有料契約が基本線になります。無料で使える手段が存在する分野もあるが、提供元の都合による仕様変更・提供終了が起こりうるため、本記事では特定サービス名の永続的な利用を前提にしません。

EDINET APIの​基本

EDINET(Electronic Disclosure for Investors’ NETwork)は、金融庁が運営する開示書類の電子開示システムです。2026年6月付で「EDINET API仕様書(Version 2)」(金融庁 企画市場局 企業開示課)が公開されており、書類一覧API・書類取得APIの仕様が定められています。利用の流れは大きく3ステップです。

1. APIキーの登録
EDINET APIの利用にはAPIキーの発行が必要です。アカウント登録→メール認証→電話番号によるSMS等の多要素認証→マイページでのAPIキー発行、という手順を踏みます。APIキーは第三者に共有しません。

2. 書類一覧APIで対象書類を絞り込む
まず「書類一覧API」(/api/v2/documents.json)に日付(date)を指定してリクエストし、その日に提出された書類の一覧を取得します。typeパラメータで「メタデータのみ」か「メタデータ+提出書類一覧」かを切り替えられます。

3. 書類取得APIで実データを取得する
書類一覧から目的の書類(例:有価証券報告書)のIDを特定したら、「書類取得API」(/api/v2/documents/{書類ID})にtypeパラメータで取得形式を指定してリクエストします。提出書類本体(XBRLを含むZIP)・PDF・代替書面等・英文ファイル・CSV(XBRLを表形式に変換したもの)など、書類種別ごとに複数の形式が用意されています。数値を機械的に扱うだけならCSV、原本を確認したいならPDF、という使い分けが基本になります。

APIキーはクエリパラメータ(Subscription-Key)としてリクエストに含めます。エンドポイントの詳細、各type値と提供形式の対応、リクエスト時の注意事項などの最新仕様は、必ず金融庁が公開する公式のAPI仕様書を確認すること。

コード​例:書類一覧の​取得

以下は、指定した日付に提出された書類の一覧を取得し、有価証券報告書だけを絞り込むイメージです。実行には有効なAPIキーが必要であり、下記は実際の実行結果を示すものではありません。

Python
import requests

url = "https://api.edinet-fsa.go.jp/api/v2/documents.json"
params = {
    "date": "2026-06-30",
    "type": 2,
    "Subscription-Key": "YOUR_API_KEY",
}

res = requests.get(url, params=params, timeout=10)
res.raise_for_status()
docs = res.json().get("results", [])

# docTypeCodeが"120"(有価証券報告書)の書類だけを抽出
yuho_list = [d for d in docs if d.get("docTypeCode") == "120"]

for d in yuho_list:
    print(d.get("filerName"), d.get("docID"))

実務では、この一覧取得を対象期間分ループさせて目的の書類IDを集め、その書類IDを書類取得APIに渡して本体データを取得する、という2段階構成になります。

株価データの​取得

株価データは開示書類と異なり、金融庁のような無料の公式一括APIが標準整備されているわけではありません。取得手段はおおむね次のように類型化できます。

  • 有料データベンダー・証券会社API:契約に基づき、利用範囲・再配布可否が明確に定められています。実務での本格利用はこの類型が中心になります。
  • 取引所・関連団体が提供する公式データ:提供範囲や粒度が限定的なことが多いです。
  • 無料または低価格のサードパーティ・ライブラリ/API:手軽だが、提供元の都合による仕様変更・提供終了・利用規約変更が起こりえます。学習・検証目的での利用を前提とし、実務で使う場合は必ず最新の利用規約と再配布可否を確認します。

いずれの手段でも、「取得したデータをそのまま社外に再配布してよいか」「加工後の指標であれば公開してよいか」は提供元ごとに条件が異なります。契約や利用規約を確認しないまま再配布・商用転用することは避けます。

EDINET APIでの開示データ取得から、pandasでの整形、財務​モデリングまでを一連の流れとして体系的に身につけたい方は、大手町​プレップの​講座で実践的なコード演習を扱っています。

pandasでの​整形と​保存

APIやCSVで取得したデータは、そのままでは欠損や型のばらつきが残っていることが多いです。分析に入る前に、次のような整形を行います。

  • 欠損処理:isna()で欠損の有無を確認し、dropna()やfillna()で除外・補完します。財務データでは「欠損=非開示」であることも多く、安易な0埋めは避けます。
  • 型変換:金額や日付が文字列として読み込まれることがあるため、astype()やpd.to_datetime()で明示的に変換します。カンマ区切りの数値文字列は変換前に除去します。
  • 保存形式:中間データはCSV(to_csv())で人が確認しやすい形にし、繰り返し読み込むデータはparquet(to_parquet()、pyarrow等が必要)で高速・省容量に保存する、という使い分けが基本になります。

スクレイピングの​法的・​技術的注意

APIが用意されていないデータをどうしても取得したい場合、Webスクレイピングが選択肢に挙がります。ただし、以下は必ず確認します。

  • robots.txt・利用規約の確認:クロール禁止範囲や再配布条件が定められていることがあります。規約に反する取得・利用は行いません。
  • アクセス頻度への配慮:短時間に大量のリクエストを送ると相手サーバーに負荷をかけ、アクセス遮断や法的な問題につながりえます。リクエスト間隔を空けるなどの配慮が必要になります。
  • 「APIがあるならAPIを使う」原則:EDINETやe-Statのように公式APIが用意されている場合は、そちらを優先します。スクレイピングは、公式に取得手段がない場合の最終手段と位置づけます。

面接での​答え方​(30秒回答例)

Q:財務データはどうやって集めていますか?
「有価証券報告書のような開示データは、金融庁のEDINET APIから無料で取得しています。書類一覧APIで対象の書類を絞り込み、書類取得APIでXBRLやCSV形式の実データを取得する、という2段階の流れです。株価データのように公式の無料一括APIがないものについては、利用規約や再配布条件を確認したうえで、契約しているデータソースやライブラリを使い分けています。」

よく​ある​質問​(FAQ)

EDINET APIの​利用は​無料ですか?

2026年8月時点で、​EDINET API​自体の​利用に​料金は​かかりません。​ただしAPI​キーの​発行には​アカウント​登録と​メール認証・​多要素認証が​必要であり、​最新の​利用条件は​金融庁の​公式仕様書で​確認する​必要が​あります。

XBRLと​CSV、​どちらを​使えば​よいですか?

財務数値を​機械的に​集計・​分析する​用途では、​CSV​(XBRLを表形式に変換したもの)の​方が​扱いやすいです。​タグ構造を​保持したまま​処理したい​場合や、​開示書類の​原本に​近い形で​扱いたい​場合は​XBRLを​直接​パースします。

まとめ

財務データの取得は、まず公式APIの有無を確認するところから始めるとよいです。EDINET・e-Stat・日本銀行時系列データのように無料の公式APIが整備されている領域は、書類一覧→書類取得(または統計データ取得)という決まった流れを押さえれば自動化しやすいです。一方、TDnetの適時開示や株価データのように公式の一括取得手段が限られる領域では、利用規約・再配布条件を確認したうえで、有料サービスや限定的な手段を使い分ける判断が必要になります。取得したデータは、pandasで欠損処理・型変換を行ってから分析に進む、という順序を徹底したいです。

出典・参考​(2026-08-01確認)

  • 金融庁 企画市場局 企業開示課「EDINET API仕様書(Version 2)」(2026年6月付、EDINET API関連資料ページで公開)
  • 金融庁 EDINET API関連資料ページ(disclosure2dl.edinet-fsa.go.jp)
  • e-Gov APIカタログ「EDINET API」情報ページ

※EDINET APIの詳細仕様(エンドポイントURL・パラメータ・各typeの提供形式の対応関係等)は改定される場合があるため、実装前には必ず金融庁公式の最新版仕様書を確認すること。

※本記事は教育目的の一般的な解説であり、法務・税務・投資助言ではありません。設例は理解のための仮設例です。