Analyst rating-change list for US/CA
GET/api/v1.0/quote/research/rating-changeAnalyst rating-change list for US/CA, filterable by upgrade / downgrade / new rating. Returns symbol, current and previous rating (1=Sell / 2=Hold / 3=Buy), target price, institution name, recommendation date. For consensus use quote.research_analyst_consensus; for per-stock summary use quote.research_rating_summary.
Parameters
| Name | Type | In | Required | Description |
|---|---|---|---|---|
market | string | query | no | Market, default US. US / CA only |
change_type | string | query | no | Change type, default UPGRADE. UPGRADE / DOWNGRADE / NEW_RATING |
page_flag | string | query | no | Page cursor. Omit or pass empty on the first page; pass back pagination.page_flag. Stop only when pagination.completed is true |
page_size | int | query | no | Page size, default 10, max 20 |
Example
bash
curl -X GET 'https://webapi.moomoo.com/api/v1.0/quote/research/rating-change?market=US' \
-H 'Authorization: Bearer <AccessToken>' | jqResponse parameters
| Name | Type | Description |
|---|---|---|
data.items | object[] | |
data.items[].code | string | Symbol, e.g. US.AAPL |
data.items[].name | string | Security name |
data.items[].rating | int | Current rating: 1=Sell / 2=Hold / 3=Buy |
data.items[].last_rating | int | Previous rating: 1=Sell / 2=Hold / 3=Buy |
data.items[].target_price | string | Current target price |
data.items[].last_target_price | string | Previous target price |
data.items[].change_type | int | Change type: UPGRADE / DOWNGRADE / NEW_RATING |
data.items[].institution_name | string | Institution name (joined from institution_info_list) |
data.items[].institution_uid | string | Institution UID |
data.items[].recommendation_date | string | Current recommendation date, YYYY-MM-DD in the requested market timezone |
data.items[].last_recommendation_date | string | Previous recommendation date, YYYY-MM-DD in the requested market timezone |
pagination.total | int | |
pagination.completed | bool | True when this is the last page. Stop paging only when completed is true |
pagination.page_flag | string | Next page cursor. Pass it back as page_flag while completed is false; empty on the last page |
Errors
| ret_code | error.code | Description |
|---|---|---|
| 0 | — | Success |
| -3 | invalid_parameter | Missing or invalid parameter |
| -8 | unsupported | Not supported |
| -10 | no_data | No data |
Response example
json
{
"ret_code": 0,
"ret_msg": "success",
"data": {
"items": [
{
"code": "US.AAPL",
"name": "example",
"rating": 0,
"last_rating": 0,
"target_price": "example",
"last_target_price": "example",
"change_type": 0,
"institution_name": "example",
"institution_uid": "example",
"recommendation_date": "2026-10-16",
"last_recommendation_date": "2026-10-16"
}
]
},
"pagination": {
"page_flag": "",
"completed": true,
"total": 0
}
}