Skip to content

Analyst Consensus ​

GET /api/v1.0/quote/{symbol}/research/analyst-consensus

Get analyst consensus rating and target price for a stock. Returns: consensus rating (1-5, 5=Strong Buy), total covering analysts, per-bucket rating ratios (strong buy / buy / hold / underperform / sell, in %), average / highest / lowest target price (in report currency), data update time (seconds timestamp and string). Aggregate only; no per-institution / per-analyst entries. For per-institution / per-analyst rating items use quote.research_rating_summary; for Morningstar reports use quote.research_morningstar_report.

Parameters ​

NameTypeInRequiredDescription
symbolstringpathyesStock symbol (path parameter), e.g. HK.00700 / US.AAPL

Example ​

bash
curl 'https://webapi.moomoo.com/api/v1.0/quote/US.AAPL/research/analyst-consensus' | jq

Response ​

NameTypeDescription
data.ratingintConsensus rating (1-5; 5=Strong Buy), e.g. 5
data.totalintTotal number of analysts covering this stock, e.g. 44
data.strong_buynumberStrong buy ratio (%), e.g. 77.273
data.buynumberBuy ratio (%), e.g. 22.727
data.holdnumberHold ratio (%), e.g. 0
data.underperformnumberUnderperform ratio (%), e.g. 0
data.sellnumberSell ratio (%), e.g. 0
data.averagenumberAverage target price (in report currency), e.g. 686.71
data.highestnumberHighest target price, e.g. 794.73
data.lowestnumberLowest target price, e.g. 560
data.num_of_target_analystsintNumber of analysts providing target price estimates (distinct from total rating analysts; absent when no target price data), e.g. 38
data.update_timeintRating data update time, seconds-level timestamp, e.g. 1780194341
data.update_time_strstringRating data update date string (market timezone), format yyyy-MM-dd, e.g. 2026-05-31

Errors ​

ret_codeerror.codeWhen
0—Success
-3invalid_parameterA parameter is missing or not in the allowed set
-7invalid_symbolSymbol is not in the security master
-8unsupportedMarket or instrument is outside this API
-9permission_deniedAuthenticated, but without quote permission
-10no_dataNothing is returned
-11rate_limitedPer-user rate limit

Response example ​

json
{
  "ret_code": 0,
  "ret_msg": "success",
  "data": {
    "rating": 0,
    "total": 0,
    "strong_buy": 1.2,
    "buy": 1.2,
    "hold": 1.2,
    "underperform": 1.2,
    "sell": 1.2,
    "average": 1.2,
    "highest": 1.2,
    "lowest": 1.2,
    "num_of_target_analysts": 1710000000000000,
    "update_time": 1710000000000000,
    "update_time_str": "example"
  }
}