Stocks tool

PublicView as Markdown

stocks_get_cash_flow_statements

Normalized cash-flow statements for one US public company, newest first.

Description

Normalized cash-flow statements for one US public company, newest first.

Same response shape as stocks_get_income_statements and stocks_get_balance_sheets — the statements trio is interchangeable: data holds the company identity (ticker, cik, company_name, period_type, reporting_standard) and the bounded statements list — address the company by ticker or by SEC CIK, and ticker is its active symbol or null when it has none; reporting_standard is us-gaap, ifrs-full, or null when legacy rows have not observed the taxonomy yet. meta holds provenance (source: "sec_edgar_companyfacts", and as_of, the freshest line-level timestamp on this page); pagination holds the cursor paging state (pass pagination.next_cursor back as cursor).

Set as_reported=true to serve as-originally-reported values instead of the latest restated values, and keep it constant while paging. Before a company's next statement ingest this mode raises out_of_coverage. In both modes, meta.restatements lists restated reported lines with original and superseding accessions. Arithmetic-derived Q4, non-fiscal-year TTM, YTD-difference, and FCF lines carry null lineage; a TTM matching a reported fiscal year carries the annual accessions.

Each statement is one fiscal period with a lines object keyed by canonical line names: net_cash_operating, net_cash_investing, net_cash_financing, capex, depreciation_amortization, share_repurchases, dividends_paid, and the derived free_cash_flow (net_cash_operating − capex). A missing key means the company did not report that line for the period — never zero (a company with no capex has no free_cash_flow). Each value carries value (exact decimal as a JSON string), unit, currency, as_of, and the source filing's accession_number. currency is the as-filed reporting currency on every value; IFRS filers report in their home currency (EUR/TWD/JPY, etc.) and values are never silently converted to USD.

Known IFRS 20-F/FPI filers are annual-only: request period="annual". For them, period="quarterly" raises out_of_coverage; period="ttm" is valid for cash-flow statements but returns an empty list because IFRS statement mappers are annual-only.

For ratios and coverage multiples, prefer stocks_get_financial_metrics — computed server-side — over deriving them from these raw lines.

The default is 4 fiscal periods and the maximum is 12. Example: stocks_get_cash_flow_statements(ticker_or_cik="AAPL", period="annual", as_reported=true).

Errors carry a machine code: unknown_entity for a well-formed symbol we hold no mapping for or a CIK we hold no company for, out_of_coverage when as_reported is requested before the company's first vintage-era statement ingest or quarterly data is requested for a known IFRS filer, and bad_parameter for input the schema can't reject (a non-ticker, non-CIK string or a malformed cursor).

Parameters

Input schema advertised to MCP clients and mirrored by the REST query string.

NameTypeRequiredDefaultConstraintsDescription
ticker_or_cikstringYes——An exact ticker ('AAPL', 'BRK.B' — class separators accepted) or a numeric SEC CIK ('320193', zero-padded accepted). Use the CIK for a filer whose ticker was reused by another company, or that has no ticker at all. For a company *name*, call stocks_search_tickers first — this tool does not fuzzy-match.
period"annual" | "quarterly" | "ttm"No"annual"—Fiscal frame: 'annual' = full fiscal years (FY), 'quarterly' = fiscal quarters (Q1–Q4), 'ttm' = trailing twelve months (rolled up from quarters where available; returns no statements when none is computable, including IFRS filers). Known 20-F/FPI IFRS filers report annual statements only; quarterly requests raise `out_of_coverage`.
limitintegerNo4min 1, max 12Fiscal periods to return, newest first (1–12).
cursorstring | nullNonull—Opaque pagination cursor from a previous response's `pagination.next_cursor`; omit to start from the newest period.
as_reportedbooleanNofalse—Serve as-originally-reported values instead of latest restated values. Keep this constant while paging. Before the next statement ingest, this mode raises `out_of_coverage`. Reported restatements carry original and superseding accessions; arithmetic-derived Q4, non-fiscal-year TTM, YTD-difference, and FCF lines carry null lineage, while a TTM matching a reported fiscal year carries the annual accessions.

Provenance

Sources behind every value this tool returns.

Dataset registry: stocks_fundamentals