Skip to content

Option Expiration Date

GET /v1/quote/{symbol}/option-expiration

Get the list of option expiration dates for a given underlying symbol.

Parameters

NameTypeInRequiredDescription
symbolstringpathyesOption underlying code, e.g. HK.00700, US.AAPL, HK.800000 (HSI).
index_option_typeintquerynoIndex option type, required only for index underlyings, omit for regular stocks. See Naming Dictionary.
filter_standardstringquerynoFilter by standard/non-standard, default ALL. See Naming Dictionary.
filter_expiration_cyclesstringquerynoFilter by expiration cycle, comma-separated (e.g. MONTH,QUARTERLY), omit or empty string = no filter. See Naming Dictionary.

Request Example

bash
curl '$ip/v1/quote/HK.00700/option-expiration' | jq

Response Fields

Returns data.expiration_list[], each element is one expiration date record:

FieldTypeDescription
strike_timestringStrike date, format yyyy-MM-dd.
option_expiry_date_distanceintDays until expiration (negative = already expired).
expiration_cyclestringExpiration cycle. See Naming Dictionary.

Supported Markets

  • Supported markets: HK / US / JP; other markets return ret_code=-8 unsupported.
  • Supported categories: HK/US/JP equities; HK HSI / HSCEI / HSTECH and mini indices; US VIX / XSP / DJX / OEX / RUT and other indices; JP N225 / N225M / TOPIX.
  • Index underlyings must pass index_option_type, otherwise returns empty; regular stocks should not pass this parameter.

Error Codes

ret_codeerror.codeTrigger ScenarioSuggested Handling
0Success
-3invalid_parametersymbol missing / invalid; index_option_type / filter_standard / filter_expiration_cycles value not in enum setCorrect request parameters and retry
-7invalid_symbolPath symbol not found in security databaseVerify code validity via search API
-8unsupportedsymbol market not in HK / US / JPThis market does not support option chain, no need to retry
-10no_dataValid underlying but currently no option expiration dates (including empty after filtering)Treat as no option data for this underlying
-5internal_errorGateway internal error / backend call failure / timeoutRetry later or contact platform

Response Example

json
{
  "ret_code": 0,
  "ret_msg": "",
  "data": {
    "expiration_list": [
      { "strike_time": "2026-06-29", "option_expiry_date_distance": 25, "expiration_cycle": "MONTH" },
      { "strike_time": "2026-07-30", "option_expiry_date_distance": 56, "expiration_cycle": "MONTH" },
      { "strike_time": "2026-12-30", "option_expiry_date_distance": 209, "expiration_cycle": "QUARTERLY" }
    ]
  }
}