この記事でわかること
- 有価証券報告書を自動収集する仕組みの全体像
- EDINET API × Google Apps Scriptの構成パターン
- 4,000社を処理するための技術的な工夫
- 導入効果(作業時間333時間→0時間)
この記事の対象読者
- 有価証券報告書を定期的に収集している方
- 上場企業の情報収集を効率化したい方
- EDINET APIの活用方法を知りたい方
- Google Apps Scriptで業務自動化を検討している方
お客様が抱えていた課題

手作業での有価証券報告書収集に限界
お客様は投資分析・企業調査のために、上場企業の有価証券報告書を定期的に収集していました。
しかし、従来の手作業による収集には以下の課題がありました。
| 課題 | 具体的な問題 |
|---|---|
| 膨大な作業時間 | EDINETで1社ずつ検索→ダウンロードの繰り返し |
| 対象企業数の多さ | 上場企業は約4,000社。手作業では現実的に不可能 |
| 最新情報の追跡が困難 | 新しい報告書がいつ出たか把握できない |
| ファイル管理の煩雑さ | ダウンロードしたPDFの整理・命名も手作業 |
「全上場企業を網羅したいが、人手では到底追いつかない」これがお客様の本音でした。
試算:手作業にかかる時間
仮に1社あたり5分かかるとすると、
5分 × 4,000社 = 20,000分 = 約333時間
1日8時間作業しても約42日間かかる計算です。
しかも有価証券報告書は毎年更新されるため、これを毎年繰り返す必要があります。
解決策:EDINET API × Google Apps Script

なぜこの技術構成を選んだのか
私たちが提案したのは、EDINET APIとGoogle Apps Script(GAS) を組み合わせた自動収集システムです。
| 技術 | 選定理由 |
|---|---|
| EDINET API | 金融庁公式のAPI。全上場企業の開示書類を無料で取得可能 |
| Google Apps Script | 無料で利用可能。スプレッドシートとの連携が容易 |
| Googleスプレッドシート | データベース兼UI。お客様が直接操作できる |
| Google Drive | PDFの保存先。容量も十分で共有も簡単 |
この構成のメリット
✅ 追加コスト0円(Google Workspace利用料のみ)
✅ 専用サーバー不要
✅ 特別なソフトウェアのインストール不要
✅ ブラウザだけで操作可能
✅ 非エンジニアでも運用できる
システム構成図

本システムは、Google Workspace を基盤として、金融庁が提供する EDINET API から企業の開示書類を自動取得・整理し、
そのデータを NotebookLM 等で分析・レポーティングに活用できる状態まで一気通貫で整える仕組みです。
単なる「PDF取得ツール」ではなく、
「データが自然と溜まり、再利用できる情報基盤」**を作ることを目的としています。
全体像
- データ管理:Google スプレッドシート
- 処理ロジック:Google Apps Script(GAS)
- ファイル保管:Google Drive
- 外部連携:EDINET API(金融庁公式API)
- 活用・分析:NotebookLM 等の生成AIツール
これらを組み合わせることで、
「取得 → 整理 → 蓄積 → 分析 → 活用」までを自動化しています。
データ管理:Google スプレッドシート


スプレッドシートは、システム全体の管理台帳として機能します。
- 企業一覧
- EDINETコードや企業名などを管理
- 報告書履歴
- どの書類をいつ取得したかを記録
- どの書類をいつ取得したかを記録
- 設定
- APIキー、取得条件、実行ルールなど
- ログ
- 処理結果やエラーの履歴
「設定や状況がすべて見える」ため、
運用しながら改善しやすい構成になっています。
処理ロジック:Google Apps Script(GAS)
Google Apps Script は、このシステムの中核です。
- EDINET API との連携
- 提出書類の一覧取得
- 対象PDFのダウンロード
- PDF保存処理
- Google Drive への自動格納
- 自動実行
- 日次・週次などの定期実行が可能
スプレッドシートの内容を参照しながら処理を行うため、
コードを書き換えずに運用ルールを変更できるのも特徴です。
ファイル管理:Google Drive


