IPO List
GET/api/v1.0/quote/ipo-list/{market}Get the new stock IPO list. Supports Hong Kong / US / A-shares / Singapore / Malaysia — five markets, each with a separate endpoint. Returns recent subscribable and upcoming IPOs, excluding historical IPOs.
Endpoints
| Market | Endpoint |
|---|---|
| Hong Kong | GET /api/v1.0/quote/ipo-list/hk |
| US | GET /api/v1.0/quote/ipo-list/us |
| A-shares | GET /api/v1.0/quote/ipo-list/cn |
| Singapore | GET /api/v1.0/quote/ipo-list/sg |
| Malaysia | GET /api/v1.0/quote/ipo-list/my |
Parameters
HK / US / Singapore / Malaysia
| Name | Type | In | Required | Description |
|---|---|---|---|---|
request_type | int | query | no | Default 11. 9=subscribable / 10=pending listing / 11=upcoming (subscribable + pending listing). |
A-shares
| Name | Type | In | Required | Description |
|---|---|---|---|---|
request_type | int | query | no | Default 4. 1=IPO preview / 2=subscribable / 3=ballot announced / 4=pending listing / 5=all. |
Request Example
bash
curl "https://webapi.moomoo.com/api/v1.0/quote/ipo-list/hk?request_type=11" | jq
curl "https://webapi.moomoo.com/api/v1.0/quote/ipo-list/us" | jq
curl "https://webapi.moomoo.com/api/v1.0/quote/ipo-list/cn?request_type=4" | jq
curl "https://webapi.moomoo.com/api/v1.0/quote/ipo-list/sg" | jq
curl "https://webapi.moomoo.com/api/v1.0/quote/ipo-list/my" | jqResponse Fields
Hong Kong
| Field | Type | Description |
|---|---|---|
code | string | Stock code (with market prefix), e.g. HK.12233. |
name | string | English name. |
sc_name | string | Simplified Chinese name. |
tc_name | string | Traditional Chinese name. |
list_time | string | Listing date yyyy-MM-dd; "--" if unavailable. |
list_timestamp | int | Listing time, millisecond timestamp; 0 if absent. |
ipo_price_min | float | IPO price range lower bound (HKD). |
ipo_price_max | float | IPO price range upper bound (HKD). |
list_price | float | IPO price (actual pricing, HKD). |
lot_size | int | Shares per lot. |
entrance_price | float | Entrance fee (HKD). |
apply_start_timestamp | int | Subscription start time, millisecond timestamp. |
apply_end_time | string | Subscription deadline date yyyy-MM-dd. |
apply_end_timestamp | int | Subscription deadline time, millisecond timestamp. |
apply_countdown_secs | int | Subscription deadline countdown (seconds). |
is_apply_started | bool | Whether subscription has started. |
is_support_apply | bool | Whether subscription is supported. |
is_subscribe_status | bool | Whether in subscribable status. |
apply_multiple | string | Subscription multiple. |
lucky_ratio | string | One-lot winning ratio. |
win_ratio_msg | string | Winning probability description. |
lucky_time | string | Ballot announcement date yyyy-MM-dd. |
lucky_timestamp | int | Ballot announcement time, millisecond timestamp. |
margin_fee_ratio | float | Margin subscription interest rate (%). |
margin_fee_ratio_min | float | Minimum margin subscription interest rate (%); defaults to 0. |
margin_fee_ratio_max | float | Maximum margin subscription interest rate (%); defaults to 0. |
margin_lever_ratio | float | Margin leverage multiple. |
real_margin_lever_ratio | float | Actual available margin leverage multiple; defaults to 0. |
margin_rate | float | Margin ratio (4 decimal places). |
dark_trade_date | string | Grey market trading date; defaults to empty string. |
dark_trade_timestamp | int | Grey market trading date timestamp (milliseconds); defaults to 0. |
dark_trade_period | string | Grey market trading period text, e.g. 16:15~18:30. |
dark_trade_start_timestamp | int | Grey market trading start time, millisecond timestamp; defaults to 0. |
dark_trade_end_timestamp | int | Grey market trading end time, millisecond timestamp; defaults to 0. |
is_support_dark_trade | bool | Whether grey market trading is supported. |
is_support_intl_placing | bool | Whether international placing is supported. |
show_intl_placing_info | bool | Whether to display international placing data to current user. |
intl_placing_apply_start_timestamp | int | International placing subscription start time, millisecond timestamp; defaults to 0. |
intl_placing_apply_end_timestamp | int | International placing subscription deadline time, millisecond timestamp; defaults to 0. |
intl_placing_apply_limit | float | International placing minimum subscription amount (HKD). |
intl_placing_apply_limit_str | string | International placing minimum subscription amount string (with thousands separator). |
placing_countdown_secs | int | International placing deadline countdown (seconds); defaults to 0. |
offer_type | string | IPO offer type: UNSUPPORTED / PUBLIC_OFFER_ONLY / INTERNATIONAL_PLACING_ONLY / PUBLIC_AND_INTER_PLACING. |
security_type | string | Security type: NORMAL / SPAC / HK_IBOND / HK_CLIMATE_BOND / HK_SILVER_BOND / HK_ETF / SG_ETF. |
etf_distributors | string | ETF distributor company (only for ETF IPOs). |
etf_ipo_price_display | string | ETF issue price display text (only for ETF IPOs). |
apply_status | string | Public subscription status: NOT_APPLIED / APPLY_PENDING / APPLY_PROCESSING / APPLY_WON / APPLY_LOST. |
placing_apply_status | string | International placing subscription status (same enum as apply_status). |
etf_apply_status | string | ETF subscription status (only for ETF IPOs); same enum as apply_status. |
US
| Field | Type | Description |
|---|---|---|
code | string | Stock code (with market prefix), e.g. US.AAPL. |
name | string | English name. |
sc_name | string | Simplified Chinese name. |
tc_name | string | Traditional Chinese name. |
list_time | string | Expected listing date yyyy-MM-dd. |
list_timestamp | int | Listing time, millisecond timestamp. |
ipo_price_min | float | IPO price range lower bound (USD). |
ipo_price_max | float | IPO price range upper bound (USD). |
issue_size | int | Issue size (shares). |
apply_limit | float | Minimum subscription amount (USD). |
apply_start_timestamp | int | Subscription start time, millisecond timestamp. |
apply_end_timestamp | int | Subscription deadline time, millisecond timestamp. |
lucky_timestamp | int | Expected ballot announcement time, millisecond timestamp. |
stock_status | string | IPO status: PENDING / APPLYING / CLOSED. |
is_user_applied | bool | Whether current user has subscribed. |
offer_type | string | IPO offer type (same enum as HK). |
A-shares
| Field | Type | Description |
|---|---|---|
code | string | Stock code (with market prefix), e.g. SZ.300728. |
name | string | English name. |
sc_name | string | Simplified Chinese name. |
tc_name | string | Traditional Chinese name. |
list_time | string | Listing date; "--" if not listed. |
list_timestamp | int | Listing time, millisecond timestamp; 0 if not listed. |
apply_code | string | Subscription code. |
apply_upper_limit | int | Subscription upper limit (shares). |
ipo_price | float | IPO price (CNY). |
winning_ratio | float | Winning ratio (percentage). |
issue_pe_rate | float | Issue P/E ratio. |
apply_timestamp | int | Subscription time, millisecond timestamp. |
winning_time | string | Ballot announcement date yyyy-MM-dd. |
winning_timestamp | int | Ballot announcement time, millisecond timestamp. |
is_has_won | bool | Whether ballot has been drawn. |
Singapore
| Field | Type | Description |
|---|---|---|
code | string | Stock code (with market prefix), e.g. SG.1V2. |
name | string | English name. |
sc_name | string | Simplified Chinese name. |
tc_name | string | Traditional Chinese name. |
list_time | string | Listing date yyyy-MM-dd. |
list_timestamp | int | Listing time, millisecond timestamp. |
ipo_price_min | float | IPO price range lower bound (SGD). |
ipo_price_max | float | IPO price range upper bound (SGD). |
offer_price_display | string | Offer price display text. |
issue_size_display | string | Issue size display text. |
apply_limit | float | Minimum subscription amount (SGD). |
apply_limit_display | string | Minimum subscription amount display text. |
market_cap_display | string | Market cap display text. |
fund_amount_display | string | Fund raised display text. |
industry_display | string | Industry info display text. |
managers_display | string | Underwriters info display text. |
ipo_book_link | string | Prospectus link. |
security_type | string | Security type (same enum as HK). |
apply_start_timestamp | int | Subscription start time, millisecond timestamp. |
apply_end_timestamp | int | Subscription deadline time, millisecond timestamp. |
is_subscribe_status | bool | Whether in subscribable status. |
is_user_applied | bool | Whether current user has subscribed. |
Malaysia
| Field | Type | Description |
|---|---|---|
code | string | Stock code (with market prefix), e.g. BMS.MYIPO007. |
name | string | English name. |
sc_name | string | Simplified Chinese name. |
tc_name | string | Traditional Chinese name. |
list_time | string | Listing date yyyy-MM-dd. |
list_timestamp | int | Listing time, millisecond timestamp. |
ipo_price | float | IPO price (MYR). |
issue_size | int | Issue size (shares). |
fund_amount | float | Total funds raised (MYR). |
market_cap | int | Market cap (MYR). |
currency | string | Pricing currency code, e.g. MYR. |
manager | string | Underwriter info. |
industry_plate | string | Industry plate name. |
business | string | Company introduction. |
ipo_book_link | string | Prospectus link. |
security_type | string | Security type (same enum as HK). |
apply_start_timestamp | int | Subscription start time, millisecond timestamp. |
apply_end_timestamp | int | Subscription deadline time, millisecond timestamp. |
draw_timestamp | int | Retail ballot time, millisecond timestamp. |
lucky_timestamp | int | Ballot announcement time, millisecond timestamp. |
apply_limit | float | Minimum subscription amount (MYR). |
is_subscribe_status | bool | Whether in subscribable status. |
is_user_applied | bool | Whether current user has subscribed. |
support_leverage | bool | Whether leveraged subscription is supported. |
Supported Markets
- Five markets with separate endpoints: HK / US / CN / SG / MY.
- Each market returns a different field set (listed per market's available fields).
- Data is based on the user's primary broker; if the user has no available broker for a market, an empty list may be returned.
- A-shares cover SSE (incl. STAR Market) / SZSE (incl. ChiNext) / BSE.
Error Codes
| ret_code | error.code | Trigger Condition | Handling |
|---|---|---|---|
| 0 | -- | Success. | -- |
| -3 | invalid_parameter | request_type value is invalid or non-integer. | Correct to allowed values per market and retry. |
| -5 | internal_error | Backend call failed / timeout. | Retry later. |
Response Examples
Hong Kong:
json
{
"ret_code": 0,
"ret_msg": "success",
"data": {
"list": [
{
"code": "HK.44445",
"name": "新股配售test",
"list_time": "2031-05-30",
"list_timestamp": 1937836800000,
"list_price": 25.66,
"lot_size": 100,
"entrance_price": 100,
"ipo_price_min": 0,
"ipo_price_max": 0,
"apply_start_timestamp": 1773284220000,
"apply_end_time": "2026-07-31",
"apply_end_timestamp": 1785463200000,
"apply_countdown_secs": 4803989,
"is_apply_started": true,
"is_support_apply": true,
"is_subscribe_status": true,
"apply_multiple": "To Be Announced",
"lucky_ratio": "To Be Announced",
"lucky_time": "2026-08-03",
"lucky_timestamp": 1785740400000,
"dark_trade_date": "2026-06-01",
"dark_trade_timestamp": 1780243200000,
"is_support_dark_trade": true,
"offer_type": "PUBLIC_AND_INTER_PLACING",
"security_type": "NORMAL",
"apply_status": "NOT_APPLIED",
"placing_apply_status": "NOT_APPLIED"
}
]
}
}US:
json
{
"ret_code": 0,
"ret_msg": "success",
"data": {
"list": [
{
"code": "US.MAYHEDEMO111",
"name": "mayhedemo111",
"list_time": "2027-06-30",
"list_timestamp": 1814328000000,
"ipo_price_min": 23,
"ipo_price_max": 56.33,
"issue_size": 1,
"apply_limit": 67.6,
"apply_start_timestamp": 1777849680000,
"apply_end_timestamp": 1782774480000,
"lucky_timestamp": 1814310480000,
"stock_status": "PENDING",
"is_user_applied": false,
"offer_type": "PUBLIC_OFFER_ONLY"
}
]
}
}A-shares:
json
{
"ret_code": 0,
"ret_msg": "success",
"data": {
"list": [
{
"code": "SZ.300728",
"name": "Jiangsu CTC Technical Fabrics",
"list_time": "--",
"list_timestamp": 0,
"apply_code": "300728",
"apply_upper_limit": 12000,
"ipo_price": 7.11,
"winning_ratio": 0,
"issue_pe_rate": 22.97,
"winning_time": "2017-11-16",
"winning_timestamp": 1510761600000,
"is_has_won": false
}
]
}
}