get_fundamentals
Returns XBRL-tagged financial fundamentals from public-company 10-K and 10-Q filings, sourced from SEC EDGAR's company-facts API. Each record is one observation of one concept at one period end. Use this when the user asks about: revenue, profit, margins, cash position, debt, shareholder equity, EPS, share count, operating vs. financing cash flow, or any line-item-level financial state of a public company. v1A scope: a curated 40-concept watchlist covering: - income_statement: Revenues / RevenueFromContractWithCustomer / CostOfRevenue / GrossProfit / OperatingExpenses / R&D / SG&A / OperatingIncomeLoss / InterestExpense / IncomeTaxExpenseBenefit / NetIncomeLoss - balance_sheet: Assets / AssetsCurrent / Cash / AccountsReceivable / Inventory / PP&E / Goodwill / Liabilities / LongTermDebt / StockholdersEquity / CommonStockSharesOutstanding - cash_flow: NetCash{Operating/Investing/Financing}Activities / PaymentsToAcquirePPE (capex) / PaymentsForRepurchaseOfCommonStock / PaymentsOfDividends / DepreciationDepletionAndAmortization - metrics: EarningsPerShareBasic/Diluted, weighted-avg share counts - entity: EntityCommonStockSharesOutstanding (dei taxonomy) Key cautions on the data: - The same concept can appear in multiple units (e.g., 'USD' and 'USD/shares' for EPS). Filter by unit if you need a specific shape. - Many concepts have BOTH year-to-date cumulative observations AND quarterly-period observations on 10-Q filings. The frame field (e.g., 'CY2025Q3') marks the per-quarter point-period observation; rows with empty frame are typically cumulative YTD. - Older filings may use deprecated concept names; KeyVex catalog includes both modern and legacy names where companies migrated (e.g., Revenues AND RevenueFromContractWithCustomerExcludingAssessedTax). Set latest_only=true to get one record per (ticker × concept) — the most-recent observation. Useful for 'current state' snapshots. Pure-publisher posture: values are AS FILED. We do NOT compute derived ratios (P/E, ROE, ROIC), YoY/QoQ deltas, or 'real' vs nominal versions. Agents calculate those on top.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| form | No | Filter to one filing form. | |
| limit | No | Default 50, max 500. | |
| since | No | ISO date YYYY-MM-DD. Applied to sort_by field. | |
| until | No | ISO date YYYY-MM-DD. | |
| ticker | No | Stock symbol filter, e.g. 'AAPL'. Case-insensitive. | |
| concept | No | Exact XBRL tag name (e.g., 'NetIncomeLoss', 'Revenues', 'Assets', 'CashAndCashEquivalentsAtCarryingValue'). Case-sensitive. | |
| sort_by | No | Default period_end. | |
| category | No | Bucket filter when you don't know the exact concept name. | |
| sort_order | No | Default desc. | |
| company_cik | No | SEC CIK number. Alternative to ticker. | |
| fiscal_year | No | Filter to one fiscal year — the year the financials DESCRIBE (the company's own fiscal-year label, derived from the original filing), NOT the filing year. Handles non-December fiscal years: e.g. NVDA's year ending 2024-01-28 is fiscal_year 2024, Apple's ending 2024-09-28 is 2024. For point-in-time period filtering, period_end / since / until and frame are also available. | |
| latest_only | No | When true, return only the most-recent observation per (ticker × concept). Default false. | |
| fiscal_period | No | Filter to one fiscal period. |