金融庁の電子開示システムEDINETのWeb APIが公開されました。これによりウェブサイトからだけでなく、Microsoft ExcelやPythonから有価証券報告書を検索して、閲覧できます。この記事ではAPIの使い方を紹介します。
EDINETとは
EDINET(Electronic Disclosure for Investor’s Network)とは、金融商品取引法に基づく有価証券報告書等の開示書類に関する電子開示システムで、金融庁が運営しています。
企業の有価証券報告書などを検索したり、閲覧することができます。
APIとは
API(Application Programming Interface)とは、システムが持つ機能をアプリケーションプログラムから利用できるようにインタフェースを公開したものです。
EDINETで言えば、有価証券報告書などの開示書類を検索・閲覧する機能をEDINETのサイトからだけでなく、Microsfot Excelなどのアプリケーションから利用できるように公開されます。
EDINETのAPIは、Google ChromeなどのWebブラウザのように、HTTPのGETメソッドで情報が取得できるREST APIの形式で作られています。
EDINET APIの使い方
EDINET APIで提出書類を取得する流れは、次のとおりです。
- 書類一覧API(メタデータ)を使用して、メタデータを取得する。
- 書類一覧API(提出書類一覧およびメタデータ)を使用して、提出書類一覧を取得する。
- 書類取得APIを使用して、書類を取得する。
リクエスト
EDINETのAPIは、Web APIとして提供されています。
Web APIを呼び出すには、URLで表されたエンドポイントに対して、HTTPのGETメソッドでリクエスト(要求)を送信します。
EDINET APIのエンドポイントは、次のURLです。
レスポンス
リクエストに対するレスポンス(応答)は、JSON形式で返されます。
たとえば、書類一覧API(メタデータ)では、次のようなレスポンスが返ってきます。
{ "metadata": { "title": "提出された書類を把握するためのAPI", "parameter": { "date": "2019-06-28", "type": "1" }, "resultset": { "count": 10 }, "processDateTime": "2019-06-28 17:16", "status": "200", "message": "OK" } }
EDINET APIの制限
EDINET APIでは、クロスドメインの通信を許可していません。そのため、ブラウザ上で動作するJavaScriptを利用した通信は行えません。
クロスドメインの通信とは、ブラウザが現在アクセスしているサーバ以外とJavaScriptで通信を行うことです。
たとえば、tsuker.netというドメインでWebサービスを公開し、JavaScriptからdisclosure.edinet-fsa.go.jpと通信することはできません。
サンプル
EDINET APIの使い方のサンプルは、次をご覧ください。
Microsoft Excel(VBA)
EDINETのサイトで、Microsoft Excelスプレッドシートのサンプルプログラムが公開されています。このサンプルプログラムでは、VBAからEDINET APIを使って書類を取得できるようになっています。
Python
PythonからEDINET APIを使うには、次のサンプルをご覧ください。
import requests # エンドポイント url = "https://disclosure.edinet-fsa.go.jp/api/v1/documents.json" # パラメータ params = { "date" : "2019-04-25" } # Web APIの呼び出し res = requests.get(url, params=params, verify=False) # レスポンス(JSON)の表示 print(res.text)
上記のサンプルでは、PythonのアプリケーションからEDINETの書類一覧APIを使って、メタデータを取得しています。
まとめ
EDINETはサイトの使い勝手が悪いこともあり、APIの公開が待望されていました。
今後、EDINETのAPIが公開されることで、自作のプログラムから有価証券報告書などの開示書類を検索・閲覧できるようになります。
プログラムを自作できない方にとっても、さまざまアプリが対応することで、より簡単・便利に開示書類を参照できるようになります。
参考文献
金融庁 (2023) EDINET
SE学院 (2023) Pythonから金融庁のEDINET APIを使って有価証券報告書を取得する
コメント