Market Snapshot
POST/v1/quote/snapshotBatch get real-time market snapshot for up to 400 symbols. Returns common fields (last/open/high/low/prev close, volume, turnover, turnover rate, etc.), financial fields (market cap, PE, PB, EPS, dividend yield, etc.) and category-specific fields (index component counts, futures settlement, options greeks, etc.).
Parameters
| Name | Type | In | Required | Description |
|---|---|---|---|---|
code_list | string[] | body | yes | List of symbol codes (min 1, max 400). Format: <MARKET>.<CODE>, e.g. HK.09988, US.AAPL, BMD.FCPOmain. |
Request Example
bash
curl -s -X POST "$ip/v1/quote/snapshot" \
-H "Content-Type: application/json" \
-H "X-Futu-Client-Nnid: 76879657" \
-d '{"code_list":["HK.09988","BMD.FCPOmain","HK.TCH260629C390000"]}' | jqResponse Fields
Returns data.snapshot_list[], each element is one symbol snapshot. Fields are grouped by category (fields not applicable to a category will be default/0/empty string).
Common Fields (returned for all categories)
| Field | Type | Description |
|---|---|---|
| code | string | Symbol code (e.g. HK.09988). |
| name | string | Symbol name. |
| update_time | int64 | Quote update time, millisecond timestamp. |
| data_date | string | Trading date in the symbol's market timezone, YYYY-MM-DD. |
| last_price | double | Latest price. |
| open_price | double | Today's open. |
| high_price | double | Today's high. |
| low_price | double | Today's low. |
| prev_close_price | double | Previous close. |
| close_price_5min | double | Last 5-minute close price. |
| volume | int64 | Volume (shares/contracts). |
| turnover | double | Turnover (currency unit). |
| turnover_rate | double | Turnover rate (percentage, e.g. 1.23 means 1.23%). |
| amplitude | double | Amplitude (percentage). |
| volume_ratio | double | Volume ratio. |
| bid_ask_ratio | double | Bid-ask ratio (percentage, positive = buy strong, negative = sell strong). |
| sec_status | string | Security status, see enum sec_status |
| dark_status | string | Dark pool status, see enum dark_status |
| listing_date | int64 | Listing date, millisecond timestamp; 0 if missing. |
| bid_price | double | Best bid price. |
| ask_price | double | Best ask price. |
| bid_vol | int64 | Best bid volume. |
| ask_vol | int64 | Best ask volume. |
| price_spread | double | Price spread. |
| highest52weeks_price | double | 52-week high (unadjusted). |
| lowest52weeks_price | double | 52-week low (unadjusted). |
| highest_history_price | double | All-time high (unadjusted). |
| lowest_history_price | double | All-time low (unadjusted). |
| suspension | bool | Whether suspended. |
| avg_price | double | Average price. |
| lot_size | int64 | Lot size (shares per lot). |
Category Flags (for filtering category-specific fields)
| Field | Type | Description |
|---|---|---|
| equity_valid | bool | Whether equity; financial fields are meaningful only when true. |
| index_valid | bool | Whether index. |
| plate_valid | bool | Whether sector/plate. |
| wrt_valid | bool | Whether warrant / CBBC / inline warrant. |
| trust_valid | bool | Whether trust / fund / REIT. |
| option_valid | bool | Whether option. |
| future_valid | bool | Whether futures. |
Equity Fields (meaningful when equity_valid=true; 0 for other categories)
| Field | Type | Description |
|---|---|---|
| issued_shares | int64 | Total shares outstanding. |
| total_market_val | double | Total market capitalization (currency unit). |
| outstanding_shares | int64 | Float shares. |
| circular_market_val | double | Float market capitalization (currency unit). |
| pe_ratio | double | Static PE. |
| pe_ttm_ratio | double | Trailing PE (TTM). |
| pb_ratio | double | Price-to-book ratio. |
| dividend_ttm | double | TTM dividend (per share). |
| dividend_ratio_ttm | double | TTM dividend yield (percentage). |
| dividend_lfy | double | Last fiscal year dividend (per share). |
| dividend_lfy_ratio | double | Last fiscal year dividend yield (percentage). |
| net_asset | double | Net assets. |
| net_asset_per_share | double | Net asset per share. |
| net_profit | double | Net profit (last fiscal year). |
| ey_ratio | double | Earnings yield (EY, percentage). |
| earning_per_share | double | Earnings per share (EPS, last fiscal year). |
Index Fields (index_valid=true)
| Field | Type | Description |
|---|---|---|
| index_raise_count | int64 | Number of rising constituents. |
| index_fall_count | int64 | Number of falling constituents. |
| index_equal_count | int64 | Number of flat constituents. |
Warrant / CBBC / Inline Warrant (wrt_valid=true)
| Field | Type | Description |
|---|---|---|
| wrt_maturity_date | int64 | Maturity date (second-level timestamp). |
| wrt_end_trade | int64 | Last trading date (second-level timestamp). |
Trust / Fund / REIT (trust_valid=true)
| Field | Type | Description |
|---|---|---|
| trust_aum | double | Assets under management (AUM). |
| trust_dividend_yield | double | Dividend yield (percentage). |
| trust_outstanding_units | int64 | Outstanding units. |
| trust_netAssetValue | double | Net asset value per unit (NAV). |
| trust_premium | double | Premium (percentage). |
| trust_assetClass | string | Asset class, see trust_assetClass enum below |
Enum trust_assetClass (Trust / Fund / REIT asset class)
| Value | Meaning |
|---|---|
| STOCK | Stock |
| BOND | Bond |
| COMMODITY | Commodity |
| CURRENCY_MARKET | Currency Market |
| FUTURE | Futures |
| SWAP | Swap |
Option (option_valid=true)
| Field | Type | Description |
|---|---|---|
| option_strike_price | double | Strike price. |
| option_contract_size | int64 | Contract size. |
| option_open_interest | int64 | Open interest. |
| option_implied_volatility | double | Implied volatility (percentage). |
| delta | double | Delta. |
| gamma | double | Gamma. |
| vega | double | Vega. |
| theta | double | Theta. |
| rho | double | Rho. |
| option_net_open_interest | int64 | Net open interest. |
| option_contract_nominal_value | double | Contract nominal value. |
| option_owner_lot_multiplier | double | Underlying lot multiplier. |
| option_type | string | Option direction, see enum option_type |
| option_contract_multiplier | int64 | Contract multiplier. |
| index_option_type | int32 | Index option type. |
| option_expiry_date_distance | int64 | Days to expiry (negative if expired). |
| option_area_type | string | Option exercise type, see enum option_area_type |
Futures (future_valid=true)
| Field | Type | Description |
|---|---|---|
| future_last_settle_price | double | Previous settlement price. |
| future_position | int64 | Open interest (position). |
| future_position_change | int64 | Position change. |
Session Fields (pre-market / after-hours / overnight; 0 when not in that session)
| Field | Type | Description |
|---|---|---|
| pre_price / pre_high_price / pre_low_price | double | Pre-market price / high / low. |
| pre_volume / pre_turnover | int64 / double | Pre-market volume / turnover. |
| pre_change_val / pre_change_rate | double | Pre-market change value / change rate (percentage). |
| pre_amplitude | double | Pre-market amplitude (percentage). |
| after_price / after_high_price / after_low_price | double | After-hours price / high / low. |
| after_volume / after_turnover | int64 / double | After-hours volume / turnover (SH STAR Market auto-merged into kcb segment). |
| after_change_val / after_change_rate | double | After-hours change value / change rate (percentage). |
| after_amplitude | double | After-hours amplitude (percentage). |
| overnight_price / overnight_high_price / overnight_low_price | double | Overnight price / high / low. |
| overnight_volume / overnight_turnover | int64 / double | Overnight volume / turnover. |
| overnight_change_val / overnight_change_rate | double | Overnight change value / change rate (percentage). |
| overnight_amplitude | double | Overnight amplitude (percentage). |
Supported Markets
- Code must use a supported market prefix from the 13 markets listed below; otherwise returns
invalid_symbol. - If all codes in code_list are invalid ->
invalid_symbol; if partially invalid -> only valid codes are returned (compare request and response to identify dropped codes).
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 |
| SG | Singapore | Equity / ETF / Index |
| JP | Japan | Equity / Index |
| AU | Australia | Equity / Index |
| CA | Canada | Equity / ETF / Index |
| BMS | Malaysia Main Board | Equity / Index |
| BMD | Malaysia Derivatives | Futures |
Error Codes
| ret_code | error.code | Trigger Condition | Recommended Action |
|---|---|---|---|
| 0 | — | Success (including cases where some codes are invalid but valid ones are returned) | Compare data.snapshot_list[].code with request code_list to identify dropped codes |
| -3 | invalid_parameter | Missing code_list / element count is 0 / element count > 400 / elements are not strings | Correct request body and retry |
| -4 | internal_error | Gateway failed to construct backend request | Retry; if persistent, contact gateway support |
| -6 | internal_error | Gateway response conversion failed | Retry; if persistent, contact gateway support |
| -7 | invalid_symbol | All codes in code_list cannot be parsed (unsupported prefix / code does not exist) | Check that market prefix is within supported range; use search API to confirm code validity |
Response Example
json
{
"ret_code": 0,
"ret_msg": "",
"data": {
"snapshot_list": [
{
"code": "HK.09988",
"name": "阿里巴巴-W",
"update_time": 1748846399000,
"data_date": "2026-06-02",
"last_price": 128.7,
"open_price": 129.4,
"high_price": 130.5,
"low_price": 128.0,
"prev_close_price": 129.2,
"volume": 30568400,
"turnover": 3947123456.0,
"turnover_rate": 0.16,
"equity_valid": true,
"issued_shares": 19061235690,
"total_market_val": 2453181113703.0,
"pe_ratio": 20.595,
"pe_ttm_ratio": 16.823,
"pb_ratio": 1.853,
"earning_per_share": 6.250,
"listing_date": 1574697600000,
"lot_size": 100,
"sec_status": "NORMAL",
"dark_status": "N/A",
"option_type": "",
"option_area_type": ""
},
{
"code": "BMD.FCPOmain",
"name": "棕榈油主连",
"update_time": 1748846399000,
"data_date": "2026-06-02",
"last_price": 4521.0,
"future_valid": true,
"future_last_settle_price": 4537.0,
"future_position": 95578,
"future_position_change": 22908,
"sec_status": "NORMAL",
"option_type": "",
"option_area_type": ""
},
{
"code": "HK.TCH260629C390000",
"name": "腾讯控股 260629 390.00 购",
"update_time": 1748846399000,
"data_date": "2026-06-02",
"last_price": 13.42,
"option_valid": true,
"option_strike_price": 390.0,
"option_contract_size": 100,
"option_open_interest": 243,
"option_implied_volatility": 33.718,
"delta": 0.612,
"gamma": 0.018,
"vega": 0.421,
"theta": -0.087,
"rho": 0.176,
"option_contract_multiplier": 100,
"option_expiry_date_distance": 26,
"index_option_type": 1,
"option_type": "CALL",
"option_area_type": "AMERICAN",
"sec_status": "NORMAL"
}
]
}
}