Cash Flow Statement API

The Cash Flow Statement API returns the cash that moved through one company in each reporting period. A cash flow statement records cash received and cash spent, split into operating, investing, and financing activities. Each statement comes from the official filing: the 10-K or 10-Q in the US, or the local equivalent in other markets. Annual and quarterly periods are available. The API normalizes every statement into more than 50 line items, among them operating cash flow, capital expenditures, free cash flow, dividends paid, and share repurchases. One consistent schema makes cash generation comparable across markets and years.

Cash flow data arrives with the filing. An earnings press release or earnings call adds no data. Values stay in the reporting currency of the company, which the currency field identifies. For a cross-listed ticker or an ADR, that currency can differ from the trading currency.

GET/v3.0.0/fundamental/cash-flow/{identifier}

Plan Access

Free

(Your plan)

Individual

$29/mo

Professional

$89/mo

Plan History

Free

(Your plan)

2 years, annual only

Individual

$29/mo

5 years · 20 quarters

Professional

$89/mo

All available

Request
curl "https://api.roic.ai/v3.0.0/fundamental/cash-flow/NASDAQ:AAPL?apikey=YOUR_API_KEY&period_type=annual&fiscal_year.gte=2025&fiscal_year.lte=2025"
Response
200 OK
{
  "data": [
    {
      "id": "fnd_N7wh3Ukmc6CRKm",
      "symbol": "NASDAQ:AAPL",
      "period_type": "annual",
      "period_end_date": "2025-09-30",
      "fiscal_year": 2025,
      "period_label": "FY",
      "currency": "USD",
      "price_currency": "USD",
      "fx_applied": false,
      "object": "v3.fundamentals.cash_flow_statement",
      "cf_net_inc": 112010000000,
      "cf_depr_amort": 11698000000,
      "cf_non_cash_items_detailed": 12774000000,
      "cf_stock_based_compensation": 12863000000,
      "cf_def_inc_tax": null,
      "cf_asset_impairment_charge": null,
      "cf_other_non_cash_adj_less_detailed": -89000000,
      "cf_chng_non_cash_work_cap": -25000000000,
      "cf_acct_rcv_unbilled_rev": -7029000000,
      "cf_change_in_inventories": 1400000000,
      "cf_change_in_prepaid_assets": null,
      "cf_change_in_accounts_payable": 902000000,
      "cf_inc_dec_in_ot_op_ast_liab_detail": -20273000000,
      "cf_net_cash_discont_ops_oper": null,
      "cf_cash_from_oper": 111482000000,
      "cf_chg_in_fxd_and_intang_ast_detailed": null,
      "cf_disp_fxd_and_intangibles_detailed": null,
      "cf_disposal_of_fixed_prod_assets": null,
      "cf_disposal_of_intangible_assets": null,
      "cf_acquis_fxd_and_intang_detailed": -12715000000,
      "cf_purchase_of_fixed_prod_assets": -12715000000,
      "cf_acquisition_of_intang_assets": null,
      "cf_net_chg_in_lt_invest_detailed": 29390000000,
      "cf_decr_invest": 53797000000,
      "cf_incr_invest": -24407000000,
      "cf_nt_csh_rcvd_pd_for_acquis_div": null,
      "cf_cash_for_divestitures": null,
      "cf_cash_for_acquis_subsidiaries": null,
      "cf_cash_for_joint_ventures_assoc": null,
      "cf_other_investing_act_detailed": -1480000000,
      "cf_net_cash_discontinued_ops_inv": null,
      "cf_cash_from_inv_act": 15195000000,
      "cf_dvd_paid": -15421000000,
      "cf_nt_csh_proc_pymt_debt": -6451000000,
      "cf_proc_debt_and_capital_lease": 4481000000,
      "cf_pymt_debt_and_capital_lease": -10932000000,
      "cf_proc_fr_repurch_eqty_detailed": -90711000000,
      "cf_incr_cap_stock": null,
      "cf_decr_cap_stock": -90711000000,
      "cf_other_financing_act_excl_fx": -8103000000,
      "cf_net_cash_discontinued_ops_fin": null,
      "cf_cash_from_fin_act": -120686000000,
      "cf_effect_foreign_exchanges": null,
      "cf_net_chng_cash": 5991000000,
      "cf_cap_expenditures": -12715000000,
      "ebitda": 144748000000,
      "ebitda_margin": 34.78173110887373,
      "cf_net_cash_paid_for_aquis": null,
      "cf_free_cash_flow": 98767000000,
      "cf_free_cash_flow_firm": 98767000000,
      "free_cash_flow_equity": 92316000000,
      "free_cash_flow_per_sh": 6.607151219185871,
      "pr_to_free_cash_flow": 38.68342662134114,
      "cash_flow_to_net_inc": 0.995286135166503
    }
  ],
  "next_page_url": null,
  "previous_page_url": null
}

