Earnings-option opportunity list
GET/api/v1.0/quote/option-earnings-screenerEarnings-option opportunity list. option_market: US_SECURITY / HK_SECURITY. sort_type default EARNINGS_DATE. count default 50 (max 500). Returns earnings time/session, IV crush, historical move, estimated EPS/revenue YoY, expected move.
Parameters
| Name | Type | In | Required | Description |
|---|---|---|---|---|
option_market | string | query | yes | Option market. US_SECURITY / HK_SECURITY |
sort_type | string | query | no | Sort field, default EARNINGS_DATE |
is_asc | bool | query | no | Ascending; default true (soonest earnings first) |
page_size | int | query | no | Page size, default 50, max 500 |
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 |
Example
bash
curl -X GET 'https://webapi.moomoo.com/api/v1.0/quote/option-earnings-screener?option_market=US_SECURITY' \
-H 'Authorization: Bearer <AccessToken>' | jqResponse parameters
| Name | Type | Description |
|---|---|---|
data.items | object[] | |
data.items[].code | string | Underlying symbol |
data.items[].name | string | Underlying name |
data.items[].price | string | Last price |
data.items[].change_rate | number | Change rate (percent) |
data.items[].market_cap | number | Market cap |
data.items[].iv | number | IV (percent) |
data.items[].iv_rank | number | IV rank (percent) |
data.items[].iv_percentile | number | IV percentile (percent) |
data.items[].hv | number | HV (percent) |
data.items[].volume | string | Option volume |
data.items[].open_interest | string | Option open interest |
data.items[].earnings_timestamp | int | Earnings publish timestamp , Unix microseconds |
data.items[].earnings_quarter | string | Earnings quarter, e.g. 2025Q1 |
data.items[].earnings_pub_type | int | Session BEFORE / AFTER / REGULAR |
data.items[].last_report_iv_crush | number | Last IV crush (percent) |
data.items[].history_report_iv_crush | number | Historical IV crush (percent) |
data.items[].last_report_chg_rate | number | Last earnings-day change (percent) |
data.items[].history_report_chg_rate | number | Historical earnings-day change (percent) |
data.items[].estimate_eps_yoy | number | Estimated EPS YoY (percent) |
data.items[].estimate_revenue_yoy | number | Estimated revenue YoY (percent) |
data.items[].expected_move_ratio | string | Expected move (percent) |
data.update_timestamp | int | Update timestamp , Unix microseconds |
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",
"price": "example",
"change_rate": 1.2,
"market_cap": 1.2,
"iv": 1.2,
"iv_rank": 1.2,
"iv_percentile": 1.2,
"hv": 1.2,
"volume": "example",
"open_interest": "example",
"earnings_timestamp": 1710000000000000,
"earnings_quarter": "example",
"earnings_pub_type": 0,
"last_report_iv_crush": 1.2,
"history_report_iv_crush": 1.2,
"last_report_chg_rate": 1.2,
"history_report_chg_rate": 1.2,
"estimate_eps_yoy": 1.2,
"estimate_revenue_yoy": 1.2,
"expected_move_ratio": "example"
}
],
"update_timestamp": 1710000000000000
},
"pagination": {
"page_flag": "",
"completed": true,
"total": 0
}
}