Skip to content

Analyst Consensus

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

Get the analyst consensus rating and target price for a stock (composite rating, number of covering analysts, rating tier proportions, target price range).

Parameters

NameTypeInRequiredDescription
symbolstringpathyesSymbol code, e.g. HK.00700.

Request Example

bash
curl "https://webapi.moomoo.com/api/v1.0/quote/HK.00700/research/analyst-consensus" | jq

Response Fields

FieldTypeDescription
ratingintComposite rating. 1=Sell, 2=Underperform, 3=Hold, 4=Buy, 5=Strong Buy.
totalintTotal number of analysts covering the stock.
strong_buyfloatStrong buy proportion (%).
buyfloatBuy proportion (%). Only returned for HK/CN/SG/MY/AU/JP.
holdfloatHold proportion (%).
underperformfloatUnderperform proportion (%). Only returned for HK/CN/SG/MY/AU/JP.
sellfloatSell proportion (%).
averagefloatAverage target price (reporting currency).
highestfloatHighest target price.
lowestfloatLowest target price.
num_of_target_analystsintNumber of analysts providing target price forecasts.
update_timeintRating data update time, seconds timestamp.
update_time_strstringRating 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_codeerror.codeTrigger ConditionSuggested Action
-3invalid_parameterInvalid symbol formatFix the symbol format and retry
-7invalid_symbolSymbol format is valid but not found in securities databaseUse the search API to verify the symbol
-2 / -4 / -6internal_errorGateway internal errorRetry 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"
  }
}