本記事は 2026/02/01 ~ 2026/03/02 の間毎日 AI アプリケーション開発(AI を搭載したアプリ開発 or AI を使用した開発)をテーマに 30 days AI challenge を行う 24 日目のブログポストです。
今日は巷で話題の EDINET DB API を使用した財務諸表分析アプリを作りました。
先日 EDINET DB API が公開され、ベータ版で 1,000回/日 のリクエストを無料で使用することができるので、お試して使ってみました。
アプリ概要
ひとまずお試しということで、キャッシュフロー計算書の表示や各種指標のデータを取得してグラフや表で表示するようなアプリとしました。
個別の企業情報を検索、取得することもできますし、優良企業を見つける機能もあります。

キャッシュフローを軸とし、投資判断に使えるような指標を登録してあります。なお、EDINET の api からの情報取得に加え、Yahoo finance からの株価情報等の取得も行っています。

技術要素
EDINET へリクエストを投げて結果を取得する箇所のサンプルは以下です。
EDINET DB の URL に EDINET コード(EDINET 上の企業コードのようなもの)を指定して GET リクエストを送ります。
try
{
var client = CreateClient();
var url = $"{BaseUrl}/companies/{edinetCode}/financials";
var response = await client.GetAsync(url);
if (!response.IsSuccessStatusCode)
{
_logger.LogWarning($"財務データ取得エラー: {response.StatusCode} ({edinetCode})");
return new List<EdinetDbFinancialYear>();
}
var json = await response.Content.ReadAsStringAsync();
var result = JsonSerializer.Deserialize<EdinetDbListResponse<EdinetDbFinancialYear>>(json, _jsonOptions);
return result?.Data?.OrderByDescending(d => d.FiscalYear).ToList()
?? new List<EdinetDbFinancialYear>();
}
catch (Exception ex)
{
_logger.LogError(ex, $"財務データ取得エラー: {edinetCode}");
return new List<EdinetDbFinancialYear>();
}
EDINET DB API では、API の結果として AI による簡単な分析結果を返してくれるため、今回アプリ側で AI は呼び出していません。
こんな感じで AI Analysis を取得できます。
var analysis = await GetAnalysisAsync(edinetCode);
// ...
AiSummary = analysis?.AiSummary?.Text ?? "",
CreditRating = analysis?.History?.FirstOrDefault()?.CreditRating ?? "",
---
public async Task<EdinetDbAnalysis?> GetAnalysisAsync(string edinetCode)
{
try
{
var client = CreateClient();
var url = $"{BaseUrl}/companies/{edinetCode}/analysis";
var response = await client.GetAsync(url);
if (!response.IsSuccessStatusCode)
{
_logger.LogWarning($"分析データ取得エラー: {response.StatusCode} ({edinetCode})");
return null;
}
var json = await response.Content.ReadAsStringAsync();
var result = JsonSerializer.Deserialize<EdinetDbSingleResponse<EdinetDbAnalysis>>(json, _jsonOptions);
return result?.Data;
}
catch (Exception ex)
{
_logger.LogError(ex, $"分析データ取得エラー: {edinetCode}");
return null;
}
}
終わりに
今日は話題の API を使用して財務諸表分析ができる AI アプリを作りました。*EDINET DB API 側で AI 分析結果を持っているので AI アプリというほどでもありませんね。
ちなみに、EDINET API という金融庁が出している API もあり、EDINET API が持つ課題を解決するのが今回公開された EDINET DB API のようです。このあたりに EDINET API と EDINET DB API の違いが記載してあります。時間があるときにでも読んでみようと思います。
今回 Claude を主に使ってアプリ開発をしましたが、EDINET DB API と指定した際に Claude が最初 EDINET API を使って実装したため、いろいろ実装周りでこけていましたが、EDINET DB API のリンクを渡したことで最新の DB API での実装にすることができました。。笑
今日も最後までご覧いただきありがとうございました。明日もよろしくお願いいたします。

コメント