取得した書類は、Google Drive に保存されます。
- 企業別フォルダ構成
- 命名規則を統一したPDFファイル管理
ここで重要なのは、
**「命名規則とフォルダ構成をきちんと揃えること」**です。
これにより、
- Drive 上のファイルをそのまま同期
- NotebookLM や生成AIが文脈を理解しやすい
- 後工程の分析・レポート作成がスムーズ
といったメリットが生まれます。
外部連携:EDINET API(金融庁公式API)
EDINET API は、金融庁が公式に提供する開示情報のAPIです。
- 書類一覧の取得
- 有価証券報告書などのPDF取得
信頼性の高い一次情報を、
人手を介さず安定的に取得できる点が強みです。
活用フェーズ:NotebookLM・マーケティング/営業への展開
Google Drive に整理・蓄積されたPDFは、
- NotebookLM での要約・比較・分析
- 企業研究資料の自動生成
- 業界動向レポートの作成
- マーケティング・営業活動への活用
といった形で、そのまま知的資産として再利用できます。
「ちゃんと整理されたDrive」があるだけで、
生成AIを“使える状態”にするための下地が完成するのが、この仕組みのポイントです。
実装した機能一覧
メニュー機能

スプレッドシートのメニューから、以下の機能を実行できます。
| 機能 | 説明 |
|---|---|
| 初期セットアップ | 必要なシートを自動作成 |
| CSVインポート | EDINETコードリストから企業を一括登録 |
| 報告書取得(通常) | 未取得・1年経過企業のみ処理(差分更新) |
| 報告書取得(選択) | チェックした企業のみ処理 |
| 報告書取得(全件) | 全企業を強制的に再取得 |
| 処理停止 | 実行中の処理を安全に停止 |
| 処理再開 | 停止した位置から再開 |
| PDF一覧表示 | 取得済みPDFの一覧を表示・エクスポート |
| 自動実行設定 | 毎月1日に自動実行するトリガーを設定 |
シート構成
| シート名 | 役割 |
|---|---|
| 企業一覧 | 管理対象企業のマスタデータ |
| 報告書履歴 | 取得した報告書の履歴・PDFリンク |
| 設定 | APIキー、保存先、処理状況などの設定値 |
| ログ | 実行履歴・エラーログ |
技術的な工夫
4,000社という大量データを安定して処理するために、いくつかの技術的な工夫を実装しました。
工夫①:GASの6分制限を自動回避
課題
Google Apps Scriptには「1回の実行は最大6分まで」という制限があります。
4,000社を処理するには全く足りません。
解決策:自動継続トリガー方式
5分経過したら処理を中断し、現在位置を保存。
1分後に自動再開するトリガーを設定して終了。これを繰り返すことで、6分制限を回避しています。
処理開始
↓
[1社ずつ処理]
↓ 5分経過
現在位置を保存 → 1分後に再開トリガー設定 → 終了
↓ 1分後
保存位置から再開
↓ 5分経過
現在位置を保存 → 1分後に再開トリガー設定 → 終了
↓
(全社完了まで繰り返し)
ポイント
ブラウザを閉じても、PCをシャットダウンしても、処理は継続します。
Googleのサーバー上で実行されるため、ユーザーは放置しておくだけでOKです。
工夫②:API制限への自動対応
課題
EDINET APIには利用制限があり、大量リクエストを送ると「429 Too Many Requests」エラーが発生します。
解決策:自動検知&自動リトライ
- 連続エラーを検知したら自動停止
- 60分後に自動リトライするトリガーを設定
- 適切な待機時間を挿入してリクエスト間隔を調整
工夫③:手動での停止・再開機能
課題
長時間の処理を途中で止めたい、翌日に続きをやりたい、といったニーズがありました。
解決策:停止フラグ方式
- メニューから「停止」を実行すると、数秒以内に安全に停止
- 現在の処理位置を設定シートに保存
- 「再開」を実行すると、保存した位置から続きを再開
工夫④:進捗のリアルタイム表示
課題
長時間の処理中、進捗がわからないと不安になります。
解決策:ステータス表示
- 設定シートに「処理状況」をリアルタイム表示
- 各企業の「ステータス」列で個別の状態を表示
- ログシートで詳細な実行履歴を記録
表示例:
・⏳ 処理中... (1,234社処理)
・⏹️ 停止中
・⚠️ API制限待ち(60分後に再開)
・✅ 完了
工夫⑤:わかりやすいPDFファイル名
課題
ダウンロードしたPDFが大量になると、目的のファイルを探すのが大変です。
解決策:統一された命名規則
証券コード_企業名_発行年_有価証券報告書.pdf
例:
7203_トヨタ自動車株式会社_2024_有価証券報告書.pdf9984_ソフトバンクグループ株式会社_2024_有価証券報告書.pdf
さらに、企業ごとにフォルダを自動作成するため、年度が増えても整理された状態を維持できます。
導入効果
Before / After 比較
| 項目 | Before(手作業) | After(自動化) |
|---|---|---|
| 作業時間 | 333時間(年間) | 0時間 |
| 情報の鮮度 | 手動チェックで遅延 | 毎月自動で最新化 |
| 網羅性 | 一部企業のみ | 全上場企業4,000社 |
| ファイル管理 | 手動で命名・整理 | 自動で整理済み |
| 運用コスト | 人件費が発生 | 0円 |
定量効果
- 年間333時間の工数削減
- 人件費換算で年間数百万円のコスト削減
- 情報収集の網羅性が100%に向上
お客様の声
「これまで諦めていた『全上場企業の網羅』が現実になりました。しかも一度設定したら放っておけばいい。毎月自動で最新情報が揃っているのは本当に助かります。」
「PDFのファイル名が統一されていて、目的の企業の報告書をすぐに見つけられるようになりました。ファイル管理のストレスがなくなりました。」
この仕組みの応用可能性
今回構築したシステムは、有価証券報告書以外にも応用可能です。
| 応用例 | 説明 |
|---|---|
| 四半期報告書の収集 | EDINET APIで同様に取得可能 |
| 決算短信の収集 | 適時開示情報(TDnet)との連携 |
| 特定業種のみ収集 | 業種フィルタリング機能を追加 |
| 特定キーワードの抽出 | PDF内テキストを解析 |
| 企業スコアリング | 財務データを抽出してランキング |
| CRM連携 | Salesforceなどに企業情報を自動連携 |
まとめ
構築したシステムの特徴
| 特徴 | 詳細 |
|---|---|
| 網羅性 | 全上場企業4,000社を自動収集 |
| コスト | 月額0円(Google Workspace利用料のみ) |
| インフラ | 専用サーバー不要 |
| 運用 | スプレッドシートだけで完結 |
| 保守性 | 毎月自動で最新化 |
| 柔軟性 | 停止・再開が自由自在 |
技術スタック
- API: EDINET API(金融庁)
- バックエンド: Google Apps Script
- データベース: Google スプレッドシート
- ストレージ: Google Drive
同じような仕組みを作りたい方へ
「有価証券報告書の収集を自動化したい」
「別のAPIと連携したシステムを作りたい」
「手作業の業務を自動化したい」
このようなお悩みがあれば、ぜひご相談ください。
Google Apps Scriptを活用した業務自動化は、低コスト・短期間で導入でき、非エンジニアの方でも運用しやすいのが特徴です。
AIDXの仕組みを社内で内製化したい方へ
スパルタAIDX研修で、現場で使えるAI実践スキルを短期集中で習得できます。
ベテランの技術継承や業務自動化を自社で実現したい方におすすめです。

AIDXの仕組みを構築を依頼したい方へ
貴社の課題に合わせた最適なソリューションをご提案いたします。
導入事例の詳細や、具体的な実装方法についてもお気軽にご相談ください。




