Price Targets
Obtain the analysts’ price targets of each company and the measures they are read with. A price target is the share price an analyst expects in about twelve months; the consensus target relative to today’s price shows how much upside analysts see, the range of the targets how much they disagree, and the change in the average target whether they have been raising or cutting their targets.
The rows are:
- Target Consensus, Target Median, Target High and Target Low: the current targets.
- Price: the latest traded share price (the quote).
- Upside: Target Consensus / Price − 1.
- Dispersion: (Target High − Target Low) / Target Consensus. Dispersion in analysts’ forecasts is a measure of disagreement, studied for earnings forecasts by Diether, Malloy and Scherbina (2002).
- Revision Momentum: Last Quarter Average / Last Year Average − 1, positive when the targets published over the last quarter are higher than those of the last year.
- Last Month, Last Quarter, Last Year and All Time Count and Average: the number of targets published in each window and their average.
The targets are today’s: they are not filtered to this Toolkit instance’s start_date and end_date. The targets as they were published over time come from get_price_target_history.
Also known as: analyst price target, consensus price target, target upside.
Price Targets in Python or via the MCP
Install the Finance Toolkit with:
pip install financetoolkit -U
Then call get_price_targets as shown below.
from financetoolkit import Toolkit
toolkit = Toolkit(
["AAPL", "NVDA", "MSFT"],
api_key="FINANCIAL_MODELING_PREP_KEY",
start_date="2025-01-01",
end_date="2025-12-31",
)
toolkit.get_price_targets()
Or, after setting up the Finance Toolkit MCP, ask:
What price targets do analysts have for Apple, Nvidia and Microsoft, and how much upside do they imply?
Which returns:
| AAPL | NVDA | MSFT | |
|---|---|---|---|
| Target Consensus | 344.46 | 339.17 | 611.74 |
| Target Median | 355 | 325 | 625 |
| Target High | 400 | 515 | 750 |
| Target Low | 245 | 210 | 440 |
| Price | 344.17 | 181.6 | 535.93 |
| Upside | 0.0008 | 0.8677 | 0.1415 |
| Dispersion | 0.45 | 0.8993 | 0.5068 |
| Revision Momentum | 0.0557 | 0.0891 | 0.0824 |
| Last Month Count | 12 | 0 | 20 |
| Last Month Average | 349.42 | nan | 643.95 |
| Last Quarter Count | 18 | 25 | 30 |
| Last Quarter Average | 348.65 | 332.32 | 629.23 |
| Last Year Count | 61 | 83 | 92 |
| Last Year Average | 330.27 | 305.12 | 581.32 |
| All Time Count | 275 | 343 | 299 |
| All Time Average | 239.2 | 152.9 | 466.96 |
Parameters
get_price_targets 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 tickers to keep in the result. Invalid names are reported and ignored. Defaults to None, which keeps every ticker. | None, which keeps every ticker |