API ドキュメント
金融庁EDINETの開示書類を、ZIPやXBRLを解析せずにJSONで取得できます。すべてのデータに出典の書類ID(doc_id)と原典URLが付きます。
AIトレード・Python向け:オルタナティブデータの一括取得
株価以外の公式イベントデータを、統一スキーマで取得できます。対象は収録済みの年次開示索引・入札公告・海外議会/法案のメタデータで、リアルタイム市場価格や売買シグナルは含まれません。
# 1回で最大1,000イベントをCSV形式で取得
curl -H "Authorization: Bearer vivl_live_..." \
"https://vivlica.vivlica.workers.dev/v1/alternative-data?dataset=all&format=csv&limit=1000" \
-o alternative-events.csv
# Python (認証情報は環境変数で管理)
import os, requests, pandas as pd
base = "https://vivlica.vivlica.workers.dev/v1/alternative-data"
headers = {"Authorization": "Bearer " + os.environ["VIVL_API_KEY"]}
rows, offset = [], 0
while True:
resp = requests.get(base, headers=headers,
params={"dataset": "all", "limit": 1000, "offset": offset}, timeout=30)
resp.raise_for_status()
payload = resp.json()
rows.extend(payload["data"])
offset = payload["meta"]["next_offset"]
if offset is None: break
df = pd.DataFrame(rows)
print(df[["dataset", "source", "event_on", "company_code"]].head())絞り込み: dataset=annual_reports|tender_notices|policy_events、code=7203、source=KKJ、topic=水素、linked_only=true(証券コード確定紐付けだけ)、from=YYYY-MM-DD、to=YYYY-MM-DD、observed_before=YYYY-MM-DD(PIT保証ではありません)。 レスポンスの meta.next_offset を指定して続きを取得します。
APIの source と topic は原典とテーマで絞り込むための条件です。 国会・入札公告のテーマ一致は、銘柄との確定関係を意味しません。linked_only=true は未確認の紐付けを除外するため、年次開示以外の件数が0件でも不存在は意味しません。
まずは AIトレード向けクイックスタートから。サンプルCSV(無料・公式メタデータ6件) とPython標準ライブラリの取得スクリプトを用意しています。
注意:データ提供元のイベント日と、vivlicaの取得日時は異なります。初回市場到達日時・過去時点の銘柄ユニバース・訂正履歴が揃った完全なPITバックテスト用データではありません。公開日の情報漏洩(ルックアヘッド)に注意してください。
1. 認証
料金プランから購入すると、vivl_live_で始まるAPIキーが発行されます。Authorization: Bearerヘッダーで送ってください(x-api-key ヘッダーも可)。
curl -H "Authorization: Bearer vivl_live_..." \
"https://<ドメイン>/v1/large-holdings?date=2026-10-01"2. エンドポイント
/v1/alternative-data株価以外のデータを一括取得。EDINET・入札公告・海外政策イベントをJSON / CSVで(最大1,000件/ページ)/v1/filings指定日の提出書類を全件、提出時刻順に(分類・証券コードで絞り込み可)/v1/large-holdings大量保有報告書・変更報告書(誰が・どの銘柄を)/v1/tender-offers公開買付(TOB)関連書類(届出・撤回・報告・意見表明)/v1/financials/{code}有価証券報告書の財務・非財務データ(証券コード+年)/v1/companies/{code}収録銘柄の指標(PER・PBR・ROE・配当利回りなど)/v1/entities?q=...再配布可能な法人情報を検索(出典・帰属表記つき)/v1/entities/{entityId}法人の履歴・公開書類・出典を取得/mcpMCPサーバー(AIアシスタントからツールとして呼び出し)# 今日の大量保有報告書
curl -H "Authorization: Bearer $VIVL_KEY" "https://<ドメイン>/v1/large-holdings"
# 特定銘柄に関するTOB書類(対象会社として)
curl -H "Authorization: Bearer $VIVL_KEY" "https://<ドメイン>/v1/tender-offers?date=2026-10-01&code=7203"
# 2025年3月期の有報から売上高・営業利益・平均年収だけ
curl -H "Authorization: Bearer $VIVL_KEY" \
"https://<ドメイン>/v1/financials/7203?year=2025&metrics=sales,op,avgSalary"# 法人名・法人番号・証券コードを検索(検索語2文字以上、最大100件)
curl -H "Authorization: Bearer $VIVL_KEY" \
"https://<ドメイン>/v1/entities?q=7203&limit=20"
# 検索結果の entity_id を使って詳細を取得
curl -H "Authorization: Bearer $VIVL_KEY" \
"https://<ドメイン>/v1/entities/jcn%3A1234567890123"法人APIは、データ元の最新の利用条件で再配布が認められた行だけを返します。個人に関する行と、利用条件が不明または再配布不可の情報は除外します。 検索結果の sources に出典・必要な帰属表記・利用条件のURLが含まれます。法人データ用のCloudflare D1読み取り専用トークンが未設定の場合、503 not_configured になります。
/v1/financials の項目キー一覧(23項目)
sales — 売上高(億円)op — 営業利益(億円)np — 当期純利益(親会社株主帰属)(億円)salesGrowth — 売上高成長率(前期比)(%)equity — 自己資本比率(%)roe — ROE(自己資本利益率)(%)per — PER(提出時点)(倍)payout — 配当性向(%)employees — 従業員数(連結)(名)avgSalary — 平均年間給与(提出会社)(万円)avgAge — 平均年齢(提出会社)(歳)rdExpenses — 研究開発費(億円)capex — 設備投資額(億円)totalAssets — 総資産(億円)dps — 1株当たり配当額(円)tsr — 株主総利回り(%)shareholders — 株主数(名)avgTenure — 平均勤続年数(提出会社)(年)femaleManagerRatio — 女性管理職比率(%)maleChildcareLeave — 男性育児休業取得率(%)genderPayGap — 男女間賃金格差(女性/男性)(%)crossHoldingsCount — 政策保有株式 銘柄数(上場株)(銘柄)crossHoldingsValue — 政策保有株式 計上額(上場株)(億円)3. レスポンス形式
成功時は data と meta、失敗時は error です。
{
"data": [
{
"doc_id": "S100ABCD",
"submitted_at": "2026-10-01T15:00:00+09:00",
"doc_type": { "code": "350", "name": "大量保有報告書" },
"category": "largeHolding",
"report_kind": "change",
"title": "変更報告書",
"filer": { "name": "〇〇アセットマネジメント株式会社", "edinet_code": "E00000", "stock_code": null, "corporate_number": "..." },
"issuer": { "edinet_code": "E02144", "stock_code": "7203", "name": "トヨタ自動車株式会社" },
"url": "https://disclosure2.edinet-fsa.go.jp/WZEK0040.aspx?S100ABCD"
}
],
"meta": { "source": "EDINET", "date": "2026-10-01", "count": 1, "finalized": true, "fetched_at": "2026-10-02T09:00:00.000Z" }
}{ "error": { "code": "rate_limited", "message": "レート制限に達しました(Proプラン: 60リクエスト/分)。", "limit_per_minute": 60 } }エラーコード — 分岐は message ではなく code で行ってください
| code | HTTP | 意味・対処 |
|---|---|---|
| invalid_request | 400 | パラメータが不正。message に理由、param に対象のパラメータ名 |
| unauthorized | 401 | APIキーが送られていない |
| invalid_api_key | 401 | APIキーが不正(改ざん・打ち間違い) |
| subscription_inactive | 402 | 解約済み・支払い未完了。/billing/manage で支払い方法を更新 |
| forbidden | 403 | 権限がない操作 |
| not_found | 404 | 該当データなし |
| method_not_allowed | 405 | 許可されていないHTTPメソッド |
| rate_limited | 429 | 分間のレート制限超過。Retry-After 秒後に再試行 |
| plan_limit | 429 | 今月のリクエスト上限に到達。翌月1日(JST)にリセット、または上位プランへ変更 |
| internal_error | 500 | サーバー内部のエラー |
| upstream_error | 502 | EDINETからの取得に失敗。時間をおいて再試行 |
| billing_unavailable | 503 | 契約状態を一時的に確認できない。課金状態の問題ではないので再試行 |
| not_configured | 503 | サーバー側の設定不足(運営側の問題) |
| sales_paused | 503 |
4. レート制限
- Pro: 60回/分・月 10,000 回まで
- Ultra: 300回/分・月 100,000 回まで
- Mega: 600回/分・月 1,000,000 回まで
分間の上限を超えると 429 rate_limited、月間の上限を超えると 429 plan_limit が返ります(どちらも Retry-After ヘッダー付き)。 月間の上限は毎月1日0時(日本時間)にリセットされます。REST と MCP の呼び出しは合算されます。 成功したレスポンスには残り回数がヘッダーで付きます。
x-ratelimit-limit: 60 # 1分あたりの上限
x-quota-limit: 10000 # 今月の上限
x-quota-remaining: 9873 # 今月の残り
x-quota-reset: 2026-10-31T15:00:00.000Z # 次のリセット(= 11/1 0:00 JST)5. MCPサーバー(Claude などのAIから使う)
同じAPIキーで、MCP(Model Context Protocol)サーバーも使えます。AIアシスタントに「今日の大量保有報告書をまとめて」と頼むと、 このAPIを直接呼んで一次情報から答えます。追加料金はかかりません。
# Claude Code
claude mcp add --transport http vivldatabase https://<ドメイン>/mcp \
--header "Authorization: Bearer vivl_live_..."
# 設定ファイルに書く場合(Claude Desktop 等)
{
"mcpServers": {
"vivldatabase": {
"type": "http",
"url": "https://<ドメイン>/mcp",
"headers": { "Authorization": "Bearer vivl_live_..." }
}
}
}get_alternative_dataEDINET年次開示・政府入札公告・海外議会/法案の公式メタデータを統一した形式で返します。株価は含まず、過去の初回市場到達時刻は未検証です。list_filings指定日にEDINETへ提出された開示書類を、提出時刻順に全件返します。分類や証券コードで絞り込めます。list_large_holdings大量保有報告書・変更報告書を返します。誰が(filer)どの銘柄を(issuer)報告したかが分かります。list_tender_offers公開買付届出書・撤回届出書・報告書・意見表明報告書などを返します。買付けの対象会社は target に入ります。get_financials証券コードと年を指定して、有価証券報告書(XBRL)から抽出した売上高・営業利益・ROE・平均年収などを返します。get_company収録銘柄のPER・PBR・ROE・配当利回りなどの指標を返します(EDINETへの通信なし・高速)。search_entities法人名、法人番号、証券コードで、再配布条件を満たす法人情報を検索します。個人のデータは返しません。sources に出典と必要な帰属表記を含みます。get_entity主体IDを指定して、公開可能な法人情報、履歴、書類、大量保有情報と出典を取得します。個人データや再配布不可の行は除外されます。6. バージョニング
URLの /v1/ がAPIのバージョンです。v1 の中では、項目の追加は予告なく行うことがありますが、 既存の項目の削除・名前変更・型変更は行いません。互換性のない変更は /v2/ として別に提供します。
データの信頼性について
- 出所の追跡: すべてのデータに書類管理番号(doc_id)と原典URLが付き、開示書類まで遡れます。
- 推定しない: 開示書類から抽出できなかった項目は null で返し、推測で補完しません。
- 全件: /v1/filings はその日の提出を種別を問わず全件返します(間引きません)。
本APIのデータは投資勧誘を目的とするものではありません。投資判断はご自身の責任で行ってください。