• #SEC
  • #EDGAR
  • #API
  • #財務データ
  • #US-GAAP

SEC EDGAR API 財務データ取得ガイド

概要

上場企業の財務データをAPIで取得する方法を、SEC(米国証券取引委員会)のEDGAR(Electronic Data Gathering, Analysis, and Retrieval)システムについてまとめる。

関連ドキュメント: 決算書分析ウォーターフォール機能 要件定義

SEC EDGAR API

エンドポイント

APIURL用途
Company Factshttps://data.sec.gov/api/xbrl/companyfacts/CIK{cik}.json企業の全財務データ(US-GAAP)
Submissionshttps://data.sec.gov/submissions/CIK{cik}.json提出書類一覧と企業情報

認証

  • 認証不要(無料)
  • 必須: User-Agentヘッダーに連絡先を含める
HEADERS = {
    "User-Agent": "MyApp/1.0 ([email protected])",
    "Accept": "application/json"
}

CIK(Central Index Key)

企業を識別する10桁の番号(ゼロパディング必要)

企業TickerCIK
NVIDIANVDA0001045810
AppleAAPL0000320193
MicrosoftMSFT0000789019
TeslaTSLA0001318605
AmazonAMZN0001018724

レスポンス構造

{
  "cik": 1045810,
  "entityName": "NVIDIA CORP",
  "facts": {
    "us-gaap": {
      "Revenues": {
        "label": "Revenues",
        "description": "...",
        "units": {
          "USD": [
            {
              "val": 130497000000,
              "end": "2025-01-26",
              "fy": 2025,
              "fp": "FY",
              "form": "10-K"
            }
          ]
        }
      }
    }
  }
}

5社メトリック比較

NVIDIA, Apple, Microsoft, Tesla, Amazon の5社で検証した結果、22/31メトリック(71%)が全社共通で使用されている。

検証対象企業

企業TickerUS-GAAPメトリック数
NVIDIANVDA615
TeslaTSLA619
MicrosoftMSFT541
AmazonAMZN519
AppleAAPL503

PL(損益計算書)

売上高メトリックの変遷(ASC 606対応)

ASC 606(新収益認識基準)が2018年頃に導入されたことにより、売上高のメトリック名が変更されている:

企業RevenuesRevenueFromContract...現在使用
NVDA2008〜20252017〜2022Revenues
AAPL2016〜20182017〜2025RevenueFromContract...
MSFT2007〜20102016〜2025RevenueFromContract...
TSLA2009〜20242018〜2024両方併用
AMZN-2016〜2024RevenueFromContract...

実装時の注意: 最新データを取得する際は両方のメトリックを確認し、より新しい日付のデータを使用する。

メトリック日本語NVDAAAPLMSFTTSLAAMZN
RevenueFromContractWithCustomerExcludingAssessedTax売上高(新基準)
Revenues売上高(旧基準)-
CostOfRevenue売上原価--
CostOfGoodsAndServicesSold売上原価-
GrossProfit売上総利益
ResearchAndDevelopmentExpense研究開発費-
SellingGeneralAndAdministrativeExpense販管費--
OperatingExpenses営業費用
OperatingIncomeLoss営業利益
NetIncomeLoss当期純利益
EarningsPerShareBasicEPS(基本)
EarningsPerShareDilutedEPS(希薄化後)

PL注意点:

項目企業代替メトリック
売上高AMZNRevenueFromContractWithCustomerExcludingAssessedTax のみ使用
売上原価AAPL, AMZNCostOfGoodsAndServicesSold を使用
売上原価TSLACostOfRevenue のみ使用
販管費MSFTGeneralAndAdministrativeExpense + SellingAndMarketingExpense に分割
販管費AMZNGeneralAndAdministrativeExpense + MarketingExpense に分割
研究開発費AMZN該当メトリックなし(Technology and Infrastructure等に含む)

BS(貸借対照表)

メトリック日本語NVDAAAPLMSFTTSLAAMZN
Assets総資産
AssetsCurrent流動資産
CashAndCashEquivalentsAtCarryingValue現金同等物
AccountsReceivableNetCurrent売掛金
InventoryNet棚卸資産
Liabilities総負債-
LiabilitiesCurrent流動負債
AccountsPayableCurrent買掛金
LongTermDebtNoncurrent長期借入金
StockholdersEquity株主資本
RetainedEarningsAccumulatedDeficit利益剰余金

BS注意点:

項目企業代替メトリック
総負債AMZNLiabilitiesCurrent + LiabilitiesNoncurrent で算出

CF(キャッシュフロー計算書)

メトリック日本語NVDAAAPLMSFTTSLAAMZN
NetCashProvidedByUsedInOperatingActivities営業CF
NetCashProvidedByUsedInInvestingActivities投資CF
NetCashProvidedByUsedInFinancingActivities財務CF
DepreciationDepletionAndAmortization減価償却費-
ShareBasedCompensation株式報酬
PaymentsToAcquirePropertyPlantAndEquipment設備投資
PaymentsForRepurchaseOfCommonStock自己株式取得-
PaymentsOfDividends配当金支払---

CF注意点:

項目企業代替メトリック
減価償却費MSFTDepreciation を使用
自己株式取得TSLA該当なし(自社株買い未実施)
配当金MSFTPaymentsOfDividendsCommonStock を使用
配当金TSLA, AMZN該当なし(無配当)

