Skip to content

Option Max Pain ​

GET /api/v1.0/quote/{code}/option-max-pain

Get Option Max Pain strike price and per-strike Call/Put Pain (Option Market Value) bar chart data across expiry dates. Returns max pain and pain values by strike price for each expiry date. Supported markets: HK / US / JP; expire_time accepts comma-separated yyyy-MM-dd dates, or omit for all available expiries.

Request ​

ParameterTypeInRequiredDescription
codestringpathyesOption underlying code (path param), e.g. US.AAPL / US.TSLA / HK.00700
expire_timestringquerynoExpiry date filter in yyyy-MM-dd (comma-separated); omit for all available expiries
index_option_typeintquerynoIndex option type (only for index underlyings; omit for equities)
filter_standardstringquerynoFilter by standard / non-standard options; default ALL
only_max_painboolquerynoWhether to return only the max_pain_strike per chain without per-strike bar items; default false

Example ​

bash
curl -X GET 'https://webapi.moomoo.com/api/v1.0/quote/US.AAPL/option-max-pain?expire_time=1&index_option_type=1&filter_standard=1' \
  -H 'Authorization: Bearer <AccessToken>' | jq

Response ​

FieldTypeDescription
data.update_timeintegerServer calculation update timestamp (Unix milliseconds)
data.chainsobjectPer-expiry Max Pain data list
data.chains[].strike_dateintegerExpiry date YYYY-MM-DD
data.chains[].left_dayintegerDays to expiry
data.chains[].max_pain_strikestringMax Pain strike price for this expiry chain (divided by 1e9)
data.chains[].itemsobjectPer-strike Call/Put Pain bar items sorted by strike_price ascending
data.chains[].items[].strike_pricestringStrike price (divided by 1e9)
data.chains[].items[].call_painstringCall Pain value at this strike (divided by 1e3)
data.chains[].items[].put_painstringPut Pain value at this strike (divided by 1e3)
data.chains[].items[].total_painstringTotal Pain value at this strike (divided by 1e3)

Errors ​

ret_codeerror.codeDescription
0—Success
-3invalid_parameterMissing or invalid parameter
-7invalid_symbolUnknown symbol
-8unsupportedMarket or product is not supported
-9permission_deniedMissing permission
-10no_dataNo data
-11rate_limitedToo many requests

Sample ​

json
{
  "ret_code": 0,
  "ret_msg": "success",
  "data": {
    "update_time": 0,
    "chains": "example"
  }
}