Coverage

The API holds cash-flow history for more than 92,000 tickers across US and international exchanges.

The median ticker has 19 annual and 31 quarterly cash flow statements. The average ticker has 19 annual and 45 quarterly statements. Quarterly history is shorter than income-statement history, because some markets require a cash flow statement only in the annual or half-year report.

The two tables below break the coverage down by region and by company size.

Coverage by region

The first table groups the listed tickers by home region. The region of a ticker comes from the country of the company, not from its exchange.

RegionListed tickersCoveredCoverage
US & Canada35,59432,39291.0%
Europe24,27421,36088.0%
Asia / Pacific42,57034,78981.7%
Latin America3,0002,22474.1%
Africa / Middle East2,6411,90772.2%

Coverage by market-cap bucket

The second table groups the listed tickers by market cap in USD. Coverage rises with company size: 98.7% of tickers above $10 billion have data.

BucketListed tickersCoveredCoverage
≥ $10bn16,59316,37998.7%
$1–10bn19,24418,02393.7%
$100m–$1bn21,25818,71388.0%
< $100m30,85523,32275.6%

Parameters

Path parameters

identifierstringrequired

A ticker ID, an exchange and symbol separated by a colon (e.g. NASDAQ:AAPL), or a FIGI.

Examples: NASDAQ:AAPLtkr_cO46h8pgSu9QqyBBG000B9XRY4

Query parameters

period_typestringoptional

Financial period cadence.

Default: annualValues: annualquarterlyttm
period_labelstringoptional

Filter quarterly data to one fiscal quarter. Use this parameter only with period_type=quarterly.

Values: Q1Q2Q3Q4
datestringoptional

Pass a YYYY-MM-DD date directly for an exact period-end-date match. For a range, combine the modifiers below, for example, date.gte=2020-01-01&date.lt=2026-01-01.

+ Show filter modifiers
date.gtestring

Return statements whose period end date is on or after this date.

date.gtstring

Return statements whose period end date is strictly after this date.

date.ltestring

Return statements whose period end date is on or before this date.

date.ltstring

Return statements whose period end date is strictly before this date.

fiscal_yearobjectoptional

Filter by fiscal year. Combine the range modifiers below to select the reporting years you need.

+ Show filter modifiers
fiscal_year.gteinteger

Return statements for the specified fiscal year and all later fiscal years.

fiscal_year.gtinteger

Return statements only for fiscal years after the specified year.

fiscal_year.lteinteger

Return statements for the specified fiscal year and all earlier fiscal years.

fiscal_year.ltinteger

Return statements only for fiscal years before the specified year.

orderstringoptional

Sort by period end date (period_end_date).

Default: descValues: ascdesc
limitintegeroptional

Maximum number of resources to return.

Default: 50Min: 1Max: 100
pagestringoptional

Token to request the next page of data. Each response returns ready-made next_page_url and previous_page_url (null on the last and first page, respectively) that repeat your filters with this token. They are relative and carry no credentials: prefix the API host and pass apikey separately, or keep sending your Authorization header.

Response

