optional-skills/research/osint-investigation/references/sources/sec-edgar.md
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).
https://data.sec.gov/submissions/CIK<10-digit-padded>.json (no auth)https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=...https://efts.sec.gov/LATEST/search-index?q=...User-Agent header with contact info per SEC policyKey fields emitted by fetch_sec_edgar.py (filings index):
| Column | Type | Description |
|---|---|---|
cik | str | Central Index Key (10-digit padded) |
company_name | str | Registrant name |
form_type | str | 10-K, 10-Q, 8-K, etc. |
filing_date | str | YYYY-MM-DD |
accession_number | str | Filing accession (e.g. 0000320193-24-000123) |
primary_document | str | Filename of main document |
filing_url | str | Direct URL to filing index |
reporting_period | str | Period of report (where applicable) |
company_name (public companies as federal contractors)company_name (public companies hire lobbyists)company_name (sanctions screening of public registrants)Join key: company name OR CIK if you have it. CIK is canonical and stable.
web_extract-style
parsing, not structured queriesPath: scripts/fetch_sec_edgar.py
# 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]".
User-Agent with contact info and to
respect 10 req/s — failure to do so can result in IP blocking