Analyst Consensus
GET/api/v1.0/quote/{symbol}/research/analyst-consensusGet the analyst consensus rating and target price for a stock (composite rating, number of covering analysts, rating tier proportions, target price range).
Parameters
| Name | Type | In | Required | Description |
|---|---|---|---|---|
symbol | string | path | yes | Symbol code, e.g. HK.00700. |
Request Example
bash
curl "https://webapi.moomoo.com/api/v1.0/quote/HK.00700/research/analyst-consensus" | jqResponse Fields
| Field | Type | Description |
|---|---|---|
rating | int | Composite rating. 1=Sell, 2=Underperform, 3=Hold, 4=Buy, 5=Strong Buy. |
total | int | Total number of analysts covering the stock. |
strong_buy | float | Strong buy proportion (%). |
buy | float | Buy proportion (%). Only returned for HK/CN/SG/MY/AU/JP. |
hold | float | Hold proportion (%). |
underperform | float | Underperform proportion (%). Only returned for HK/CN/SG/MY/AU/JP. |
sell | float | Sell proportion (%). |
average | float | Average target price (reporting currency). |
highest | float | Highest target price. |
lowest | float | Lowest target price. |
num_of_target_analysts | int | Number of analysts providing target price forecasts. |
update_time | int | Rating data update time, seconds timestamp. |
update_time_str | string | Rating data update date (yyyy-MM-dd). |
Supported Markets
- Markets: HK / US / CN (SH/SZ/BJ) / SG / CA / AU / JP / MY.
- Categories: Equities (with analyst coverage).
- Rating tier differences: HK / CN / SG / MY / AU / JP return 5 tiers; US / CA only return 3 tiers (strong_buy / hold / sell).
- Valid symbols without analyst coverage return ret_code=0 with data as empty object {}.
Error Codes
| ret_code | error.code | Trigger Condition | Suggested Action |
|---|---|---|---|
| -3 | invalid_parameter | Invalid symbol format | Fix the symbol format and retry |
| -7 | invalid_symbol | Symbol format is valid but not found in securities database | Use the search API to verify the symbol |
| -2 / -4 / -6 | internal_error | Gateway internal error | Retry later; contact support if persistent |
Response Example
json
{
"ret_code": 0,
"ret_msg": "success",
"data": {
"average": 686.71,
"buy": 22.727,
"highest": 794.73,
"hold": 0,
"lowest": 560,
"num_of_target_analysts": 44,
"rating": 5,
"sell": 0,
"strong_buy": 77.273,
"total": 44,
"underperform": 0,
"update_time": 1780729098,
"update_time_str": "2026-06-06"
}
}