日本の上場企業は毎年、有価証券報告書(yuho)を提出する。100〜200ページ超。財務諸表、セグメント情報、リスク要因、役員報酬、従業員データ、株主構成——すべてが記載されている。
すべての数値はXBRLタグ付き。すべての書類は無料で公開。トヨタから時価総額20億円の小型株まで、4,125社が同じシステムで提出している。
10年分の履歴。3つの会計基準。すべて機械可読。
それなのに、このデータをプログラムで活用している開発者はほとんどいない。
開示の深さ
日本の開示制度は、具体的に何が含まれているのか。
- 財務諸表 — 貸借対照表、損益計算書、キャッシュ・フロー計算書、株主資本等変動計算書。すべてXBRLでフィールド単位でタグ付け
- 経営者による分析(MD&A) — 経営陣自身の言葉で当期を振り返る
- 事業等のリスク — 会社が認識しているすべての重要リスク
- セグメント情報 — 事業部門別の売上高・利益
- コーポレート・ガバナンス — 取締役会構成、委員会、報酬
- 大株主の状況 — 上位10名の保有比率(小数点以下まで)
- 関連当事者取引 — インサイダーとのすべての取引
- 従業員の状況 — 従業員数、平均年齢、平均給与、平均勤続年数
米国の10-Kと比較しても遜色ない——むしろXBRLタグの粒度は日本の方が細かい。金融庁は3つの会計基準にわたって数百のタクソノミ要素を定めている。すべての数値に、機械可読なラベル、報告期間、通貨、連結区分が紐づいている。
データは存在する。構造化されている。無料。2008年からずっとこの状態だ。
壁
では、なぜすべてのクオンツファンドやフィンテック企業がEDINETからデータを取得していないのか。
APIの設計。 EDINETのAPIは日付ベース。カレンダー日付を指定すると、その日に提出されたすべての書類が返ってくる。企業検索はない。GET /companies/7203/financials のようなエンドポイントは存在しない。トヨタの有報を見つけるには、6月の毎日をクエリし(3月決算企業は6月に提出する)、1日あたり100件以上の結果からEDINETコードを探し、ZIPファイルをダウンロードする。
# トヨタの最新有報を取得するには、6月の毎日これを実行する
curl "https://api.edinet-fsa.go.jp/api/v2/documents.json?date=2026-06-25&type=2"
# 142件の結果から edinetCode "E02144" を探す
# ZIPをダウンロード
curl "https://api.edinet-fsa.go.jp/api/v2/documents/S100ABCD?type=1" -o filing.zipXBRLの解析。 ZIPの中身はXML(またはHTMLに埋め込まれたインラインXBRL)。売上高は revenue とタグ付けされていない。要素名は会計基準、業種、報告書のセクションによって異なります。日本基準の製造業、サービス業、銀行、保険会社、米国基準、IFRSのそれぞれが異なる要素名を使う。1つの概念に6つ以上の要素名。
3つの会計基準。 米国(US-GAAP + 一部IFRS)や欧州(IFRS統一)と違い、日本にはJ-GAAP、IFRS、US-GAAPの3つが並存している。それぞれタクソノミ要素が異なり、勘定科目の構造が違い、「営業利益」の定義すら異なる。J-GAAPで動くスクリーナーはIFRS採用企業で壊れる。
エンコーディング。 古い有報はShift-JISエンコーディング。マイナスの数値は △1,234(三角記号)、(1,234)、または通常のマイナス符号で表現される。全角カンマ , と半角 , が混在。ダッシュ ― はゼロ、null、「該当なし」のいずれかを意味する。
個々の問題は解決可能だ。しかし組み合わさると、最初のクリーンなデータポイントを取得する前にほとんどの開発者が挫折する壁になる。ゼロからパーサーを自作するなら2〜4週間のエンジニアリング工数——エッジケース対応の前に。
ギャップ
存在するデータと、アクセス可能なデータの間にギャップがある。
米国では、AppleやGoogleの売上をPolygon.io、Alpha Vantage、FinancialDatasetsなどに1回のAPIコールで取得できる。数十のAPIが価格とDXで競争している。
日本では? 開発者の選択肢はこうだった:
| 選択肢 | コスト | 開発者体験 |
|---|---|---|
| Bloomberg Terminal | 年間約300万円 | 最高——だがAPIではない |
| Refinitiv / LSEG | 年間200万円〜 | 良い——エンタープライズ営業プロセス |
| Yahoo!ファイナンス | 無料 | APIなし、HTMLスクレイピング、頻繁に壊れる |
| EDINET直接利用 | 無料 | 日付ベースAPI、生XBRL |
| 自作パーサー | 無料 + 2〜4週間 | 完全な自由、完全な苦痛 |
構造化されていて、開発者に優しく、手頃な価格でアクセスできるAPIが存在しなかった。データは公開・無料なのに、使えるようにするツーリングがなかった。
開発者への影響
日本の小型株の大半はアナリストカバレッジが極めて薄い。 企業が面白くないからではない。分析に必要なデータが、言語とフォーマットの壁の向こうにあるからだ。EDINETの有報をプログラムで読めるクオンツファンドは、1人のアナリストの翻訳サマリーに頼るファンドに対して情報優位を持つ。
AIエージェントがアクセスできない。 LangChainには米国の金融データ用ツールキット(FinancialDatasets、Alpha Vantage)はある。日本用はない。ClaudeやGPTにトヨタの売上を聞くと、ハルシネーションするか「金融データベースにアクセスできません」と返す。世界第3位の株式市場がAIツールから見えない。
クロスボーダー分析が壊れている。 グローバルなスクリーナーを作る開発者は、米国データを十数個のAPIから、欧州データもいくつかのAPIから取得できる。日本のデータは……開発者向けのAPIがどこにもない。日本がグローバル比較から除外されるのは、データが存在しないからではなく、APIが存在しないからだ。
変わりつつあること
Axioraを作って、このギャップを埋めた。同じEDINETのソースデータを解析・正規化:
import httpx
resp = httpx.get(
"https://api.axiora.dev/v1/companies/7203/financials",
headers={"Authorization": "Bearer ax_live_..."},
)
data = resp.json()["data"][0]
print(f"売上高: ¥{data['revenue']:,}")
# 売上高: ¥48,036,704,000,000APIコール1回。型付きJSON。4,125社。3つの会計基準を横断した52の正規化フィールド。XBRLなし、ZIPなし、三角記号なし。
まだ全部はカバーしていない。株価はない(それはJPX/J-Quantsの領域)。TDnetのリアルタイム決算短信もない。英語翻訳は現在54社——毎日増えているが、全社カバーではない。まずXBRLの構造化データから始めて、そこから拡張している。
大きな変化はAxiora単体ではなく、その上に構築されるツーリングレイヤーだ。18のツールを持つLangChainエージェント。自然言語で財務データを問い合わせるMCPサーバー。4,125社をスクリーニングするStreamlitダッシュボード。データがアクセス可能になった瞬間、アプリケーションが続く。
日本の開示制度は常に深かった。ようやく使えるようになりつつある。
axiora.dev で始める — 無料プラン、クレカ不要。