A small local Streamlit dashboard that turns a company name or ticker into a source-linked segment-revenue breakdown from its latest structured SEC Form 10-K.
The chart and exact-value table use the same parsed data. A reconciliation table compares the displayed segment sum with reported consolidated revenue and preserves any difference instead of inventing a balancing value.
Requirements: Python 3.11 (recommended; 3.12 also works) and Poetry.
poetry install
$env:SEC_USER_AGENT="Your Name your.email@example.com"
poetry run streamlit run app.pyThe SEC requires automated requests to declare a user agent identifying the requester and contact email. Keep requests below the SEC's published fair-access limit; this app uses sequential requests, retries, and caching.
- Company-name or ticker lookup through the SEC ticker directory.
- The latest structured U.S. Form 10-K.
- Up to three annual periods of reportable-segment revenue.
- Two independently selectable percentage pie charts for comparing fiscal years.
- Exact filing units, consolidated-revenue reconciliation, and direct SEC links.
Try MSFT, AMZN, or GOOGL.
- Companies that report only one segment do not produce a breakdown.
- The app does not estimate missing data or scrape narrative/PDF tables.
- Product, geographic, unearned-revenue, goodwill, and asset tables are deliberately excluded.
- Form 20-F, Form 40-F, quarterly filings, deployment, authentication, and persistent storage are outside this first version.
poetry run python -m unittest -vThe original Microsoft notebook remains under notebooks/ as historical prototype work; its segment figures are mock data and are not used by the dashboard.