Real-time Ticker
GET/api/v1.0/quote/{symbol}/rt-tickerGet tick-by-tick trade data for a symbol. Returns the latest N trade details, including price, volume, buy/sell direction, trade type and session.
Parameters
| Name | Type | In | Required | Description |
|---|---|---|---|---|
symbol | string | path | yes | Symbol code, e.g. HK.00700. |
num | int | query | no | Number of ticks to return, default 500, range 1~750. |
period | string[] | query | no | Filter by session; pass multiple values with the same key, e.g. ?period=BEFORE&period=AFTER; omit for all sessions. See enum period_type. |
Request Example
bash
curl -s "https://webapi.moomoo.com/api/v1.0/quote/HK.00700/rt-ticker?num=3" \
-H "X-Futu-Client-Nnid: 76879657" | jqResponse Fields
Returns top-level fields + ticker_list array + volume_precision.
Top-level Fields
| Field | Type | Description |
|---|---|---|
| code | string | Symbol code |
| name | string | English name |
| sc_name | string | Simplified Chinese name |
| tc_name | string | Traditional Chinese name |
| last_close | float | Previous close price (for client-side change calculation) |
| volume_precision | int | Volume precision n. Backend scales each ticker's volume by 10^n; regular stocks are usually 0, event contracts / perpetual contracts and other high-precision categories are non-0; divide by 10^n to restore |
ticker_list[] Elements
| Field | Type | Description |
|---|---|---|
| sequence | int | Tick-by-tick sequence number (int64, monotonically increasing, can be used for dedup / incremental fetch) |
| time | int | Trade time, millisecond timestamp |
| price | float | Trade price |
| volume | int | Trade volume (restore per volume_precision) |
| turnover | float | Trade turnover |
| ticker_direction | string | Buy/sell direction. See ticker_direction enum below |
| tick_type | string | Tick-by-tick trade type (trade method). See tick_type enum below |
| period_type | string | Session the tick belongs to. See enum period_type |
| trade_type | string | Exchange trade type (ASCII character), display directly in UI, e.g. US P=Pre-market / T=Form-T / U=Cancel; HK / A-shares may be empty |
Enum ticker_direction (Buy/sell direction)
| Value | Meaning |
|---|---|
| BUY | Buy |
| SELL | Sell |
| NEUTRAL | Neutral (cannot determine active side) |
Enum tick_type (Tick-by-tick trade type)
| Value | Meaning |
|---|---|
| UNKNOWN | Unknown |
| AUTO_MATCH | Auto-match trade (most common for HK) |
| LATE | Late trade |
| NON_AUTO_MATCH | Non-auto-match trade |
| ODD_LOT | Odd lot trade |
| AUCTION | Auction trade |
| BULK | Block trade |
| OVERSEAS | Overseas trade |
| UNAUTO_MATCH_OFF | Non-auto-match off-exchange |
| NON_DIRECT_OFF | Non-direct off-exchange |
| OVERSEAS_OFF | Overseas off-exchange |
| AUTO_MATCH_OFF | Auto-match off-exchange |
| BULK_OFF | Block trade off-exchange |
| LATE_OFF | Late trade off-exchange |
| AUCTION_OFF | Auction off-exchange |
| ODD_LOT_OFF | Odd lot off-exchange |
| EVENING | Evening trade |
| ACCEPT_ELECTRONIC | Accept electronic |
| OUT_HOUR_CONTRACT | After-hours contract trade |
| BANK_CHARGE | CCASS charge |
| ELECTRONIC | Electronic trade |
| HIGH_DENSITY | High density trade |
| INTERMEDIATE_PRICE | Intermediate price trade |
| AT_AUCTION | At-auction trade |
| AUCTION_LIMIT | Auction limit trade |
| AT_AUCTION_LIMIT | At-auction limit |
| ENHANCE_LIMIT | Enhanced limit |
| HOT_QUOTE | Real-time quote |
| MARKET | Market order |
| ROUND_LOT | Round lot |
| SPECIAL_LOT | Special lot |
| ODD_AND_SPECIAL_LOT | Odd and special lot |
Supported Markets
- Code must use a supported market prefix from the 5 markets listed below; otherwise returns
invalid_symbol. - Only returns the latest N trades, does not support time range filtering; for historical tick-by-tick data by time range, use other history APIs.
Supported market prefixes and categories:
| Prefix | Market | Supported Categories |
|---|---|---|
| HK | Hong Kong | Equity / Trust / REIT / Warrant / CBBC / Inline Warrant / Index / Sector / ETF / Option |
| US | United States | Equity / ETF / Index |
| SH | Shanghai | Equity / ETF / Index / Sector |
| SZ | Shenzhen | Equity / ETF / Index / Sector |
| BJ | Beijing | Equity / Index |
Error Codes
| ret_code | error.code | Trigger Condition | Recommended Action |
|---|---|---|---|
| -3 | invalid_parameter | symbol format invalid / num out of range / period value not in enum | Correct parameters and retry |
| -7 | invalid_symbol | symbol format valid but corresponding security not found | Use search API to confirm code validity |
| -5 | internal_error | BFF request construction or backend call failed | Retry; if persistent, contact gateway support |
| positive | backend_biz_error | Backend business error (e.g. unsubscribed, insufficient permission) | Follow ret_msg instructions; permission issues require enabling the corresponding market |
Response Example
json
{
"ret_code": 0,
"ret_msg": "success",
"data": {
"code": "HK.00700",
"name": "TENCENT",
"sc_name": "腾讯控股",
"tc_name": "騰訊控股",
"last_close": 481.6,
"ticker_list": [
{
"sequence": 7647056964060558023,
"time": 1780469195226,
"price": 465.8,
"volume": 100,
"turnover": 46580,
"ticker_direction": "SELL",
"tick_type": "LATE",
"period_type": "NORMAL",
"trade_type": " "
},
{
"sequence": 7647056964060558022,
"time": 1780469195104,
"price": 465.8,
"volume": 500,
"turnover": 232900,
"ticker_direction": "SELL",
"tick_type": "LATE",
"period_type": "NORMAL",
"trade_type": " "
},
{
"sequence": 7647056964060558021,
"time": 1780469195062,
"price": 465.8,
"volume": 100,
"turnover": 46580,
"ticker_direction": "BUY",
"tick_type": "AUTO_MATCH",
"period_type": "NORMAL",
"trade_type": " "
}
],
"volume_precision": 0
}
}