Analyst Grades
Obtain the grades analysts gave each company: per date and grading company the previous and the new grade, and whether the grade was upgraded, downgraded or maintained. Following how the grades change over time shows how sentiment among analysts develops, with upgrades and downgrades by well-followed firms often moving the share price.
Automatically filtered to this Toolkit instance’s start_date and end_date.
Also known as: analyst ratings, upgrades and downgrades, analyst grades.
Analyst Grades in Python
Install the Finance Toolkit with:
pip install financetoolkit -U
Then call get_stock_grades as shown below.
from financetoolkit import Toolkit
toolkit = Toolkit(["AAPL", "MSFT"], api_key="FINANCIAL_MODELING_PREP_KEY", start_date="2026-09-01")
toolkit.get_stock_grades().loc["AAPL"].tail()
Which returns:
| Previous Grade | New Grade | Action | |
|---|---|---|---|
| (Timestamp(‘2026-09-18 00:00:00’), ‘Evercore ISI Group’) | Outperform | Outperform | Maintain |
| (Timestamp(‘2026-09-23 00:00:00’), ‘B of A Securities’) | Buy | Buy | Maintain |
| (Timestamp(‘2026-09-29 00:00:00’), ‘Morgan Stanley’) | Overweight | Overweight | Maintain |
| (Timestamp(‘2026-10-01 00:00:00’), ‘Morgan Stanley’) | Overweight | Overweight | Maintain |
| (Timestamp(‘2026-10-01 00:00:00’), ‘Needham’) | Hold | Hold | Maintain |
Parameters
The function accepts the following parameters:
- overwrite (bool): Defines whether to overwrite the existing data.
- 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.