見出し画像

金融庁のEDINETのAPIが不便なので、使いやすくしたEDINET-Proxyを開発しました

企業の財務諸表を手に入れるには一般的には直接その企業のIR情報から決算短信を手に入れるのが一般的ですが、それ以外にも金融庁が管理するEDINETから有価証券報告書を直接入手してしまうという方法もあります。

決算日は企業によって違いますので、EDINETに有価証券報告書などの公な資料が開示されるタイミングは企業によってバラバラです。

スクリーンショット 2021-06-23 7.35.38

EDINETには検索欄があるので、こちらに調べたい上場企業を入力して検索すれば、上場企業が公開した資料が一覧として出てきます。手に入るのは、その日から5年(EDINETで資料が保有される期間)以内のものになります。

またエンジニア向けにEDINETにはAPIが公開されています。

EDINETのAPI

EDINETにはAPIが公開されており、APIで有価証券報告書などが手に入ります。公開されたのは2019/03/17と割と最近です。

APIの詳細は以下で確認できます。

実際に以下のURLをクリックすると、2021/06/21時点で公開された資料類がjson形式で一覧が取得できます。

https://disclosure.edinet-fsa.go.jp/api/v1/documents.json?date=2021-06-21&type=2

取得した資料があれば、jsonの中にあるdocIDという属性の値を取り出し、以下のようにdoc_idをURLに入れ込めばzip形式で資料が手に入ります。

https://disclosure.edinet-fsa.go.jp/api/v1/documents/%7Bdoc_id%7D?type=1

EDINET APIの不便な所

EDINET APIは今のところ以下の二つの機能しか提供していません。

・提出された書類を把握するためのAPI
https://disclosure.edinet-fsa.go.jp/api/v1/documents.json?date={日付}&type=2
・提出された書類を取得するためのAPI
https://disclosure.edinet-fsa.go.jp/api/v1/documents/{書類ID}&type=2

APIという割には企業名や業種でフィルターをかけるなどが一切できないことです。とある企業の2020年代に出た資料に絞るとか、法人番号や証券コードで絞る、非上場や上場企業だけで絞るなどが一切できません。

書類の一覧は全て日時指定のみです。ある企業が何日に資料を公開したかなどがわかっていなければ特定企業の資料をAPIで取り出すことができないため、あまりにも不便です。

検索欄がある割にAPIにはその機能を一切提供していないのはどういうことなのか。これではAPIとしてあまり機能している感がありません。

使いやすくしたEDINET-ProxyというAPIを開発しました

そこでEDINET-ProxyというAPIを開発しました。正式な名前が無いのでプロキシAPIということで、EDINET-Proxyという名前にしています。

https://edinet-proxy.tk/

現在提供しているエンドポイントは以下の二つです。要望などがあれば追加予定です。

https://edinet-proxy.tk/api/corporations/
EDINETに開示している法人の一覧が取得できる

https://edinet-proxy.tk/api/documents/
EDINETに開示している資料の一覧が取得できる

例えばソニーが公開している開示資料の一覧を取得したい場合、まずは法人一覧のAPIでnameというGETパラメーターに「sony」と入れると、法人一覧が出てきて、証券番号や法人番号、EDINET番号などが手に入れます。

https://edinet-proxy.tk/api/corporations/?name=sony

SONYはいろんな関連企業があるため、ここでは一番上にあるソニーグループ株式会社を取り出す。

ソニーグループ株式会社の証券番号は67580なので、こちらを書類一覧のAPIにsec_codeというGETパラメーターを付与します。

https://edinet-proxy.tk/api/documents/?sec_code=67580

上記のリンクを実際に見てみるとソニーグループ株式会社の書類の一覧が出てきます。資料が100を超える場合は?page={ページ数}とページネーションの機能があります。

法人一覧APIの他の機能

法人一覧APIは現在は以下でフィルターをかけることができます。

・name
企業名、企業の一部を入れて部分検索も可能
・capital__gte
資本金が入力された数以上の企業
・ capital__lte
資本金が入力された数以下の企業
・location
所在地
・listing_type
1の場合は上場している企業、2は非上場
・industry_type
業種

書類一覧APIの他の機能

書類一覧APIは現在は以下でフィルターをかけることができます。

・edinet_code
EDINET番号
・sec_code
証券番号
・ jcn
法人番号
・listing_type
1の場合は上場している企業、2は非上場
・date
公開日の日付 (2021-06-21など)

更新のタイミング

EDINET-Proxyは実際のEDINET-APIを叩いて、内容を更新していますが、常に毎秒のタイミングで叩いているわけでは無いので、リアルタイムで反映されるわけではありません。(流石にそこまでアクセスしすぎるとEDINET側から遮断されると思います。)

更新のタイミングはその日の15:00と18:00にしています。

まとめ

急ぎでいい加減に作ったので、バグなどは全然あります。さっき叩いてみたら、致命的なのを少し見つけてしまいました。
何かあればTwitter経由などでご報告いただければ幸いです。すぐに修正いたします。

APIとしてわかりやすくするためにもドキュメントとしてSwaggerなども入れる予定です。




この記事が気に入ったらサポートをしてみませんか?