Cash Flow Statements
Retrieves the cash flow statement data for the specified tickers. The cash flow statement is a financial statement that shows how changes in balance sheet accounts and income affect cash and cash equivalents. It breaks the analysis down to operating, investing and financing activities.
The cash flow statement is a financial statement that shows how changes in balance sheet accounts and income affect cash and cash equivalents. Therefore, trailing results are available for this statement. A trailing result sums each cash flow over the window, while Cash Beginning of Period is the cash at the beginning of the first period of the window and Cash End of Period the cash at the end of the last one.
With convert_currency, the cash flows are converted to the currency of the historical data at the average exchange rate of each period (IAS 7.25), Cash End of Period at the closing rate of the period and Cash Beginning of Period at the closing rate of the period before, so it equals the Cash End of Period before it. Net Change in Cash is the change in the converted cash and Forex Changes on Cash holds the effect of the exchange rate changes on the cash held (IAS 7.28).
Also known as: operating cash flow, investing activities, financing activities.
Cash Flow Statements in Python or via the MCP
Install the Finance Toolkit with:
pip install financetoolkit -U
Then call get_cash_flow_statement as shown below.
from financetoolkit import Toolkit
toolkit = Toolkit(
["CVX"],
api_key="FINANCIAL_MODELING_PREP_KEY",
start_date="2021-01-01",
end_date="2025-12-31",
)
toolkit.get_cash_flow_statement(
show_columns=["Operating Cash Flow", "Capital Expenditure", "Free Cash Flow", "Dividends Paid"]
)
Or, after setting up the Finance Toolkit MCP, ask:
How did Chevron's operating cash flow, capital expenditure, free cash flow and dividends paid develop from 2021 to 2025?
Which returns:
| 2021 | 2022 | 2023 | 2024 | 2025 | |
|---|---|---|---|---|---|
| Operating Cash Flow | 2.9187e+10 | 4.9602e+10 | 3.5609e+10 | 3.1492e+10 | 3.3939e+10 |
| Capital Expenditure | -8.1e+09 | -1.1974e+10 | -1.5829e+10 | -1.6448e+10 | -1.7347e+10 |
| Free Cash Flow | 2.1087e+10 | 3.7628e+10 | 1.978e+10 | 1.5044e+10 | 1.6592e+10 |
| Dividends Paid | -1.0179e+10 | -1.0968e+10 | -1.1336e+10 | -1.18e+10 | -1.2751e+10 |
Parameters
get_cash_flow_statement accepts the following parameters.
| Parameter | Type | Description | Example |
|---|---|---|---|
enforce_source | str | None | Forces this specific call to use a given source, either “FinancialModelingPrep” or “YahooFinance”. This takes precedence over the source set on the Toolkit itself, so one instance can pull historical data from the free Yahoo Finance source while still using a FinancialModelingPrep key for the financial statements (or the other way around). Defaults to None, which falls back to the Toolkit’s own enforce_source. | "YahooFinance" |
overwrite | bool | Defines whether to overwrite the existing data. Defaults to False. | True |
rounding | int | Defines the number of decimal places to round the data to. Defaults to None, which uses the rounding of the Toolkit (4 unless set otherwise). | 2 |
growth | bool | Defines whether to return the growth of the data. Defaults to False. | True |
lag | int | list[int] | Defines the number of periods to lag the growth data by. Defaults to 1. | 4 |
trailing | int | Defines whether to select a trailing period. E.g. when selecting 4 with quarterly data, the TTM is calculated. Defaults to None, which uses no trailing window. | 4 |
compound | bool | Defines whether the growth is the compound annual growth rate over the lag (e.g. lag=5, or lag=20 with quarterly data, for the five-year CAGR) instead of the total change. Defaults to False. | False |
show_columns | list[str] | None | A list of column names to keep in the result. Invalid names are reported and ignored. Defaults to None, which keeps every column. | ["Cash Flow from Operations", "Cash Flow from Investing"] |