δΈζη: δΈζηζ¬
TL;DR. Mainland China A-shares β the ~5,300 stocks listed on the Shanghai and Shenzhen exchanges and quoted in renminbi β are the world's second-largest equity market by capitalization. Outside China, three vendors dominate institutional access: Wind Information at six-figure annual fees, Choice Data (Eastmoney's paid terminal), and Bloomberg with its CHINEXT and CN ticker overlays. For most quantitative research, screening, and dashboard use cases, the public Eastmoney (δΈζΉθ΄’ε―) data layer covers 90% of what you need at roughly 0% of the cost β provided you can handle the parsing. This guide covers the Eastmoney data structure, the screening endpoints that mirror Choice's ιθ‘ε¨ , and a working Python pipeline using the Eastmoney China A-Shares Screener actor.
What's actually in the A-share universe
"A-shares" specifically refers to renminbi-denominated shares listed on the Shanghai Stock Exchange (SSE) and Shenzhen Stock Exchange (SZSE), accessible to mainland investors and β via Stock Connect β to qualified offshore investors. The four main boards a quant cares about:
- SSE Main Board β large-cap legacy listings (Industrial & Commercial Bank of China, Kweichow Moutai, PetroChina). ~1,700 names.
- SZSE Main Board β broad Shenzhen listings post-2021 consolidation.
- ChiNext (εδΈζΏ) β Shenzhen growth board, tech-heavy, ~1,400 names.
- STAR Market (η§εζΏ) β Shanghai's NASDAQ-style innovation board (covered in detail in our STAR Market guide).
Daily price limits (Β±10% main board, Β±20% ChiNext and STAR), T+1 settlement, and the closing call auction structure all materially affect any signal you build on top β they're the boring details that decide whether a backtest is realistic.
Why Eastmoney is the de facto data source
Eastmoney is the largest financial portal in mainland China by traffic, and its Choice terminal is the most-used paid alternative to Wind on domestic sell-side desks. The retail-facing site at quote.eastmoney.com exposes the same underlying market data through a series of JSON endpoints designed for browser consumption. The endpoints are public, unauthenticated, and stable, with conservative rate limits (a few requests per second per IP is fine). They power a substantial portion of the retail Chinese stock-research ecosystem.
The catch: documentation is in Chinese, field names are abbreviated and undocumented (f2, f3, f5, etc.), and the response shapes shift slightly between endpoints. Parsing them into a clean schema is straightforward but takes a few iterations.
The screening endpoint that mirrors Choice
The screener at https://datacenter.eastmoney.com/securities/api/data/v1/get takes a query-string parameter filter with a SQL-ish predicate over the A-share universe. Fields include market cap (TOTAL_MARKET_CAP), price-to-earnings (PE_TTM), price-to-book (PB_MRQ), dividend yield, free-float cap, and a long list of fundamental and technical metrics. A typical filter:
filter=(TOTAL_MARKET_CAP>=50000000000)(PE_TTM>0)(PE_TTM<20)(BOARD_NAME="δΈ»ζΏ")
Pagination is via pageNumber and pageSize; ordering via sortColumns and sortTypes. The screener returns a structured list with the canonical SSE/SZSE ticker (six digits), name in Simplified Chinese, board membership, and the metrics requested.
Working Python example
The Eastmoney China A-Shares Screener actor wraps the screener with field-name normalization (English keys), board-code translation, and rate limiting. Curl:
curl -X POST "https://api.apify.com/v2/acts/nexgendata~eastmoney-china-stock-screener/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"minMarketCapCNY": 50000000000, "maxPE": 20, "boards": ["SSE_MAIN","SZSE_MAIN"], "maxResults": 500}'
Python β daily large-cap value screen:
import os, json, urllib.request
APIFY_TOKEN = os.environ["APIFY_TOKEN"]
ACTOR = "nexgendata~eastmoney-china-stock-screener"
payload = json.dumps({
"minMarketCapCNY": 50_000_000_000,
"maxPE": 20,
"minDividendYield": 2.0,
"boards": ["SSE_MAIN", "SZSE_MAIN"],
"maxResults": 500,
}).encode("utf-8")
url = f"https://api.apify.com/v2/acts/{ACTOR}/run-sync-get-dataset-items?token={APIFY_TOKEN}"
req = urllib.request.Request(url, data=payload, method="POST",
headers={"Content-Type": "application/json"})
with urllib.request.urlopen(req, timeout=600) as r:
stocks = json.loads(r.read())
for s in stocks[:20]:
print(f"{s['ticker']} | {s['nameEn'] or s['name']} | mcap={s['marketCapCNY']/1e9:.1f}B | PE={s['peTTM']}")
Returned shape per name:
{
"ticker": "600519.SH",
"exchangeCode": "SSE",
"board": "SSE_MAIN",
"name": "θ΄΅ε·θ
ε°",
"nameEn": "Kweichow Moutai",
"lastPrice": 1683.5,
"marketCapCNY": 2114570000000,
"peTTM": 23.4,
"pbMRQ": 9.1,
"dividendYieldTTM": 1.78,
"tradingStatus": "NORMAL",
"lastUpdated": "2026-05-29T15:00:00+08:00"
}
Cost comparison: Eastmoney-derived vs the established stack
| Source | A-share coverage | API access | Annual cost |
|---|---|---|---|
| Wind Information (δΈεΎ) | Full + alt data + filings | Yes (Wind Python API) | ~$30kβ$80k+ per seat |
| Choice Data Terminal (δΈζΉθ΄’ε―) | Full | Yes (Choice API) | ~$3kβ$8k per seat |
| Bloomberg Terminal (CN tickers) | Full, mapped to Bloomberg tickers | BLPAPI / BQNT | ~$24k per seat |
| Tushare Pro (open) | Most fundamentals, EOD quotes | Yes, point-based | Free tier; pro ~$300/yr |
| Eastmoney public endpoints (DIY) | Most quotes + screening | Yes, undocumented JSON | Free + parsing effort |
| Eastmoney Screener actor | Same as Eastmoney public | Yes, normalized JSON | PPE β pay per query at scale |
Wind and Bloomberg remain canonical for institutional reporting, broker quotes integration, and any workflow that needs alternative datasets bundled with market data. For pure quantitative screening, factor research, and dashboarding, Eastmoney-derived data is materially good enough at a tiny fraction of the cost.
Coverage limits to be aware of
- Intraday tick data β Eastmoney exposes 1-minute bars and snapshot quotes, not full L2 / order book. For HFT or microstructure work you need a different feed (CTP, CSC, or an exchange-direct provider).
- Halted / suspended names β A-shares suspend frequently for material announcements. The screener returns the last traded price; pair it with the trading-status flag to avoid stale signals.
- Northbound vs A-share-only β Stock Connect eligibility (Shanghai-HK / Shenzhen-HK) is a separate dimension. Cross-border traders care; pure-A quants don't.
- ADRs are a different universe β covered in our Chinese ADRs guide.
What this enables
- A-share factor research β value, quality, momentum factor screens over the full universe nightly
- Dividend / yield monitoring for income strategies focused on SOE banks and utilities
- ChiNext growth screens for tech-focused mandates
- Sector dashboards tied to CSRC industry classification
- Bloomberg-replacement dashboards for small funds that can't justify terminal seats per analyst
Daily volume and northbound flow attribution
One A-share-specific data point that meaningfully improves cross-border research: northbound Stock Connect flow attribution. The HKEX publishes daily aggregate northbound buy and sell volumes per A-share name eligible for Connect β these flows are the closest public proxy for foreign-investor positioning in A-shares. For names in the top quartile of foreign holdings, day-over-day northbound flow correlates more strongly with next-day price action than most domestic flow signals. The Eastmoney screener includes northbound holding percentage and day-over-day delta where available, which lets you build a foreign-flow factor as a screen overlay rather than a separate research project.
HK and US cross-listings
Many of the largest A-share names also trade in Hong Kong (H-shares) or as ADRs in the US. Cross-listing arbitrage and information-flow analysis benefits from pulling all three venues. See our companion guides on HKEX listed-company announcements and Chinese ADRs screening.
Get started: Pull your first A-share screen for free at the Eastmoney China A-Shares Screener actor page. Filter by board, market cap, PE, dividend yield, or any combination.
Related Reading
More from this China / APAC series:
- Chinese ADRs Stock Screener: API for US-Listed Chinese Equities (Alibaba, JD, Pinduoduo)
- Shanghai STAR Market API: Tracking China's Innovation Board Listings
- HKEX Listed Company Announcements API: Hong Kong Disclosure Monitoring at Scale
From the SEC/SGX/ASX and PR-newswire series:

