Retrieves the income statement data for the specified tickers. The income statement is a financial statement that shows a company’s revenues and expenses over a specific period. It is used to calculate a company’s net income.

The income statement is a financial statement that shows a company’s revenues and expenses over a specific period. Therefore, trailing results are available for this statement. A trailing result sums each item over the window, except the Weighted Average Shares, Weighted Average Shares Diluted and Tax Rate for Calcs rows, which keep the value of the latest period.

With convert_currency, the statement is converted to the currency of the historical data at the average exchange rate of each period, as IAS 21.39-40 does for income and expenses. EPS and EPS Diluted are converted as well; share counts and ratios are not.

Also known as: profit and loss, revenue, net income, earnings, P&L statement.

Income Statements in Python or via the MCP

Install the Finance Toolkit with:

pip install financetoolkit -U

Then call get_income_statement as shown below.

from financetoolkit import Toolkit

toolkit = Toolkit(
    ["NKE"],
    api_key="FINANCIAL_MODELING_PREP_KEY",
    start_date="2021-01-01",
    end_date="2025-12-31",
)

toolkit.get_income_statement(show_columns=["Revenue", "Net Income"])

Or, after setting up the Finance Toolkit MCP, ask:

How did Nike's revenue and net income develop from fiscal 2021 to 2025?

Which returns:

  2021 2022 2023 2024 2025
Revenue 4.671e+10 5.1217e+10 5.1362e+10 4.6309e+10 4.6398e+10
Net Income 6.046e+09 5.07e+09 5.7e+09 3.219e+09 3.108e+09

Parameters

get_income_statement accepts the following parameters.

ParameterTypeDescriptionExample
enforce_sourcestr | NoneForces 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"
overwriteboolDefines whether to overwrite the existing data. Defaults to False.True
roundingintDefines 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
growthboolDefines whether to return the growth of the data. Defaults to False.True
lagint | list[int]Defines the number of periods to lag the growth data by. Defaults to 1.4
trailingintDefines 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
compoundboolDefines 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_columnslist[str] | NoneA list of column names to keep in the result. Invalid names are reported and ignored. Defaults to None, which keeps every column.["Revenue", "Operating Income"]
Share