SS(株主資本等変動計算書)

メトリック日本語
CommonStockValue資本金
AdditionalPaidInCapital資本剰余金
RetainedEarningsAccumulatedDeficit利益剰余金
AccumulatedOtherComprehensiveIncomeLossNetOfTaxその他包括利益累計額
PaymentsForRepurchaseOfCommonStock自己株式取得
PaymentsOfDividends配当金
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue株式報酬
PaymentsRelatedToTaxWithholdingForShareBasedCompensationRSU税金源泉徴収

NVIDIA 10-Q vs EDGAR 検証結果

Statements of Income

10-Q (FY2026 Q3: Oct 26, 2025) との比較

項目10-QEDGAR状態
Revenue57,00657,006
Cost of revenue15,15715,157
Gross profit41,84941,849
R&D4,7054,705
SG&A1,1341,134
Operating income36,01036,010
Net income31,91031,910
EPS (Diluted)$1.30$1.30

Statements of Comprehensive Income

項目10-QEDGAR状態
Net income31,91031,910
AFS securities - unrealized gain184184
Other comprehensive income169169
Total comprehensive income32,07932,079

Balance Sheet

項目10-QEDGAR状態
Total assets161,149161,149
Total liabilities42,24642,246
Stockholders' equity118,903118,903

Cash Flow Statement

項目10-QEDGAR状態
Net cash from operating67,86967,869
Net cash from investing(23,267)(23,267)
Net cash from financing(41,644)(41,644)

制限事項

1. セグメント情報が取得できない

セグメント別データは取得不可なのがCompany Facts APIの制限である。

取得可能:

  • NumberOfReportableSegments: セグメント数(例: NVIDIAは2)

取得不可:

  • セグメント別売上高(Gaming、Data Center等)
  • セグメント別利益
  • 地域別売上高

理由: XBRL原本には次元情報(StatementBusinessSegmentsAxisGamingMember等)があるが、Company Facts APIは集約値のみ返す。

セグメント情報が必要な場合の選択肢:

方法コスト備考
XBRL Instance直接解析無料開発コスト高(企業ごとに拡張タクソノミーが異なる)
Financial Modeling Prep$19/月〜セグメント情報あり
Alpha Vantage$49/月〜セグメント情報あり
Koyfin$30/月〜セグメント可視化に強い

→ 基本財務データ(PL/BS/CF総額)はEDGAR無料APIで十分。セグメント情報は有料データソース推奨。

2. 株主資本等変動計算書の列内訳がない

変動項目が各列(Common Stock, Additional Paid-in Capital, Retained Earnings等)に分かれている10-Qとは異なり、EDGARでは総額のみ提供。

例: 「Shares repurchased」

  • 10-Q: Additional Paid-in Capital (-228) + Retained Earnings (-36,505) = Total (-36,733)
  • EDGAR: PaymentsForRepurchaseOfCommonStock = 36,271(総額のみ)

2. 期間集計の違い

一部メトリックは四半期単独の値のみで、9ヶ月累計(YTD)がない場合がある。

3. Interest Income の取得

InterestIncomeOther または InvestmentIncomeInterest など、企業によりメトリック名が異なる。

4. Cash flow hedges の内訳

Comprehensive Income の Cash flow hedges 詳細(Change in unrealized, Reclassification)は、EDGARで直近データがない場合がある。

実装サンプル

Python

import requests
import json

HEADERS = {
    "User-Agent": "MyApp/1.0 ([email protected])",
    "Accept": "application/json"
}

def get_company_facts(cik: str) -> dict:
    url = f"https://data.sec.gov/api/xbrl/companyfacts/CIK{cik}.json"
    response = requests.get(url, headers=HEADERS)
    response.raise_for_status()
    return response.json()

# NVIDIA
facts = get_company_facts("0001045810")
us_gaap = facts['facts']['us-gaap']

# 売上高を取得
revenues = us_gaap['Revenues']['units']['USD']
# 最新の10-Kデータ
annual = [v for v in revenues if v['form'] == '10-K']
latest = sorted(annual, key=lambda x: x['end'])[-1]
print(f"Revenues: ${latest['val'] / 1e9:.2f}B ({latest['end']})")

TypeScript

interface EdgarMetricValue {
  val: number;
  end: string;
  start?: string;
  fy: number;
  fp: string;
  form: string;
  filed: string;
}

interface EdgarFacts {
  cik: number;
  entityName: string;
  facts: {
    'us-gaap': Record<string, {
      label: string;
      description: string;
      units: Record<string, EdgarMetricValue[]>;
    }>;
  };
}

async function getCompanyFacts(cik: string): Promise<EdgarFacts> {
  const res = await fetch(
    `https://data.sec.gov/api/xbrl/companyfacts/CIK${cik}.json`,
    {
      headers: {
        'User-Agent': 'MyApp/1.0 ([email protected])',
      },
    }
  );
  return res.json();
}

関連リソース

テストスクリプト

検証用スクリプトは test-edgar/ ディレクトリに格納:

ファイル用途
fetch_nvidia.pyNVIDIAデータ取得
extract_all_latest.py全メトリック抽出
compare_companies.py複数企業のメトリック比較
nvidia_full_statements.html10-Q vs EDGAR 比較表