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.
Share