> Source: https://ashareapi.com/en/wiki/market-diff/  ·  Markdown version for LLMs / AI agents

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](/en/wiki/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**:

 

- **Minute bars come back empty** — on the Beijing exchange, `kline` minute periods (`m1`–`m120`) returned empty in testing.


- **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).

 Read next

-
[Code format reference](/en/wiki/code-format)

-
[Response shapes](/en/wiki/response-shapes)

 [← All wiki pages](/en/wiki)
