Skip to content

Analyst Ratings API

Retrieve Wall Street analyst ratings, price targets, and recommendation changes. Get consensus ratings and track upgrades/downgrades.

GET /v2/analyst-ratings/{symbol}

Authenticate using one of the following methods (in order of recommendation):

MethodExample
Bearer token (recommended)Authorization: Bearer YOUR_API_KEY
X-API-Key headerX-API-Key: YOUR_API_KEY
Query parameter?apiKey=YOUR_API_KEY
Legacy query parameter?token=YOUR_API_KEY
ParameterTypeRequiredDescription
symbolstringYesStock ticker symbol (e.g., AAPL, MSFT)
ParameterTypeRequiredDescription
startDatestringNoStart date (YYYY-MM-DD)
endDatestringNoEnd date (YYYY-MM-DD)
limitintegerNoMaximum number of results to return
from finbrain import FinBrainClient
fb = FinBrainClient(api_key="YOUR_API_KEY")
df = fb.analyst_ratings.ticker("AAPL",
date_from="2025-01-01",
date_to="2025-06-30",
as_dataframe=True)
print(df)
{
"success": true,
"data": {
"symbol": "AAPL",
"name": "Apple Inc.",
"ratings": [
{
"date": "2026-01-09",
"institution": "Evercore ISI",
"action": "Reiterated",
"rating": "Outperform",
"targetPrice": "$275"
},
{
"date": "2026-01-02",
"institution": "Raymond James",
"action": "Resumed",
"rating": "Mkt Perform",
"targetPrice": null
}
]
},
"meta": { "timestamp": "2026-01-19T15:06:13.918Z" }
}
FieldTypeDescription
successbooleanWhether the request succeeded
data.symbolstringStock ticker symbol
data.namestringCompany name
data.ratingsarrayArray of analyst ratings
meta.timestampstringResponse timestamp (ISO 8601)
FieldTypeDescription
datestringRating date (YYYY-MM-DD)
institutionstringResearch firm name
actionstringType of action (Reiterated, Resumed, Upgrade, Downgrade, Initiated)
ratingstringAnalyst rating (Outperform, Mkt Perform, Buy, Sell, Hold, etc.)
targetPricestring or nullPrice target (e.g., “$275”) or null if not provided
RatingSignal
Strong BuyVery Bullish
Buy / OutperformBullish
Hold / Neutral / Mkt PerformNeutral
UnderperformBearish
SellVery Bearish
CodeErrorDescription
400Bad RequestInvalid symbol or parameters
401UnauthorizedInvalid or missing API key
403ForbiddenAuthenticated, but not authorized to access this resource
404Not FoundSymbol not found
429Too Many RequestsRate limit exceeded — wait and retry
500Internal Server ErrorServer-side error