本文へスキップ
hdknr blog

EDINET XBRL を Python で扱うガイド

金融庁 EDINET から有価証券報告書の XBRL データを取得し、edinet-xbrl ライブラリで Python から解析する手順

概要

EDINET(Electronic Disclosure for Investors’ NETwork)は金融庁が運営する電子開示システムで、上場企業の有価証券報告書を XBRL 形式でダウンロードできる。edinet-xbrl ライブラリを使えば、複雑な XBRL 仕様を意識せずに Python でデータを抽出できる。

必要なもの

基本的な使い方

from edinet_xbrl.edinet_xbrl_parser import EdinetXbrlParser

parser = EdinetXbrlParser()
edinet_xbrl_object = parser.parse_file("path/to/file.xbrl")

# 総資産の取得例
assets = edinet_xbrl_object.get_data_by_context_ref(
    "jppfs_cor:Assets", "CurrentYearInstant"
).get_value()

主要な財務タクソノミキー

key内容
jppfs_cor:Assets総資産
jppfs_cor:NetSales売上高
jppfs_cor:OperatingIncome営業利益
jppfs_cor:OrdinaryIncome経常利益

jppfs_cor は日本 GAAP 財務諸表のタクソノミ名前空間。context_refCurrentYearInstant は当期末時点を指す。

EDINET API から書類を取得する

import requests

url = "https://api.edinet-fsa.go.jp/api/v2/documents.json"
params = {
    "date": "2024-03-31",
    "type": 2,  # 書類メタデータ
    "Subscription-Key": "YOUR_API_KEY"
}
response = requests.get(url, params=params)
documents = response.json()
# documents["results"] から docID を取得

バフェット・コードとの関係

バフェット・コードは同様のパイプライン(EDINET/TDNET → XBRL パース → RDB 格納)を活用した企業分析 SaaS。edinet-xbrl ライブラリ自体も BuffettCode 社が OSS 公開している。Web API、スプレッドシート連携、MCP サーバーなどを通じて財務データにアクセス可能。

書類一覧 API のメタデータだけを使う場合

XBRL 本体をパースせず、書類一覧 API(/api/v2/documents.json)のメタデータだけで用が足りるケースもある。大量保有報告書によるアクティビスト追跡がその例。

関連ページ

ソース記事