EDINET API
このガイドでは、kabukit が提供する高レベルなモジュール関数と、より詳細な制御が可能な EdinetClient の使い方を解説します。
認証設定
EDINET API を利用するには、事前にコマンドラインで EDINET API の API キーを設定しておく必要があります。詳細は、CLIの使い方の「認証設定」セクションを参照してください。
環境変数 EDINET_API_KEY に直接 API キーを設定することも可能です。
モジュールレベル関数
書類一覧 (get_edinet_list)
kabukit.get_edinet_list 関数は、提出書類一覧を取得します。
日付 (YYYYMMDD または YYYY-MM-DD) を指定すると、指定した日付に提出された書類一覧を取得できます。
from kabukit import get_edinet_list
df = await get_edinet_list("20251010")
df.select("FileDate", "Code", "DocumentId", "Company", "PdfFlag", "CsvFlag")
| FileDate | Code | DocumentId | Company | PdfFlag | CsvFlag |
|---|---|---|---|---|---|
| date | str | str | str | bool | bool |
| 2025-10-10 | "97930" | "S100WU1N" | "株式会社ダイセキ" | true | true |
| 2025-10-10 | "82830" | "S100WU0U" | "株式会社PALTAC" | true | true |
| 2025-10-10 | "61130" | "S100WUEO" | "株式会社アマダ" | true | true |
| 2025-10-10 | "97930" | "S100WU1S" | "株式会社ダイセキ" | true | false |
| 2025-10-10 | "62470" | "S100WU66" | "株式会社日阪製作所" | true | true |
| … | … | … | … | … | … |
| 2025-10-10 | "75160" | "S100WUOK" | "コーナン商事株式会社" | true | true |
| 2025-10-10 | "76030" | "S100WUON" | "ジーイエット株式会社" | true | true |
| 2025-10-10 | "23450" | "S100WULQ" | "株式会社クシム" | true | true |
| 2025-10-10 | "26870" | "S100WT9S" | "株式会社シー・ヴイ・エス・ベイエリア" | true | true |
| 2025-10-10 | "26870" | "S100WT9U" | "株式会社シー・ヴイ・エス・ベイエリア" | true | false |
複数の提出日の書類一覧を一度に取得することもできます。このとき、EDINET API へのリクエストは非同期で並列に行われます。
df = await get_edinet_list(["2025-10-10", "2025-10-14", "2025-10-15"])
df.select("FileDate", "Code", "DocumentId", "Company", "PdfFlag", "CsvFlag")
| FileDate | Code | DocumentId | Company | PdfFlag | CsvFlag |
|---|---|---|---|---|---|
| date | str | str | str | bool | bool |
| 2025-10-14 | "135A0" | "S100WUD3" | "株式会社VRAIN Solution" | true | false |
| 2025-10-14 | "135A0" | "S100WUBO" | "株式会社VRAIN Solution" | true | true |
| 2025-10-10 | "14140" | "S100WUA7" | "ショーボンドホールディングス株式会社" | true | true |
| 2025-10-15 | "14180" | "S100WV99" | "インターライフホールディングス株式会社" | true | true |
| 2025-10-15 | "14180" | "S100WV9D" | "インターライフホールディングス株式会社" | true | false |
| … | … | … | … | … | … |
| 2025-10-15 | "99820" | "S100WV4Z" | "タキヒヨー株式会社" | true | true |
| 2025-10-15 | "99870" | "S100WTVO" | "株式会社スズケン" | true | true |
| 2025-10-15 | "99870" | "S100WUM2" | "株式会社スズケン" | true | true |
| 2025-10-14 | "99930" | "S100WUKL" | "株式会社ヤマザワ" | true | true |
| 2025-10-14 | "99930" | "S100WUKN" | "株式会社ヤマザワ" | true | false |
戻り値のデータフレームは、銘柄コード (Code)、日付 (Date) の順でソートされます。
過去のある日数または年数に渡る提出日の書類一覧を取得することもできます。
df = await get_edinet_list(days=10)
df.select("FileDate", "Code", "DocumentId", "Company", "PdfFlag", "CsvFlag")
| FileDate | Code | DocumentId | Company | PdfFlag | CsvFlag |
|---|---|---|---|---|---|
| date | str | str | str | bool | bool |
| 2025-12-05 | "13770" | "S100X8FQ" | "株式会社 サカタのタネ" | true | true |
| 2025-12-10 | "14140" | "S100X968" | "ショーボンドホールディングス株式会社" | true | true |
| 2025-12-09 | "14180" | "S100X993" | "インターライフホールディングス株式会社" | true | true |
| 2025-12-09 | "14360" | "S100X99B" | "株式会社グリーンエナジー&カンパニー" | true | true |
| 2025-12-09 | "14360" | "S100X99A" | "株式会社グリーンエナジー&カンパニー" | true | false |
| … | … | … | … | … | … |
| 2025-12-11 | "98890" | "S100X9XT" | "JBCCホールディングス株式会社" | true | true |
| 2025-12-12 | "99290" | "S100X9SK" | "平和紙業株式会社" | true | true |
| 2025-12-08 | "99480" | "S100X92B" | "株式会社アークス" | true | true |
| 2025-12-04 | "99820" | "S100X8H4" | "タキヒヨー株式会社" | true | true |
| 2025-12-12 | "99930" | "S100XA72" | "株式会社ヤマザワ" | true | true |
df_years = await get_edinet_list(years=1)
df_years.select("FileDate", "Code", "DocumentId", "Company", "PdfFlag", "CsvFlag")
| FileDate | Code | DocumentId | Company | PdfFlag | CsvFlag |
|---|---|---|---|---|---|
| date | str | str | str | bool | bool |
| 2025-06-25 | "13010" | "S100W4U1" | "株式会社 極洋" | true | true |
| 2025-06-25 | "13010" | "S100W543" | "株式会社 極洋" | true | true |
| 2025-06-25 | "13010" | "S100W4U5" | "株式会社 極洋" | true | false |
| 2025-06-30 | "13010" | "S100W9LW" | "株式会社 極洋" | true | true |
| 2025-11-07 | "13010" | "S100WZYS" | "株式会社 極洋" | true | false |
| … | … | … | … | … | … |
| 2025-06-27 | "99970" | "S100W8DE" | "株式会社ベルーナ" | true | true |
| 2025-06-27 | "99970" | "S100W8E2" | "株式会社ベルーナ" | true | true |
| 2025-06-30 | "99970" | "S100W9IL" | "株式会社ベルーナ" | true | true |
| 2025-11-14 | "99970" | "S100X4PF" | "株式会社ベルーナ" | true | false |
| 2025-11-14 | "99970" | "S100X4PC" | "株式会社ベルーナ" | true | true |
書類本文 (get_edinet_documents)
kabukit.get_edinet_documents 関数は、書類本文を取得します。書類一覧で取得した書類 ID (docID) を引数にとります。
from kabukit import get_edinet_documents
df = await get_edinet_documents("S100WUKL")
df.select("DocumentId", "要素ID", "項目名", "値")
| DocumentId | 要素ID | 項目名 | 値 |
|---|---|---|---|
| str | str | str | str |
| "S100WUKL" | "jpcrp_cor:IndependentAuditorsR… | "独立監査人の報告書、連結 [テキストブロック]" | " 独立監査人の中間連結財務諸表に対する期中レビュー報告書 … |
| "S100WUKL" | "jpcrp_cor:AuditFirm1Consolidat… | "監査法人1、連結" | "EY新日本有限責任監査法人" |
| "S100WUKL" | "jpcrp_cor:CPA1AuditFirm1Consol… | "公認会計士1、監査法人1、連結" | "佐 藤 晶" |
| "S100WUKL" | "jpcrp_cor:CPA2AuditFirm1Consol… | "公認会計士2、監査法人1、連結" | "大 倉 克 俊" |
複数の書類 ID を与えて、非同期に並列取得することもできます。
from polars import col as c
doc_ids = df_years.filter(c.CsvFlag)["DocumentId"] # CSV形式を提供する書類を選択
df = await get_edinet_documents(doc_ids, max_items=3)
df.select("DocumentId", "要素ID", "項目名", "値")
| DocumentId | 要素ID | 項目名 | 値 |
|---|---|---|---|
| str | str | str | str |
| "S100W4U1" | "jpdei_cor:NumberOfSubmissionDE… | "提出回数、DEI" | "1" |
| "S100W4U1" | "jpctl_cor:DocumentTitleCoverPa… | "提出書類、表紙" | "内部統制報告書" |
| "S100W4U1" | "jpctl_cor:ClauseOfStipulationC… | "根拠条文、表紙" | "金融商品取引法第24条の4の4第1項" |
| "S100W4U1" | "jpctl_cor:PlaceOfFilingCoverPa… | "提出先、表紙" | "関東財務局長" |
| "S100W4U1" | "jpctl_cor:FilingDateCoverPage" | "提出日、表紙" | "2025-06-25" |
| … | … | … | … |
| "S100W9LW" | "jpdei_cor:IdentificationOfDocu… | "訂正対象書類の書類管理番号、DEI" | "-" |
| "S100W9LW" | "jpdei_cor:ReportAmendmentFlagD… | "記載事項訂正のフラグ、DEI" | "false" |
| "S100W9LW" | "jpdei_cor:XBRLAmendmentFlagDEI" | "XBRL訂正のフラグ、DEI" | "false" |
| "S100W9LW" | "jpcrp-esr_cor:ReasonForFilingT… | "提出理由 [テキストブロック]" | "当社は、2025年6月25日の定時株主総会において、決議事項… |
| "S100W9LW" | "jpcrp-esr_cor:ResolutionOfShar… | "株主総会における決議 [テキストブロック]" | "(1) 株主総会が開催された年月日2025年6月25日 (2… |
Info
EDINETの書類は、すべてが CSV 形式 (XBRL) で提供されるわけではありません。csvFlag が True の書類のみ、表形式の構造化データとして取得できます。
pdf キーワード引数を True に指定すると、書類本文を PDF 形式で取得できます。データフレームのカラム名は "PdfContent"、データ型は polars.Binary です。バイナリファイルとして保存すれば、PDF 形式の書類を閲覧することができます。
doc_ids = df_years.filter(c.PdfFlag)["DocumentId"] # PDF形式を提供する書類を選択
df = await get_edinet_documents(doc_ids, max_items=3, pdf=True)
df.select("DocumentId", "PdfContent")
| DocumentId | PdfContent |
|---|---|
| str | binary |
| "S100W4U1" | b"%PDF-1.5\x0d\x0a%\xe2\xe3\xcf\xd3\x0d\x0a1\x200\x20obj\x0d\x0a<</C"… |
| "S100W4U5" | b"%PDF-1.5\x0d\x0a%\xe2\xe3\xcf\xd3\x0d\x0a1\x200\x20obj\x0d\x0a<</C"… |
| "S100W543" | b"%PDF-1.5\x0d\x0a%\xe2\xe3\xcf\xd3\x0d\x0a1\x200\x20obj\x0d\x0a<</C"… |
Info
EDINETの書類は、すべてが PDF 形式で提供されるわけではありません。pdfFlag が True の書類のみ、PDF の原本を取得できます。
EdinetClient
EdinetClient の各メソッドは、EDINET APIの仕様
に対応した実装となっています。
kabukit.EdinetClient をインポートしてインスタンスを作成します。
from kabukit import EdinetClient
client = EdinetClient()
書類一覧 (get_list)
EdinetClient.get_list
メソッドは、日付を指定して、提出された書類のメタデータを取得します。
df = await client.get_list("2025-10-10")
df.select("FileDate", "Code", "DocumentId", "Company", "PdfFlag", "CsvFlag")
| FileDate | Code | DocumentId | Company | PdfFlag | CsvFlag |
|---|---|---|---|---|---|
| date | str | str | str | bool | bool |
| 2025-10-10 | "97930" | "S100WU1N" | "株式会社ダイセキ" | true | true |
| 2025-10-10 | "82830" | "S100WU0U" | "株式会社PALTAC" | true | true |
| 2025-10-10 | "61130" | "S100WUEO" | "株式会社アマダ" | true | true |
| 2025-10-10 | "97930" | "S100WU1S" | "株式会社ダイセキ" | true | false |
| 2025-10-10 | "62470" | "S100WU66" | "株式会社日阪製作所" | true | true |
| … | … | … | … | … | … |
| 2025-10-10 | "75160" | "S100WUOK" | "コーナン商事株式会社" | true | true |
| 2025-10-10 | "76030" | "S100WUON" | "ジーイエット株式会社" | true | true |
| 2025-10-10 | "23450" | "S100WULQ" | "株式会社クシム" | true | true |
| 2025-10-10 | "26870" | "S100WT9S" | "株式会社シー・ヴイ・エス・ベイエリア" | true | true |
| 2025-10-10 | "26870" | "S100WT9U" | "株式会社シー・ヴイ・エス・ベイエリア" | true | false |
書類本文 (get_document)
EdinetClient.get_document
メソッドは、文書 ID を指定して、書類本文を取得します。
df = await client.get_document("S100WUKL")
df.select("DocumentId", "要素ID", "項目名", "値")
| DocumentId | 要素ID | 項目名 | 値 |
|---|---|---|---|
| str | str | str | str |
| "S100WUKL" | "jpcrp_cor:IndependentAuditorsR… | "独立監査人の報告書、連結 [テキストブロック]" | " 独立監査人の中間連結財務諸表に対する期中レビュー報告書 … |
| "S100WUKL" | "jpcrp_cor:AuditFirm1Consolidat… | "監査法人1、連結" | "EY新日本有限責任監査法人" |
| "S100WUKL" | "jpcrp_cor:CPA1AuditFirm1Consol… | "公認会計士1、監査法人1、連結" | "佐 藤 晶" |
| "S100WUKL" | "jpcrp_cor:CPA2AuditFirm1Consol… | "公認会計士2、監査法人1、連結" | "大 倉 克 俊" |
pdf キーワード引数を True に指定すると、書類本文を PDF 形式で取得できます。
df = await client.get_document("S100WUKL", pdf=True)
df.select("DocumentId", "PdfContent")
| DocumentId | PdfContent |
|---|---|
| str | binary |
| "S100WUKL" | b"%PDF-1.5\x0d\x0a%\xe2\xe3\xcf\xd3\x0d\x0a1\x200\x20obj\x0d\x0a<</C"… |
Note
モジュール関数は複数の書類を一度に取得できるので、get_edinet_documents(複数形)です。一方、EdinetClient のメソッドは単一の書類を取得するので、get_document(単数形)です。
データ形式について
kabukit.get_edinet_documents 関数および
EdinetClient.get_document メソッドで取得される書類本文は、EDINET が提供する CSV 形式のデータ(元のデータは XBRL 形式)を
Polars DataFrame に変換したものです。