Reference

Cross-market differences

Quote fields are identical across markets, but company profile, dividend and share-structure fields differ, and some endpoints only cover A-shares. Check this table before writing cross-market code.

What is the same across markets

Quote fields are identical across markets (A-shares / Hong Kong / US all give the same 8 fields):

date · open · last · high · low · volume · amount · turnover

Technical indicators are identical too — technical returns the same field set on A-shares / Hong Kong / US (55 fields covering MA / EMA / MACD / KDJ / RSI / BOLL and more), regardless of market.

What differs

Company profile profile

Market Fields
A-shares The fullest (15): business · issuePrice · regCapital · establishDate · chairman · addresses · phone · email
US 8 fields: uses introduction and exchange where A-shares has business
Hong Kong returns empty in testing — use quote for prices and source company detail elsewhere

⚠️ A-shares has business, US has introduction — different names, so do not read them with the same key.

Dividends dividend

Market Fields
A-shares reportEndDate · dividendFlag · dividendType · procedure · proposalSn · rightRegDate · exDiviDate · bonusShareRatio · tranAddShareRatio · cashDiviRMB · dividendPlan
Hong Kong reportEndDate · exDiviDate · cashPayDate · cashDivPerShare · specialDivPerShare · totalCashDivi · dividendPlan
US exDivDate · regDate · payDate · dividendCurrency · dividend · dividendPlan

⚠️ The three markets barely share any dividend field names — and the ex-dividend date is exDiviDate on A-shares and Hong Kong but exDivDate on US, one letter apart.

Endpoints that cover only some markets

Endpoint Coverage (measured)
snapshot A-shares only (including ChiNext and Beijing); Hong Kong and US return empty
orderbook A-shares + Hong Kong + Beijing; US returns empty
chip A-shares only; Hong Kong and US return an empty array
fund returns on all three markets, but the fields are filled to different degrees — see below
events A-shares only have data; Hong Kong and US return “data is empty”
shareholder 3 segments for A-shares / 3 for Hong Kong (with different meanings — see Response shapes); US returns empty

How full fund is, per market

All three markets return something, but the fields thin out market by market (measured):

Market main_net (main-capital net inflow) main_rank
A-shares ✅ present ✅ present
Hong Kong ✅ present ⚠️ empty
US ⚠️ empty ⚠️ empty

⇒ Only basic fields like close / date are common to all three; check for empties before ranking cross-market by main_net.

The Beijing exchange

Its code prefix is bj (e.g. bj920002). Every K-line period returns data — measured on bj920002: daily / weekly / monthly / quarterly / yearly all present (snapshot covers it too).

⚠️ Two traps:

  1. Minute bars come back empty — on the Beijing exchange, kline minute periods (m1–m120) returned empty in testing.
  2. Stale codes return nothing — Beijing codes get re-issued (e.g. Nuosailand moved from bj430047 to bj920047). Calling K-line with an old code returns empty across every column, which looks like “unsupported” but is really an expired code. Switch to the new code and it works (bj920047 returned every period normally in testing).

For intraday data on the Beijing exchange, use the minute endpoint, not kline minute bars.

Common misuses

  • Using A-share field names for US profile — US has no business, only introduction.
  • Calling snapshot for Hong Kong — it returns empty (not a failure); use quote for Hong Kong.
  • Calling orderbook for US — it returns empty.
  • Assuming fund is A-shares only — all three markets return it, but US main_net is empty; only close / date are common.
  • Writing one dividend parser for all markets — the fields barely overlap, and exDiviDate (A-shares/Hong Kong) differs from exDivDate (US) by one letter.
  • Concluding “unsupported” from a stale Beijing code — switch to the new code (bj430047 → bj920047) and retest; an empty result has three causes (no data / out-of-window parameters / rate limited), so do not rush to call it unsupported.

Last updated: 2026-10-07

Measured per market on 2026-10-07 by sending sh600519 / hk00700 / usAAPL / bj920002 to the same endpoint and comparing field sets and whether the response was empty. The Beijing section was re-verified on 2026-10-07 (the old code bj430047 returned empty everywhere while bj920002 / bj920047 returned every period).