Economic Calendar
GET/api/v1.0/quote/economic-calendar/listQuery economic calendar events by date range, market, and importance star rating . Supports tab_type: ECONOMIC_DATA (default), ECONOMIC_EVENT, HOLIDAY, SELECTION. Returns: item_type, title, publish timestamp, country, star (1~5), previous, consensus, actual, and detail url; top-level pagination includes total, completed, and page_flag. For intraday hot data use quote.economic_calendar_hot; for keyword search use quote.economic_calendar_search.
Request
| Parameter | Type | In | Required | Description |
|---|---|---|---|---|
begin_date | string | query | yes | Start date YYYY-MM-DD (UTC+8 calendar date), e.g. 2026-10-01 |
end_date | string | query | no | End date YYYY-MM-DD (UTC+8 calendar date); defaults to begin_date if omitted |
tab_type | string | query | no | Calendar tab type: ECONOMIC_DATA (default) / ECONOMIC_EVENT / HOLIDAY / SELECTION |
market | string | query | no | Filter by market, default ALL |
star | int | query | no | Filter by importance star level: 0=all (default), 1~5=specific star rating |
only_focus | bool | query | no | Whether to return focus items only, default false |
page_size | int | query | no | Page size, default 50, max 100 |
page_flag | string | query | no | Pagination cursor, omit on first page; pass back pagination.page_flag; stop when completed is true |
Example
bash
curl -X GET 'https://webapi.moomoo.com/api/v1.0/quote/economic-calendar/list?begin_date=1&end_date=1&tab_type=1' \
-H 'Authorization: Bearer <AccessToken>' | jqResponse
| Field | Type | Description |
|---|---|---|
data.items | object[] | |
data.items[].item_type | integer | Item type: ECONOMIC_DATA / ECONOMIC_EVENT / HOLIDAY |
data.items[].article_id | string | Unique event article ID |
data.items[].title | string | Event title |
data.items[].timestamp | integer | Event publish timestamp in Unix seconds |
data.items[].country | string | Country or region name |
data.items[].star | integer | Importance star rating (1~5) |
data.items[].previous | string | Previous value |
data.items[].consensus | string | Consensus forecast value |
data.items[].actual | string | Actual released value |
data.items[].detail_url | string | Detail page URL |
data.items[].is_focus | integer | Whether it is a focus event |
pagination.total | string | Total matching items |
pagination.completed | string | True when this is the last page |
pagination.page_flag | string | Next page cursor |
Errors
| ret_code | error.code | Description |
|---|---|---|
| 0 | — | Success |
| -3 | invalid_parameter | Missing or invalid parameter |
| -7 | invalid_symbol | Unknown symbol |
| -8 | unsupported | Market or product is not supported |
| -9 | permission_denied | Missing permission |
| -10 | no_data | No data |
| -11 | rate_limited | Too many requests |
Sample
json
{
"ret_code": 0,
"ret_msg": "success",
"data": {
"items": [
{
"item_type": 0,
"article_id": "example",
"title": "example",
"timestamp": 0,
"country": "example",
"star": 0
}
]
},
"pagination": {
"total": 1,
"completed": true,
"page_flag": ""
}
}