Consensus Ratings
Retrieve consensus analyst ratings and aggregated investment recommendations for stocks.
GET/3.0/research/consensus
Description
This endpoint returns aggregated consensus analyst ratings by analyzing all available analyst price targets and recommendations for a stock. It provides a consolidated view of market sentiment including buy/hold/sell count, average price target, and consensus action.
Request
Authentication
- Type: Bearer Token
- Required: Yes
Parameters
| Name | Type | Required | Description | Example |
|---|---|---|---|---|
symbol | string | Yes | Stock symbol to retrieve consensus ratings for | UBL |
period | string | No | Analysis period (1M, 3M, 6M, 1Y, all). Default: all | 6M |
Response
Success Response (200)
{
"status": "ok",
"message": "",
"data": {
"symbol": "UBL",
"name": "United Bank Limited",
"sector_code": "BANK",
"sector_name": "Commercial Banks",
"as_of_date": "2024-12-09T15:30:00+05:00",
"consensus": {
"action": "Buy",
"confidence": 85,
"rating_distribution": {
"buy": 9,
"hold": 2,
"sell": 0,
"total": 11
}
},
"price_target": {
"average": 465.45,
"median": 450.00,
"high": 520.00,
"low": 420.00,
"range": "420-520",
"period": "2025-06-30"
},
"earnings": {
"eps_estimate": 25.50,
"eps_previous": 23.20,
"eps_growth": 9.91,
"period": "2024-12-31"
},
"valuation": {
"current_price": 410.00,
"pe_current": 16.08,
"pe_target": 18.17,
"forward_pe": 12.50,
"upside_downside": 13.40
},
"dividend": {
"dps_estimate": 15.00,
"dps_previous": 12.50,
"yield_estimate": 3.66,
"period": "2025-12-31"
},
"recommendation_summary": [
{
"analyst": "Ahmed Hassan Khan",
"company": "Capital Stake",
"action": "Buy",
"target": 450.00,
"date": "2024-12-08T10:30:00+05:00"
},
{
"analyst": "Bilal Shahid",
"company": "Capital Stake",
"action": "Buy",
"target": 480.00,
"date": "2024-12-07T14:15:00+05:00"
},
{
"analyst": "Fatima Malik",
"company": "Capital Stake",
"action": "Hold",
"target": 440.00,
"date": "2024-12-05T11:45:00+05:00"
},
{
"analyst": "Maria Saeed",
"company": "Arif Habib Securities",
"action": "Buy",
"target": 520.00,
"date": "2024-11-30T09:00:00+05:00"
},
{
"analyst": "Usama Khan",
"company": "JS Global Capital",
"action": "Buy",
"target": 470.00,
"date": "2024-11-25T13:30:00+05:00"
}
]
}
}
Response Fields
| Field | Type | Description |
|---|---|---|
symbol | string | Stock symbol |
name | string | Company name |
sector_code | string | Sector classification code |
sector_name | string | Sector name |
as_of_date | string (ISO 8601) | Consensus calculation timestamp |
consensus.action | string | Consensus action (Buy, Hold, Sell) |
consensus.confidence | integer | Confidence percentage (0-100) based on rating distribution |
consensus.rating_distribution.buy | integer | Number of Buy recommendations |
consensus.rating_distribution.hold | integer | Number of Hold recommendations |
consensus.rating_distribution.sell | integer | Number of Sell recommendations |
consensus.rating_distribution.total | integer | Total number of ratings |
price_target.average | float | Average price target across all analysts |
price_target.median | float | Median price target |
price_target.high | float | Highest price target |
price_target.low | float | Lowest price target |
price_target.range | string | Price target range (low-high) |
price_target.period | string | Target period (YYYY-MM-DD) |
earnings.eps_estimate | float | Consensus EPS estimate |
earnings.eps_previous | float | Previous period EPS |
earnings.eps_growth | float | Year-over-year EPS growth percentage |
earnings.period | string | EPS estimate period (YYYY-MM-DD) |
valuation.current_price | float | Current stock market price |
valuation.pe_current | float | Current Price-to-Earnings ratio |
valuation.pe_target | float | Forward Price-to-Earnings based on target |
valuation.forward_pe | float | Forward P/E ratio |
valuation.upside_downside | float | Upside/downside percentage from current price to target |
dividend.dps_estimate | float | Dividend per share estimate |
dividend.dps_previous | float | Previous dividend per share |
dividend.yield_estimate | float | Expected dividend yield percentage |
dividend.period | string | Dividend estimate period (YYYY-MM-DD) |
recommendation_summary[] | array | Array of individual analyst recommendations |
recommendation_summary[].analyst | string | Analyst name |
recommendation_summary[].company | string | Research firm/company |
recommendation_summary[].action | string | Individual analyst action |
recommendation_summary[].target | float | Individual analyst price target |
recommendation_summary[].date | string (ISO 8601) | Rating update timestamp |
Error Responses
For detailed Common Error responses, see the Error Handling.
Examples
Get Consensus Ratings for Stock
curl -X GET "https://csapis.com/3.0/research/consensus?symbol=UBL" \
-H "Authorization: Bearer YOUR_API_TOKEN"
Use Cases
- Consensus Tracking: Monitor analyst sentiment trends across a stock
- Buy/Hold/Sell Signals: Use majority analyst recommendation for trading signals
- Target Price Analysis: Compare market price with consensus price targets
- Risk Assessment: Analyze dispersion of analyst targets for volatility estimation
- Investment Committee Decisions: Use consensus data for institutional investment decisions
- Earnings Forecasts: Track consensus EPS and dividend estimates for projections
- Due Diligence: Verify analyst coverage and sentiment during company analysis