Skip to content

Morningstar Report ​

GET /api/v1.0/quote/{symbol}/research/morningstar

Get the Morningstar comprehensive rating report for a single stock (star rating, fair value, economic moat, uncertainty, capital allocation, plus analyst commentary). Returns: rating_type (1=quantitative / 2=qualitative), star rating and update time (seconds timestamp and string), fair value estimate and commentary, economic moat / uncertainty / capital allocation / financial health labels (English), analyst by-line and report update time, per-dimension commentary text (fair value / moat / uncertainty / capital allocation / financial health / investment thesis / fundamentals / valuation), analyst note title and body, bull_say and bear_say view lists, PDF URL. Field set varies by symbol per Morningstar coverage; pdf_url, *_content, bull_say / bear_say, fundamentals / valuation text may be absent; quantitative-rating symbols return a smaller subset. For analyst consensus and target price use quote.research_analyst_consensus; for institution / analyst rating summary use quote.research_rating_summary.

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/morningstar' | jq

Response ​

NameTypeDescription
data.rating_typestringRating type. 1=quantitative rating / 2=qualitative rating (analyst-covered), e.g. 2
data.star_ratingstringMorningstar star rating (1-5 stars), e.g. 5
data.star_update_timeintStar rating update time, seconds-level timestamp, e.g. 1780072800
data.star_update_time_strstringStar rating update date string (market timezone, yyyy-MM-dd), e.g. 2026-05-30
data.fair_valuenumberFair value estimate (in report currency), e.g. 800 (HKD)
data.pdf_urlstringMorningstar report PDF download URL (null for some symbols)
data.economic_moat_labelstringEconomic moat label (English). One of: 'Wide' / 'Narrow' / 'None'
data.economic_moat_typestringEconomic moat enum: 1=Wide / 2=Narrow / 3=None
data.uncertainty_labelstringUncertainty rating label (English). One of: 'Low' / 'Medium' / 'High' / 'Very High' / 'Extreme'
data.uncertainty_typestringUncertainty enum: 1=Low / 2=Medium / 3=High / 4=Very High / 5=Extreme
data.capital_allocation_labelstringCapital allocation label (English). One of: 'Exemplary' / 'Standard' / 'Poor' / 'Not Rated'
data.capital_allocation_typestringCapital allocation enum: 1=Exemplary / 2=Standard / 3=Poor / 4=Not Rated
data.financial_health_labelstringFinancial health label (English). One of: 'Strong' / 'Moderate' / 'Weak' (omitted when not rated)
data.financial_health_typestringFinancial health enum: 1=Strong / 2=Moderate / 3=Weak
data.analyst_report_by_linestringAnalyst by-line list, e.g. ['Ivan Su']
data.analyst_report_update_timeintAnalyst report update time, seconds-level timestamp, e.g. 1766457180
data.analyst_report_update_time_strstringAnalyst report update date string (market timezone, yyyy-MM-dd), e.g. 2025-12-23
data.fair_value_contentstringFair value commentary text (English), returns
data.economic_moat_contentstringEconomic moat analysis text (English)
data.uncertainty_contentstringUncertainty rating analysis text (English)
data.capital_allocation_contentstringCapital allocation analysis text (English)
data.financial_health_contentstringFinancial health analysis text (English)
data.investment_thesis_contentstringInvestment thesis text (English)
data.fundamentals_contentstringFundamentals analysis text (not returned for most symbols)
data.valuation_contentstringValuation analysis text (not returned for most symbols)
data.analyst_note_titlestringAnalyst note title (English)
data.analyst_note_contentstringAnalyst note body (English)
data.bull_saystringBull-say view list (English); each item
data.bear_saystringBear-say view list (English); each item
data.ai_analysisstringMorningstar AI analysis (markdown), returns {summary, analysis} (not returned for some symbols)

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_type": "example",
    "star_rating": "example",
    "star_update_time": 1710000000000000,
    "star_update_time_str": "example",
    "fair_value": 1.2,
    "pdf_url": "example",
    "economic_moat_label": "example",
    "economic_moat_type": "example",
    "uncertainty_label": "example",
    "uncertainty_type": "example",
    "capital_allocation_label": "example",
    "capital_allocation_type": "example",
    "financial_health_label": "example",
    "financial_health_type": "example",
    "analyst_report_by_line": "example",
    "analyst_report_update_time": 1710000000000000,
    "analyst_report_update_time_str": "example",
    "fair_value_content": "example",
    "economic_moat_content": "example",
    "uncertainty_content": "example",
    "capital_allocation_content": "example",
    "financial_health_content": "example",
    "investment_thesis_content": "example",
    "fundamentals_content": "example",
    "valuation_content": "example",
    "analyst_note_title": "example",
    "analyst_note_content": "example",
    "bull_say": "example",
    "bear_say": "example",
    "ai_analysis": "example"
  }
}