Analyst Recommendations
Obtain how many analysts recommend each company as a strong buy, buy, hold, sell or strong sell, per month. Next to the counts come the number of analysts, the share of them recommending a (strong) buy and the mean recommendation on the conventional scale from 1 (strong buy) to 5 (strong sell), as used by I/B/E/S and Zacks. A falling mean recommendation means analysts are turning more positive; changes in consensus recommendations predict returns (Jegadeesh, Kim, Krische and Lee, 2004).
Automatically filtered to this Toolkit instance’s start_date and end_date.
Also known as: analyst consensus, buy/hold/sell ratings, recommendation trends.
Analyst Recommendations in Python or via the MCP
Install the Finance Toolkit with:
pip install financetoolkit -U
Then call get_analyst_recommendations as shown below.
from financetoolkit import Toolkit
toolkit = Toolkit(
["AAPL", "NVDA"],
api_key="FINANCIAL_MODELING_PREP_KEY",
start_date="2025-07-01",
end_date="2025-12-31",
)
toolkit.get_analyst_recommendations()
Or, after setting up the Finance Toolkit MCP, ask:
How did analysts' buy, hold and sell recommendations for Apple and Nvidia develop each month in the second half of 2025?
Which returns:
| Strong Buy | Buy | Hold | Sell | Strong Sell | Analysts | Buy Share | Mean Recommendation | |
|---|---|---|---|---|---|---|---|---|
| (‘AAPL’, ‘2025-07-01’) | 6 | 23 | 18 | 2 | 1 | 50 | 0.58 | 2.38 |
| (‘AAPL’, ‘2025-08-01’) | 5 | 23 | 15 | 1 | 1 | 45 | 0.6222 | 2.3333 |
| (‘AAPL’, ‘2025-09-01’) | 5 | 23 | 15 | 1 | 3 | 47 | 0.5957 | 2.4468 |
| (‘AAPL’, ‘2025-10-01’) | 6 | 24 | 15 | 2 | 3 | 50 | 0.6 | 2.44 |
| (‘AAPL’, ‘2025-11-01’) | 5 | 24 | 15 | 1 | 3 | 48 | 0.6042 | 2.4375 |
| (‘AAPL’, ‘2025-12-01’) | 5 | 24 | 15 | 1 | 3 | 48 | 0.6042 | 2.4375 |
| (‘NVDA’, ‘2025-07-01’) | 12 | 49 | 7 | 1 | 0 | 69 | 0.8841 | 1.9565 |
| (‘NVDA’, ‘2025-08-01’) | 11 | 49 | 6 | 1 | 1 | 68 | 0.8824 | 2 |
| (‘NVDA’, ‘2025-09-01’) | 11 | 48 | 6 | 1 | 0 | 66 | 0.8939 | 1.9545 |
| (‘NVDA’, ‘2025-10-01’) | 11 | 49 | 5 | 1 | 0 | 66 | 0.9091 | 1.9394 |
| (‘NVDA’, ‘2025-11-01’) | 11 | 50 | 4 | 1 | 0 | 66 | 0.9242 | 1.9242 |
| (‘NVDA’, ‘2025-12-01’) | 11 | 49 | 3 | 1 | 0 | 64 | 0.9375 | 1.9062 |
Parameters
get_analyst_recommendations accepts the following parameters.
| Parameter | Type | Description | Example |
|---|---|---|---|
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 |
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. | None, which keeps every column |