sec-company-financials
Skill0 starsChanged 37 days agoMITView on GitHub
Reads a US public company's reported financials (revenue, net income, assets, cash flow, EPS) from the SEC's free XBRL company concept API, with no login, no API key and no account. Use when the user asks for a named company's annual or quarterly figures, wants a number traced to the filing it came from, or wants to compare one metric across a few companies. Works from a ticker or CIK number. Not for stock prices, forecasts, foreign filers that report in IFRS, or lists of thousands of companies.
In this repository36 other files it gives its agents.
- sec-13f-holdingsSkill
- airport-reference-dataSkill
- ai-web-scraperSkill
- background-remover-localSkill
- bulk-image-downloaderSkill
- city-building-permitsSkill
- cve-kev-epssSkill
- doaj-open-access-apiSkill
- document-to-markdownSkill
- eu-funding-callsSkill
- ecb-exchange-ratesSkill
- federal-register-rulesSkill
- french-company-searchSkill
- gleif-lei-change-watchSkill
- image-metadata-exifSkill
- lighthouse-auditSkill
- nfl-games-lookupSkill
- openfda-drug-recallsSkill
- football-fixtures-lookupSkill
- oracle-recruiting-jobsSkill
- pdf-text-extractorSkill
- arxiv-preprint-metadataSkill
- public-holidays-lookupSkill
- pubmed-paper-metadataSkill
- raised-and-hiring-signalsSkill
- recruitee-jobsSkill
- remote-job-feedsSkill
- sec-8k-eventsSkill
- sec-edgar-filings-lookupSkill
- seo-audit-toolSkill
- teamtailor-jobsSkill
- treasury-fiscal-dataSkill
- uk-companies-house-lookupSkill
- uk-visa-sponsor-registerSkill
- us-state-business-entity-searchSkill
- video-scene-keyframesSkill
The file
We split this skill into the rules it gives an agent
1 rule. About 0 are common, 1 is distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 59
Run on 2026-10-04 for Apple (CIK 0000320193), net income, last three annual facts:
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
SEC company financials
Reads figures that US public companies file with the SEC in their 10-K and 10-Q reports. The SEC publishes them as JSON for anyone, with no credentials.
Author: Don Mangu (GitHub). This skill needs no token and calls only the SEC's public endpoints. For many companies at once, the author also runs a paid hosted version on the Apify Store: SEC Company Financials API (disclosure: the author owns it). You never need it for the steps below.
Example prompts
- "What was Apple's net income for the last three fiscal years, and which filing reports it?"
- "Compare total assets of Microsoft and Alphabet at their latest year end."
- "Did Tesla's operating cash flow grow last quarter?"
Out of scope: share prices, analyst estimates, and "every company with revenue above $1 billion". Use a hosted dataset for lists. Names of executives and insiders are out of scope too, because this skill reads company figures only.
Step 1: find the CIK
The SEC identifies a company by its CIK, a number of up to 10 digits. Pad it with zeros to 10 digits in the URL. Apple is 0000320193. If the user gives only a ticker or name and you do not know the CIK, ask for it or look it up in the SEC company search at sec.gov. Do not guess a CIK.
Step 2: read one metric
Send one request at a time, at most one per second, with a User-Agent that names your tool and a way to reach you, as the SEC asks. Use your own project name and contact, for example my-research-tool (contact: you@yourdomain.com).
curl -s -A "my-research-tool (contact: you@yourdomain.com)" \
"https://data.sec.gov/api/xbrl/companyconcept/CIK0000320193/us-gaap/NetIncomeLoss.json" \
| jq -c '[.units.USD[] | select(.frame != null and (.frame|test("^CY[0-9]{4}$"))) | {frame,start,end,val,accn,filed}] | .[-3:]'The tag is the last part of the URL. Common tags:
| Figure | Tag |
| Revenue | RevenueFromContractWithCustomerExcludingAssessedTax (older years: SalesRevenueNet, or Revenues for some banks) |
| Net income | NetIncomeLoss |
| Diluted EPS | EarningsPerShareDiluted (unit USD/shares) |
| Total assets | Assets (a point in time, no start) |
| Total liabilities | Liabilities |
| Stockholders' equity | StockholdersEquity |
| Operating cash flow | NetCashProvidedByUsedInOperatingActivities |
A 404 means the company never reported that tag. Try the next tag in the table, and do not retry the same one. A 403 or 429 means stop and tell the user.
Step 3: answer from the fields
Each fact has start and end (the period), val (US dollars, not thousands), form (10-K or 10-Q), filed (filing date) and accn (accession number). The frame value CY2024 marks the one fact the SEC picked for that period, which removes duplicates when later filings repeat an old year. For a quarter use durations of about 90 days; a three-month figure may be missing and be only in the year-to-date total.
Real example
Run on 2026-10-04 for Apple (CIK 0000320193), net income, last three annual facts:
[{"frame":"CY2023","start":"2022-09-25","end":"2023-09-30","val":96995000000,"accn":"0000320193-25-000079","filed":"2025-10-31"},
{"frame":"CY2024","start":"2023-10-01","end":"2024-09-28","val":93736000000,"accn":"0000320193-25-000079","filed":"2025-10-31"},
{"frame":"CY2025","start":"2024-09-29","end":"2025-09-27","val":112010000000,"accn":"0000320193-25-000079","filed":"2025-10-31"}]Apple's fiscal year ends in late September, so the SEC frame CY2024 is the fiscal year ending 2024-09-28, which Apple calls fiscal 2024. Net income was $93.7 billion that year and $112.0 billion in fiscal 2025. The filed date is the latest filing that repeats the figure, here the fiscal 2025 report. The first report of fiscal 2024 was filed 2024-11-01.
Rules
- Public SEC endpoints only. No login, no cookies, no attempts around blocks.
- One request per second, one at a time. The SEC allows up to 10 per second, so there is margin.
- Company figures only. This skill does not read or list names of people.
- Report the filing date and accession number with every figure, and say when a value was missing.
- Say what you could not check: a missing tag, a foreign filer, or a period with no filing yet.
Limits
One company and one metric per request. Companies that report in IFRS (forms 20-F and 40-F) have no us-gaap facts. Figures are what each company tagged, so banks and insurers may use different tags, and a restated year shows the filing that last repeated it.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

