Trading Days
GET/api/v1.0/quote/trading-daysGet the trading calendar for a specified market within a date range.
Parameters
| Name | Type | In | Required | Description |
|---|---|---|---|---|
market | string | query | yes | Market code, e.g. HK, US, SH. See Naming Dictionary. |
start | string | query | yes | Start date (yyyy-MM-dd). |
end | string | query | yes | End date (yyyy-MM-dd). |
Request Example
bash
curl 'https://webapi.moomoo.com/api/v1.0/quote/trading-days?market=HK&start=2026-04-22&end=2026-05-22' | jqResponse Fields
Returns data.trading_days[], one element per trading day. Non-trading days (full-day closures, weekends, special holidays) are filtered out.
| Field | Type | Description |
|---|---|---|
time | string | Trading date, format yyyy-MM-dd |
trade_date_type | string | Trading day type. See Naming Dictionary > trade_date_type |
trade_second | int | Total trading seconds for the day; used to identify half-day sessions and shortened trading (e.g. HK Christmas Eve approx. 9000s) |
Supported Markets
- Markets: HK / US / SH / SZ / BJ / SG / JP / CA / AU / JP_FUTURE / SG_FUTURE
- No category distinction (returns the trading calendar for the market as a whole)
- Both start and end are inclusive; full-day closures, weekends, and special holidays are implicitly filtered
Error Codes
| ret_code | error.code | Trigger Condition | Recommended Action |
|---|---|---|---|
| -3 | invalid_parameter | Missing market/start/end; market not in enum; start/end not in yyyy-MM-dd format; start > end | Correct parameters and retry |
| -4 / -6 | internal_error | Gateway internal error (request construction / response conversion failed) | Retry; contact support if persistent |
Response Example
json
{
"ret_code": 0,
"ret_msg": "success",
"data": {
"trading_days": [
{"time": "2025-12-22", "trade_date_type": "WHOLE", "trade_second": 19800},
{"time": "2025-12-23", "trade_date_type": "WHOLE", "trade_second": 19800},
{"time": "2025-12-24", "trade_date_type": "MORNING", "trade_second": 9000}
]
}
}