Market Data Permissions and Limits
Market Data Permissions
Stocks (including ETFs)
| Market Data Package | Coverage |
|---|---|
| US Stock L1 | Nasdaq Basic data: real-time quotes, bid and ask quotes, and tick-by-tick trades from Nasdaq exchanges |
| US Stock L2 | Nasdaq TotalView data: 40 levels of Nasdaq order book depth |
| HK Stock BMP | Manually refreshed real-time quotes; excludes order book data, tick-by-tick trades, and the broker queue |
| HK Stock L2 | Automatically updated real-time quotes, 10 levels of bid and ask depth, tick-by-tick trades, and the broker queue |
Options
| Market Data Package | Coverage |
|---|---|
| US Options L1 | Real-time quotes, the best bid and ask from 16 exchanges, and tick-by-tick trades |
| HK Options L2 | Not sold separately; purchase Hong Kong Futures Exchange L2 market data to access both HK Futures L2 and HK Options L2 data |
Futures
Futures market data L1 is not sold separately. Purchasing L2 market data automatically includes L1 data.
L2 market data includes real-time quotes, 10 levels of bid and ask depth, and tick-by-tick trade details.
| Market Data Package | Coverage |
|---|---|
| Chicago Board Options Exchange L2 | CBOE data primarily covers volatility index futures (VIX futures) |
| Hong Kong Futures Exchange L2 | HKFE data primarily covers Hang Seng Index futures, MSCI China A50 Connect Index futures, and other products |
| Singapore Exchange L2 | SGX data primarily covers SGP Singapore Free Index futures, CN A50 Index futures, and other products |
| Osaka Exchange L2 | OSE data primarily covers Nikkei 225 Index futures, TOPIX Index futures, and other products |
Check market data access through the API:
Query Market Data Permissions get_quote_permission
Historical Market Data and Subscription Limits
Clients who meet the specified trading-volume or total-asset requirements receive the corresponding historical market data access.
After qualifying for a tier, you receive access to historical data, such as candlestick bars (K-line data), and symbol subscription quotas. Real-time market data access, including real-time quotes and tick data, must be purchased separately.
To purchase additional historical-data or subscription quota, sign in to the Developer Center.
| Meet Either Requirement | Historical Data Pull Quota | Subscription Quota | ||||
|---|---|---|---|---|---|---|
| Stock/ETF Quantity Limit | Futures Quantity Limit | Options Quantity Limit | Standard Market Data | Level 2 Market Data | ||
| API Access Enabled | 20 | 10 | 10 | 20 | 10 | |
| Total Assets > $10,000 USD | Trading Volume > $100,000 USD | 200 | 20 | 200 | 100 | 20 |
| Total Assets > $50,000 USD | Trading Volume > $500,000 USD | 500 | 50 | 500 | 500 | 100 |
| Total Assets > $500,000 USD | Trading Volume > $2,000,000 USD | 1000 | 100 | 1000 | 1000 | 200 |
| Total Assets > $1,000,000 USD | Trading Volume > $5,000,000 USD | 2000 | 200 | 2000 | 2000 | 500 |
User Tier Rules
- Total assets are the USD-denominated average of daily closing assets during the most recent complete calendar week (Monday through Sunday). For individual clients, the calculation combines assets in the Prime Account and Global Account. For institutional clients, it combines assets across all main accounts and sub-accounts.
- Trading volume is based on the greater of the cumulative volume for the previous calendar month and the cumulative volume for the current calendar month.
- The system updates client tiers weekly, typically every Tuesday at 8:00 AM (GMT+8).
Historical Data Request Quotas
- Historical data includes candlestick bars (K-line data) and intraday data.
- The first historical data request for a symbol consumes 1 quota. Additional requests for the same symbol within 30 days do not consume another quota.
- For a given symbol, requests for different bar periods or types collectively consume only 1 quota.
- If a symbol supports historical intraday data, intraday data and candlestick bars share the same quota and consume only 1 quota in total.
- Example: Suppose you have 20 stock historical data pull quotas. When you request AAPL's historical daily K, weekly K, and historical intraday data on April 18, 2020, the system will deduct 1 quota. Subsequently, from April 18, 2020 to May 18, 2020, any additional requests for AAPL's K-line or intraday data will not consume additional quota. If you pull historical data for 12 different stocks within this period, you will have 8 remaining quotas by May 18, 2020.
Subscription Quotas
- Standard and Level 2 market data use separate subscription quotas. Basic quotes, tick-by-tick trades, intraday data, and all data other than Level 2 depth are classified as standard market data. Within the standard-data category, each data type also has its own quota.
- Example: If you have 20 standard market data quotas and 10 Level 2 market data quotas. When subscribing to HK.00700's basic market quotes and real-time tick-by-tick transaction data, 1 quota is deducted from each standard market data type, leaving 19 quotas for basic quotes and 19 quotas for tick-by-tick data. If you subsequently add a Level 2 market data subscription for HK.00700, it consumes 1 Level 2 quota, leaving 9 remaining.
- Changes in tier level do not invalidate existing market data subscriptions.
Historical Data Specifications
Stocks
| Metric | Storage Period | Specific Fields | Notes |
|---|---|---|---|
| Daily K | Complete | Timestamp, OHLC, volume, turnover | Daily K has both non-adjusted and forward-adjusted data |
| Weekly K and Monthly K | Complete | Timestamp, OHLC, volume, turnover | Non-adjusted data only |
| 1min K, 5min K, 15min K, 30min K, 60min K | Last 10 years | Timestamp, OHLC, volume, turnover | |
| Historical Intraday | Jan 2015 ~ Present | Timestamp, volume, price, average price | |
| Tick-by-tick | Real-time: Last 5000 records Historical: Last trading day | Expired data is deleted 30 minutes before market open |
Corresponding APIs:
get_bars (Python)
QuoteKlineRequest (Java)
Options
| Metric | Storage Period | Specific Fields |
|---|---|---|
| Daily K | Complete | Timestamp, OHLC, volume, previous close, open interest |
| 1 minute | Last 3 months | Timestamp, OHLC, volume |
| Tick-by-tick | Last trading day |
Corresponding APIs:
get_option_bars (Python)
OptionKlineQueryV2Request (Java)
Futures
| Metric | Storage Period | Specific Fields | Notes |
|---|---|---|---|
| Daily K, Weekly K, Monthly K | Complete | Timestamp, last update time, OHLC, volume, previous close, open interest | |
| 1min, 2min, 5min, etc. K-line | Aug 2017 ~ Present | Timestamp, last update time, OHLC, volume | |
| Tick-by-tick | Current trading day | Previous day's tick data is deleted one minute before current day's market open |
Corresponding APIs:
get_future_bars (Python)
FutureKlineRequest (Java)
Shanghai-Hong Kong Stock Connect and Shenzhen-Hong Kong Stock Connect Stocks
| Metric | Storage Period | Specific Fields | Notes |
|---|---|---|---|
| Daily K | Complete | Date, OHLC, volume | Daily K has non-adjusted, forward-adjusted, and backward-adjusted data |
| Weekly K and Monthly K | Complete | Non-adjusted, forward-adjusted, and backward-adjusted data | |
| 1min, 5min Intraday | Last 2 weeks | Timestamp, price, average price, volume, cumulative daily volume | |
| 1min K | Last 3 months | Timestamp, OHLC, volume | |
| Historical Intraday | Dec 2019 ~ Present | Timestamp, OHLC, volume, average price | |
| Tick-by-tick | Last 2000 records | Expired data is deleted and cannot be queried |
Updated 15 days ago
