About EdgarTools
EdgarTools provides skills for analyzing SEC filings and financial statements. It covers company and filing discovery, statement metrics, form sections, fund filings, holdings, ownership transactions, and XBRL data.
Key features
- 01Look up companies and discover filings
- 02Analyze financial statements and metrics
- 03Extract sections from 10-K, 10-Q, and 8-K
- 04Explore fund filings and institutional holdings
- 05Review insider transactions
- 06Access XBRL facts and concepts
Use cases
- 01Find a company’s SEC filings
- 02Review financial metrics from statements
- 03Extract sections from company reports
- 04Analyze fund holdings or insider transactions
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ dgunning/ edgartools --skill edgartoolsAfter installing, type/edgartoolsin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
__init__.pyreadme.mdskill.yamlsharp-edges.yamlvalidations.yamlcollaboration.yamlDetails
From the project READMEEdgarTools
Analyze SEC filings and financial statements.
Skills
| Skill | Purpose |
|---|---|
| core (this directory) | Company lookup, filings, search |
| financials/ | Financial statements and metrics |
| reports/ | 10-K/10-Q/8-K section extraction |
| funds/ | Mutual funds, ETFs, NPORT/N-CEN/N-CSR |
| holdings/ | 13F institutional holdings |
| ownership/ | Form 3/4/5 insider transactions |
| xbrl/ | Low-level XBRL facts and concepts |
| forms.yaml | SEC form type mappings |
Each skill directory has skill.yaml (patterns and examples) and sharp-edges.yaml (common mistakes to avoid).
Quick Setup
from edgar import set_identity
set_identity("Your Name [email protected]") # Required
API Discovery
Every object has .docs for API reference:
company.docs # Full API guide
company.docs.search("filings") # Search for specific topic
filing.docs.search("xbrl") # How to access XBRL
Common Entry Points
from edgar import Company, get_filings, find
company = Company("AAPL") # By ticker
filing = find("0000320193-25-000079") # By accession
filings = get_filings(form="10-K", year=2024) # Discovery
Comments
Markdown supported