Each normalized cash-flow line item is a top-level field on the period resource. Missing values are null.

Response fields

dataarray of objects

Array of cash-flow-statement resources for the current page.

+ Show child attributes
idstring

Unique identifier for the financial period record, beginning with fnd_. Store it as the stable reference to this period's figures.

symbolstring

Qualified symbol combining the exchange code and ticker separated by a colon, for example, NASDAQ:AAPL.

period_typestring

Cadence of the period: annual for full fiscal years, quarterly for fiscal quarters, or ttm for trailing-twelve-month aggregates.

period_end_datestring

Last calendar day of the financial period, in YYYY-MM-DD format.

fiscal_yearnumber

Fiscal year the period belongs to, for example, 2025. Fiscal years may not align with calendar years; Apple's fiscal 2025 ends in September 2025.

period_labelstring

Label of the period within the fiscal year: FY for annual periods, or Q1 through Q4 for quarters.

currencystring

ISO 4217 code of the currency the financial values are reported in, for example, USD.

price_currencystring

ISO 4217 code of the currency used for price-derived values such as price to free cash flow.

fx_appliedboolean

Whether financial values were converted from the company's reporting currency. false means the figures are as originally reported.

objectstring

String representing the object type, always v3.fundamentals.cash_flow_statement for this resource.

cf_net_incnumber

Net Income: The amount of profit or loss generated by a company during a specific period, after deducting all expenses and taxes.

cf_depr_amortnumber

Depreciation & Amortization: The combined amount of depreciation and amortization expenses recorded by a company during a specific period.

cf_non_cash_items_detailednumber

Non-Cash Items: The amount of adjustments made to net income to account for items that do not affect cash flow during a specific period.

cf_stock_based_compensationnumber

Stock-Based Compensation: The amount of expense recognized by a company for granting stock options or other equity awards to its employees or other service providers.

cf_def_inc_taxnumber

Deferred Income Taxes: The amount of change in deferred tax assets and liabilities during a specific period.

cf_asset_impairment_chargenumber

Asset Impairment Charge: The amount of expense recognized by a company for writing down the carrying value of an asset when its fair value is less than its book value.

cf_other_non_cash_adj_less_detailednumber

Other Non-Cash Adj: The amount of other adjustments made to net income to account for items that do not affect cash flow during a specific period.

cf_chng_non_cash_work_capnumber

Chg in Non-Cash Work Cap: The amount of change in non-cash working capital during a specific period.

cf_acct_rcv_unbilled_revnumber

(Inc) Dec in Accts Receiv: The amount of increase or decrease in accounts receivable during a specific period.

cf_change_in_inventoriesnumber

(Inc) Dec in Inventories: The amount of increase or decrease in inventories during a specific period.

cf_change_in_prepaid_assetsnumber

(Inc) Dec in Prepaid Assets: The amount of increase or decrease in prepaid assets during a specific period.

cf_change_in_accounts_payablenumber

Inc (Dec) in Accts Payable: The amount of increase or decrease in accounts payable during a specific period.

cf_inc_dec_in_ot_op_ast_liab_detailnumber

Inc (Dec) in Other: The amount of increase or decrease in other operating assets and liabilities during a specific period.

cf_net_cash_discont_ops_opernumber

Net Cash From Disc Ops: The amount of net cash generated or used by discontinued operations during a specific period.

cf_cash_from_opernumber

Cash from Operating Activities: The amount of net cash generated by a company’s normal business operations during a specific period.

cf_chg_in_fxd_and_intang_ast_detailednumber

Change in Fixed & Intang: The amount of change in fixed and intangible assets during a specific period.

cf_disp_fxd_and_intangibles_detailednumber

Disp in Fixed & Intang: The amount of cash inflows from the disposal of fixed and intangible assets during a specific period.

cf_disposal_of_fixed_prod_assetsnumber

Disp of Fixed Prod Assets: The amount of cash inflows from the disposal of fixed production assets during a specific period.

cf_disposal_of_intangible_assetsnumber

