EDINET Search Index / Non-Official
EDINET 公式 API は 日付指定でしか検索できません。 トヨタの過去10年分の有報を取りに行くと、1日ずつ問い合わせて 3,650 回の API コールが必要でした。 YUHO DB は会社名で 1 リクエスト。AI Agent からそのまま呼び出せる、企業軸の REST インデックスです。
— Live Stats
Docs Indexed
—
全書類種別合計
Period
—
収録年数
Filers
—
ユニーク提出者
Last Updated
—
JST 日次更新
— The Gap
EDINET 公式サイトはブラウザで会社名検索して、書類を 1 つずつ手で開く分には十分機能します。 困るのは API で「銘柄ベースの過去N年分」をプログラム取得しようとした瞬間です。
| EDINET 公式 ブラウザ |
EDINET 公式 API |
YUHO DB API |
|
|---|---|---|---|
| 会社名で検索 | ✓ | ✗ 日付指定のみ | ✓ |
| 過去10年分の DocID を取得 | △ 手作業で1件ずつ | △ 1日ずつしか引けない | ✓ 1 リクエスト |
| 10年分取得に必要な API 呼び出し回数 | — (ブラウザ) | 3,650 回 | 1 回 |
| API キー | — | 必要 (申請) | 不要 |
| 登録 | 不要 | 必要 | 不要 |
| コスト | 無料 | 無料 | 無料 |
| AI Agent から直接呼び出し | ✗ スクレイピング前提 | △ 自前で再集計が必要 | ✓ JSON で即返答 |
— Why YUHO DB
EDINET 公式 API
3,650
requests / 10 years
日付ベースの設計のため、トヨタの過去10年分を取るには 1日ずつ 3,650 回問い合わせる必要があります。 レート制限を守ると 数十分かかる処理。
YUHO DB API
1
request / 10 years
企業軸で再インデックスしているため、会社名 1 つで 10 年分の DocID 一覧が返ります。 応答時間は 100ms 台。差は実に 3,650 倍。
LLM が外部データへ tool-use / function calling で繋がるのが当たり前になりました。 だからこそ、API は 認証フローなし・JSON 構造化・1 リクエストで完結であるほど、AI からの利用コストが下がります。
YUHO DB は最初からその使われ方を想定して設計しています。 Claude や GPT の tool として登録すれば、「トヨタの直近の有報を3つ持ってきて」と話しかけるだけで動きます。
— How It Works
Step 01 / Daily Ingest
毎日 23:30 JST に自動取得
GitHub Actions が EDINET 公式 API から前日分の書類メタデータを取得し、SQLite に差分 UPSERT。 過去10年分(約 3,650 日)を網羅。
Step 02 / Full-Text Index
トリグラムで曖昧検索
FTS5 + trigram インデックスで「トヨタ」「7203」「輸送用機器」など多軸の部分一致を高速に解決。 検索レスポンスは 100ms 台。
Step 03 / Link to Source
EDINET 公式へ直接リンク
書類本体(PDF / XBRL)は EDINET 公式へのリンクで提供。ドック ID をコピーして 自前の取得スクリプトにも即使用できます。
— For Developers & AI Agents
IP 単位のレート制限 (10 req/分・100 req/時・500 req/日) のみ。
/api/v1/documents で検索、/export.csv で CSV、/download で本体取得。
以下、3 つの呼び出しパターンの最小例。
シェルから 1 行で。
q= に会社名・銘柄コード・業種を渡し、doc_type=120 で有価証券報告書のみに絞り込み。
period=10y で過去 10 年。これだけで 3,650 リクエストが 1 リクエストに圧縮されます。
# トヨタの過去10年分の有報 (1 リクエスト) URL="https://yuho-db-api-7oq53ssyja-an.a.run.app" curl "$URL/api/v1/documents?q=トヨタ&doc_type=120&period=10y" # CSV ダウンロード (Excel 互換) curl "$URL/api/v1/documents/export.csv?q=トヨタ&period=10y" \ -o toyota.csv # PDF ダウンロード (DocID 指定) curl "$URL/api/v1/documents/S100ABCD/download?type=pdf" \ -o toyota_yuho.pdf
Python から、3 行で。
requests だけで完結します。キーも、認証も、SDK も不要。
戻り値は JSON で results[] に DocID と提出者情報、total に総件数が入ります。
import requests URL = "https://yuho-db-api-7oq53ssyja-an.a.run.app" r = requests.get(f"{URL}/api/v1/documents", params={ "q": "トヨタ", "doc_type": "120", # 有価証券報告書 "period": "10y", # 過去10年 }) docs = r.json()["results"] print(f"{len(docs)} docs over 10 years") # → 約 10 件 (年次有報1本/年) を 1 回の HTTP で取得
LLM の tool として登録。
Claude / GPT の tool-use (function calling) にそのまま渡せる JSON スキーマ。
ユーザーが自然言語で「トヨタの直近 5 年の有報を持ってきて」と話しかけるだけで、
モデルが自動で q="トヨタ" period="5y" を組み立てて呼びます。
認証フローを介さないので tool 定義がシンプルに収まり、トークンも節約できます。
{ "name": "search_yuho_documents", "description": "日本企業の有価証券報告書・開示書類を企業軸で検索 (EDINETメタデータ)", "input_schema": { "type": "object", "properties": { "q": { "type": "string", "description": "会社名 / 銘柄コード / 業種" }, "doc_type": { "type": "string", "enum": ["120", "140", "160"] }, "period": { "type": "string", "enum": ["1y", "3y", "5y", "10y"] } }, "required": ["q"] } } // → tool 実行: GET /api/v1/documents?q=...&doc_type=...&period=... // → 認証ヘッダ不要、結果 JSON をそのまま LLM に戻す
— Built by
INVEST AITech は「Finance × AI」を軸に、専門領域の知見を活かした実用アプリケーションを構築しています。 日本株式 AI エージェント、PLATEAU 3D 都市モデルの可視化、EDINET メタデータ検索(YUHO DB)、 PowerPoint↔JSON コンバータなど、投資・調査・業務の現場で日常的に使えるツールを開発・公開しています。
INVEST AITech のホームページへ— Disclaimer / 免責事項
YUHO DB は非公式サービスです。 金融庁・EDINET とは無関係の個人プロジェクトであり、いかなる形でも公式サービスを代表するものではありません。
収録データは EDINET(Electronic Disclosure for Investors' NeTwork)の公開 API から取得したメタデータです。 利用規約は 公共データ利用規約(PDL1.0) に基づきます(CC BY 4.0 互換)。 書類本体の著作権は各提出者に帰属します。
本サービスの情報の正確性・完全性・最新性を保証するものではありません。 投資判断の根拠としての使用は推奨しません。正確な情報は EDINET 公式サイト をご確認ください。
出典: EDINET (PDL1.0) · 加工主体: YUHO DB プロジェクト · 金融庁(FSA)とは無関係