@pipeworx/sec
Connect: https://gateway.pipeworx.io/sec/mcp · Install: one-click buttons
Tools: 3
SEC EDGAR company lookup, filing lists, and XBRL financial facts for US public companies — keyless, straight from the SEC’s own APIs.
Tools
search_companies(query)— full-text company search over EDGAR; returns matching entities with CIKs.get_company_filings(cik, form_type?)— recent filings (10-K, 10-Q, 8-K, …) for a company by CIK, ticker, or name.get_company_facts(cik)— annual financial snapshot from XBRL companyfacts.latest_annualgives revenue, net income, operating income, gross profit, assets, liabilities, equity, cash, EPS and shares for the most recent fiscal year, each resolved to whichever us-gaap concept the filer currently reports under.key_financialshas the per-concept detail, current concepts first; concepts the filer has retired are kept (a historical series still needs them) but flaggedstale: truewith astale_notenaming the replacement.
Not-found is a message, not a status code: a CIK EDGAR has never issued says so and points at edgar_ticker_to_cik; a CIK that exists but files no XBRL (funds, trusts, individuals) is named and pointed at get_company_filings; a ticker or name that resolves to nothing says what a valid one looks like. EDGAR covers US-registered filers only — foreign listings (603986.SS, NESN) are absent unless the company also files in the US.
Auth
Keyless. The SEC requires a descriptive User-Agent on every request; the pack sends one.
Data sources
- https://efts.sec.gov/LATEST/search-index — full-text company search.
- https://data.sec.gov/submissions/CIK##########.json — filing history.
- https://data.sec.gov/api/xbrl/companyfacts/CIK##########.json — XBRL facts.
Three traps in companyfacts, all handled in shared/src/xbrl.ts (fleet #594, 2026-08-28):
fyis the fiscal year of the FILING, not the period. A 10-K carries prior years as comparatives, all stamped with the filing’sfy. Amazon’s FY2020 net income showsfy=2022because the FY2022 10-K restated it. The pack derivesyearfromperiod_endand never sorts byfy.framesits on the LAST-FILED fact for a period. Since proxies (DEF 14A) started carrying XBRL, a filer’s recent annual frames can all live on the proxy, so “10-K with a frame” silently stops years early. The pack ignoresframeand picks the latestperiod_endamong annual-report forms, tie-broken by latestfiled(a restated figure wins).- Retired concepts look current per-concept. Microsoft’s
Revenuesstops at FY2010 (ASC 606 moved it toRevenueFromContractWithCustomerExcludingAssessedTax). Every figure carries its fiscal year, stale concepts are flagged and sorted last, andlatest_annualalways leads with the concept the filer uses now.
Tools
- search_companies — Search SEC EDGAR for companies by name or ticker symbol. Returns matching company names and their CIK numbers, which are needed for other SEC tools.
- get_company_filings — Get recent SEC filings for a company by CIK number, ticker, or company name. Returns filing dates, form types, and accession numbers. Optionally filter by form type (e.g., “10-K”, “10-Q”, “8-K”).
- get_company_facts — Get XBRL financial facts for a company by CIK number, ticker, or company name. Returns latest_annual — revenue, net income, operating income, total assets, liabilities, equity, cash, EPS and shares fo
Tools
-
get_company_facts— Get XBRL financial facts for a company by CIK number, ticker, or company name. Returns latest_annual — revenue, net income, operating income, total assets, liabilities, equity, cash, EPS and shares fo -
get_company_filings— Get recent SEC filings for a company by CIK number, ticker, or company name. Returns filing dates, form types, and accession numbers. Optionally filter by form type (e.g., 10-K , 10-Q , 8-K ). -
search_companies— Search SEC EDGAR for companies by name or ticker symbol. Returns matching company names and their CIK numbers, which are needed for other SEC tools.