EDINET APIの使い方
こんにちは。会計士KOです。
今回は、2019年に金融庁から公式公開されたEDINET APIの使い方について、簡単に解説をしていきます。
今後、APIを使って何かを作ろうかなとも思いますが、今回はそのさわりでEDINET APIに関する概要と使い方の説明です。
なお、これを言うと元も子もないかもしれませんが、結論としては、有報キャッチャーさんの公開しているAPIのほうが優秀だと思っています。
そもそも、EDINET APIとは
EDINET APIに関する説明は以下の通りです。
EDINET APIとは、利用者がEDINET の画面からではなく、プログラムを介してEDINET のデータベースから効率的にデータを取得できるAPI(アプリケーション・プログラミング・インターフェース)です。EDINET API により、EDINET 利用者は効率的に開示情報を取得することが可能となります。
(EDINET API仕様書より)
今までは、公式でサポートされていなかったのですが、2019年3月に金融庁の折り紙付きで公開されました。
そもそも、APIってなあに?って人は、Google先生に聞いてみてください。
仕様書
仕様書については、以下のURLに記載がありますので事前にご確認ください。
クリックするとダウンロードが開始されます。
EDINET操作ガイド-EDINET API仕様書
https://disclosure.edinet-fsa.go.jp/EKW0EZ0015.html
提供されるAPIの種類
具体的に公開されたAPIとしては、以下2点です。
①提出された書類を把握するためのAPI(書類一覧API)
書類全体のメタデータの取得
提出された書類の一覧の取得
書類一覧APIでは、日付ごとに提出書類情報、書類情報修正情報等を把握することが可能です。書類一覧API では、「メタデータ(日付ごとの提出書類一覧に関する基礎情報のことで、件数、更新日時等)のみ」又は「提出書類一覧及びメタデータ」を取得することができます。
②提供された書類を取得するためのAPI(書類取得API)
書類取得APIは、EDINET に提出された書類を取得するAPIで、リクエストパラメータにより取得する書類の種類を指定することが可能です。
実際にAPIを叩いてみよう
仕様書にも記載のように、URLにGETリクエストを送信すれば、JSONデータを取得できます。
このため、ブラウザからアクセスするだけでもJSONデータの確認が出来ます。
以下で実際にやってみましょう。
書類一覧APIによるメタデータの取得
基本的には、以下のURLにGETリクエストを送るだけです。
https://disclosure.edinet-fsa.go.jp/api/ バージョン /documents.json
以下の例は、2019年4月1日のEDINET提出書類サマリーを取得するURLです。
https://disclosure.edinet-fsa.go.jp/api/v1/documents.json?date=2019-04-01
?の後に、dateで日付(YYYY-mm-dd型式)を指定します。ブラウザで見てみてね。
{ "metadata": { "title": "提出された書類を把握するためのAPI", "parameter": { "date": "2019-04-01", "type": "1" }, "resultset": { "count": 511 }, "processDateTime": "2019-09-08 00:00", "status": "200", "message": "OK" } }
count:511となっており、2019年4月1日に、EDINETに対して提出された書類が、件数が511件あることが分かりますね。
なお、取得できるのは、5年前までのデータであり、dateにそれより古いデータを入力するとNotFoundとなります。
書類一覧APIによる提出された書類の一覧の取得
date指定の後に、type=2をつけると書類一覧の取得が出来ます。
https://disclosure.edinet-fsa.go.jp/api/v1/documents.json?date=2019-04-01&type=2
途中で省略していますが、インベスコ・アセット・マネジメント株式会社の臨時報告書等がJSON形式で返ってきているのが分かります。
この情報がcount=511件返ってきます。
{ "metadata": { "title": "提出された書類を把握するためのAPI", "parameter": { "date": "2019-04-01", "type": "2" }, "resultset": { "count": 511 }, "processDateTime": "2019-09-08 00:00", "status": "200", "message": "OK" }, "results": [ { "seqNumber": 1, "docID": "S100FH6W", "edinetCode": "E06479", "secCode": null, "JCN": "7010401061146", "filerName": "インベスコ・アセット・マネジメント株式会社", "fundCode": "G07991", "ordinanceCode": "030", "formCode": "995000", "docTypeCode": "180", "periodStart": null, "periodEnd": null, "submitDateTime": "2019-04-01 09:00", "docDescription": "臨時報告書(内国特定有価証券)", "issuerEdinetCode": null, "subjectEdinetCode": null, "subsidiaryEdinetCode": null, "currentReportReason": "第29条第2項第4号", "parentDocID": null, "opeDateTime": null, "withdrawalStatus": "0", "docInfoEditStatus": "0", "disclosureStatus": "0", "xbrlFlag": "1", "pdfFlag": "1", "attachDocFlag": "0", "englishDocFlag": "0" },
書類を取得するAPI
基本的には、以下のURLにGETリクエストを送るだけです。
https://disclosure.edinet-fsa.go.jp/api/バージョン/documents/書類管理番号?type=???
typeパラメータについては、以下の通りです。
1: 提出本文書及び監査報告書を取得します。
2: PDFを取得します。
3:代替書面・添付文書を取得します。
4:英文ファイルを取得します。
例として、先ほどのインベスコさんの臨時報告書を取得するURLは以下の通りです。
例:インベスコ2019年4月1日、臨時報告書URL
https://disclosure.edinet-fsa.go.jp/api/v1/documents/S100FH6W?type=1
URLを叩くと、というファイルが自動的にダウンロードされるかと思います。
書類管理番号については、書類取得APIの「docID」に記載の通りですね。
まとめ
次は、ExcelのPowerクエリで、書類一覧をエクセルファイルとして取得する方法を紹介したいと思いますが、正直、今のところはあんまり使いにくいかなと思っていたりします。
特に5年間しか遡れないという条件付きですので、そこがネックですかね。
有報キャッチャーさんのAPIのほうが使いやすいので、そちらの紹介もいずれしたいと思います。
ではでは。
ディスカッション
コメント一覧
まだ、コメントがありません