Disp of Intangible Assets: The amount of cash inflows from the disposal of intangible assets during a specific period.

cf_acquis_fxd_and_intang_detailednumber

Acq of Fixed & Intang: The amount of cash outflows for the acquisition of fixed and intangible assets during a specific period.

cf_purchase_of_fixed_prod_assetsnumber

Acq of Fixed Prod Assets: The amount of cash outflows for the acquisition of fixed production assets during a specific period.

cf_acquisition_of_intang_assetsnumber

Acq of Intangible Assets: The amount of cash outflows for the acquisition of intangible assets during a specific period.

cf_net_chg_in_lt_invest_detailednumber

Net Change in LT Investment: The amount of net change in long-term investments during a specific period.

cf_decr_investnumber

Dec in LT Investment: The amount of cash inflows from the decrease in long-term investments during a specific period.

cf_incr_investnumber

Inc in LT Investment: The amount of cash outflows for the increase in long-term investments during a specific period.

cf_nt_csh_rcvd_pd_for_acquis_divnumber

Net Cash From Acq & Div: The net amount of cash received or paid for acquisitions and divestitures of businesses or business units.

cf_cash_for_divestituresnumber

Cash from Divestitures: The amount of cash received from selling or disposing of a company’s assets or business units.

cf_cash_for_acquis_subsidiariesnumber

Cash for Acq of Subs: The amount of cash paid for acquiring subsidiaries or other businesses.

cf_cash_for_joint_ventures_assocnumber

Cash for JVs: The amount of cash paid or received for investing in joint ventures.

cf_other_investing_act_detailednumber

Other Investing Activities: The amount of cash inflows or outflows from other investing activities that are not separately disclosed in the cash flow statement.

cf_net_cash_discontinued_ops_invnumber

Net Cash From Disc Ops: The net amount of cash inflows or outflows from investing activities related to discontinued operations.

cf_cash_from_inv_actnumber

Cash from Investing Activities: The amount of cash generated or used by a company’s investing activities during a given period.

cf_dvd_paidnumber

Dividends Paid: The amount of cash paid by a company to its shareholders as a distribution of its profits.

cf_nt_csh_proc_pymt_debtnumber

Net Cash From Debt: The net amount of cash inflows or outflows from issuing or repaying debt.

cf_proc_debt_and_capital_leasenumber

Cash From Debt: The amount of cash proceeds from issuing debt.

cf_pymt_debt_and_capital_leasenumber

Repayments of Debt: The amount of cash payments for repaying debt.

cf_proc_fr_repurch_eqty_detailednumber

Cash (Repurchase) of Equity: The amount of cash paid by a company to reacquire its own equity shares from existing shareholders.

cf_incr_cap_stocknumber

Increase in Capital Stock: The amount of cash received by a company from issuing new equity shares to investors.

cf_decr_cap_stocknumber

Decrease in Capital Stock: The amount of cash paid by a company to retire or cancel its issued equity shares.

cf_other_financing_act_excl_fxnumber

Other Financing Activities: The amount of cash inflows or outflows from other financing activities that are not separately disclosed in the cash flow statement.

cf_net_cash_discontinued_ops_finnumber

Net Cash From Disc Ops: The net amount of cash inflows or outflows from financing activities related to discontinued operations.

cf_cash_from_fin_actnumber

Cash from Financing Activities: The amount of cash generated or used by a company’s financing activities during a given period.

cf_effect_foreign_exchangesnumber

Effect of Foreign Exchange Rates: The amount of adjustment to the cash and cash equivalents balance due to changes in exchange rates between different currencies.

cf_net_chng_cashnumber

Net Changes in Cash: The net amount of increase or decrease in cash and cash equivalents during a given period.

cf_cap_expendituresnumber

Capital Expenditures: Capital expenditures are the amount of money that a company spends on buying or upgrading physical assets, such as buildings, equipment, or machinery.

ebitdanumber

EBITDA: EBITDA stands for earnings before interest, taxes, depreciation, and amortization.

