Back to Hermes Agent

SEC EDGAR — Corporate Filings

optional-skills/research/osint-investigation/references/sources/sec-edgar.md

2026.6.53.1 KB
Original Source

SEC EDGAR — Corporate Filings

1. Summary

EDGAR (Electronic Data Gathering, Analysis, and Retrieval) is the SEC's system for corporate disclosure filings: 10-K (annual), 10-Q (quarterly), 8-K (current events), DEF 14A (proxy), Form 4 (insider trading), 13F (institutional holdings).

2. Access Methods

  • API: https://data.sec.gov/submissions/CIK<10-digit-padded>.json (no auth)
  • Filing index: https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=...
  • Full-text search: https://efts.sec.gov/LATEST/search-index?q=...
  • Auth: None — requires User-Agent header with contact info per SEC policy
  • Rate limit: 10 requests/second per IP (enforced)

3. Data Schema

Key fields emitted by fetch_sec_edgar.py (filings index):

ColumnTypeDescription
cikstrCentral Index Key (10-digit padded)
company_namestrRegistrant name
form_typestr10-K, 10-Q, 8-K, etc.
filing_datestrYYYY-MM-DD
accession_numberstrFiling accession (e.g. 0000320193-24-000123)
primary_documentstrFilename of main document
filing_urlstrDirect URL to filing index
reporting_periodstrPeriod of report (where applicable)

4. Coverage

  • All public US registrants from 1993 → present
  • 1993-2000 has spotty coverage of older filings (paper-to-electronic migration)
  • ~12M filings cumulative
  • Updated within minutes of filing acceptance

5. Cross-Reference Potential

  • USAspendingcompany_name (public companies as federal contractors)
  • Senate LDcompany_name (public companies hire lobbyists)
  • OFAC SDNcompany_name (sanctions screening of public registrants)

Join key: company name OR CIK if you have it. CIK is canonical and stable.

6. Data Quality

  • Subsidiaries often filed under parent CIK — be careful with name matches
  • Name changes over time (rebrands, acquisitions) — CIK remains constant
  • 10-K Item 1A Risk Factors are free-form text — useful for web_extract-style parsing, not structured queries
  • Foreign private issuers file 20-F instead of 10-K

7. Acquisition Script

Path: scripts/fetch_sec_edgar.py

bash
# By CIK
python3 SKILL_DIR/scripts/fetch_sec_edgar.py --cik 0000320193 \
    --types 10-K,10-Q --out data/edgar_filings.csv

# By company name (resolves to CIK first via name search)
python3 SKILL_DIR/scripts/fetch_sec_edgar.py --company "APPLE INC" \
    --types 8-K --since 2024-01-01 --out data/edgar_filings.csv

Set SEC_USER_AGENT env var with your contact email (SEC requirement). Example: SEC_USER_AGENT="Research [email protected]".

  • Public record under SEC Rule 24b-2 / 17 CFR § 230.401
  • No commercial use restrictions on filing content
  • SEC asks all bulk users to include a User-Agent with contact info and to respect 10 req/s — failure to do so can result in IP blocking

9. References