ebitda_marginnumber

EBITDA Margin (%): EBITDA Margin is a measure of how much profit a company makes from its core operations as a percentage of its revenue.

cf_net_cash_paid_for_aquisnumber

Net Cash Paid for Acquisitions: The amount of cash a company spends to buy another company or a significant stake in another company.

cf_free_cash_flownumber

Free Cash Flow: The cash that a company generates after accounting for cash outflows to support its operations and maintain its capital assets.

cf_free_cash_flow_firmnumber

Free Cash Flow to Firm: Free Cash Flow to Firm (FCFF) is the cash that a company makes from its main activities after paying for all its expenses and investments.

free_cash_flow_equitynumber

Free Cash Flow to Equity: Free cash flow to equity (FCFE) is a measure of how much money a company can pay to its shareholders after paying for its expenses, investments, and debts.

free_cash_flow_per_shnumber

Free Cash Flow per Basic Share: Free Cash Flow per Share is a way to measure how much cash a company generates for its shareholders after paying for its operations and investments.

pr_to_free_cash_flownumber

Price/Free Cash Flow: Price to Free Cash Flow is a way to measure how much a company’s share price is worth compared to its free cash flow.

cash_flow_to_net_incnumber

Cash Flow to Net Income: Cash Flow to Net Income is a way to measure how much cash a company generates from its operations relative to its net income.

next_page_urlnullable

URL of the next page of results, or null when there are no more pages. Request it unchanged to continue paging.

previous_page_urlnullable

URL of the previous page of results, or null on the first page.

Use cases

  • DCF and valuation models: Build discounted-cash-flow inputs from cf_free_cash_flow. The API computes it as cf_cash_from_oper plus cf_cap_expenditures, where capital expenditures carry a negative sign. The response also includes cf_free_cash_flow_firm and free_cash_flow_per_sh.
  • Earnings quality: Compare profit with cash. The cash_flow_to_net_inc field divides operating cash flow by net income. A value below 1 across many periods shows that reported profit does not turn into cash.
  • Capital returns: Track dividends and buybacks. cf_dvd_paid gives cash dividends, and cf_proc_fr_repurch_eqty_detailed gives net share repurchases. Both are outflows with a negative sign. Add them for Apple to get the total cash returned to shareholders.
  • AI agents: Connect an LLM to the roic.ai MCP server. The get_cash_flow tool returns the same normalized fields. For example, ask Claude how the free cash flow of Nvidia changed over five years. The agent answers with data from this endpoint.

FAQ

The API adds a period after the company files the official statement (10-Q, 10-K, or a local equivalent), usually within one to two days. The earnings press release and the earnings call add nothing, because the pipeline reads only the filing. For example, Nvidia posts a press release on the report date. The new cash flow statement enters the API when Nvidia files its 10-Q.

The values keep the currency of the filing. The currency field returns its ISO 4217 code. The trading currency of the ticker can differ. For example, the ADR of TSMC trades in USD on the NYSE, but TSMC reports in TWD. To get statements and prices in one currency, query the primary listing, TWSE:2330.

The API maps each filed statement into one schema, so the field names match across companies. Some fields are derived and do not appear in the filing. For example, cf_free_cash_flow comes from operating cash flow and capital expenditures. When a company amends a filing, the API stores the amended values. When fx_applied is false, the values contain no currency conversion.

The API keeps the latest reported version of each period. When a later filing changes a prior period, the record for that period takes the new values. There is no point-in-time archive of earlier versions. The calculated_at field shows when the record last changed.

The company did not report that line for the period. The reported detail differs by sector and market. JPMorgan, for example, files no separate capital-expenditure line, so cf_cap_expenditures is null. Section totals, such as cf_cash_from_oper and cf_net_chng_cash, have values for almost every covered company.

No. Each record is one consolidated statement for the whole company. For example, the API returns one capital-expenditure total for Tesla. It does not split that total by factory, product, or region.

Pair cash flow with income, balance-sheet, and yield-analysis data.