What you get with Pro
81 endpoints available, 34 of them unlocked at this tier. The full list below is grouped by what you use it for — every row links to the endpoint reference.
34 unlocked at this tier
Not available on Standard (¥29.9).
Quotes & K-line5
Every A-share stock's daily bar for one trading day in a single call (5,000+ symbols) — built for whole-market incremental updates, replacing a 5,000-request loop with one request. Typical use: call it once after the close to ingest the day's whole-market bars. Scope: A-share stocks only (5,572) from 2016-08-08, raw unadjusted prices; ETFs, convertible bonds, indices, sectors, Hong Kong, US, futures and FX are not included. Latest data is available up to the previous trading day (intraday same-day data is not available). ⚠️ Two hard limits: available on the Pro (¥99) and Institutional (¥199) tiers only, and 1 call counts as 500 calls of quota (one request moves 5,000+ symbols, far beyond a single-symbol endpoint). A separate daily cap applies (Pro 200 / Institutional 1,000 per day). Eight columns: code time open high low close volume amount. ⚠️ volume is in SHARES (not lots) — 100× the figure from /v1/kline and /v1/kline-batch, which report lots; it matches /v1/kline-full. amount is in CNY. Response is roughly 785 KB per call. ⭐ Passing codes also returns requested / returned / missing — missing lists each symbol that was not returned with reason (not_covered = outside this endpoint's scope, e.g. ETF / index / HK / US; no_data = no bar for that session). When limit truncates the result it is flagged partial:true and only not_covered is reported — a symbol absent from this page does not mean it has no data.
Fetch quotes for many stocks in one call, with per-symbol status. Looping 300 symbols means 300 requests (≈3.5 minutes, plus rate-limit backoff); this endpoint returns them in about 4 seconds (measured 300 symbols / 4.16s).
Fetch K-lines for many stocks in one call (many symbols × one date range), with per-symbol status.
/v1/snapshot-batch≤ 200 symbols200/dayFetch full profiles for many stocks in one call (35+ fields: price / five-level order book / PE·PB / market cap / share capital / limit-up and limit-down prices / volume ratio / amplitude / speed / outer and inner volume), with per-symbol status.
/v1/index-listAll indices (1,223): code / name. Use it to find an index code, then call /v1/index-constituent. Paging via limit (≤500) + offset; A-share and HK indices are mixed (distinguish by sh / sz / cs / hk prefix). Paid tier — Pro (¥99) and above.
Financials & Company3
/v1/finance-batch≤ 10 symbols100/dayFetch the three financial statements for many stocks in one call (income statement / balance sheet / cash flow), with per-symbol status.
/v1/profile-batch≤ 100 symbols100/dayFetch company profiles for many stocks in one call (listing date / main business / industry / website / registered capital / chairman / contact details), with per-symbol status.
/v1/shareholder-batch≤ 200 symbols200/dayFetch shareholder research for many stocks in one call (top-10 holders / top-10 float holders / holder count), with per-symbol status.
Money flow & Top-trader boards4
Fetch money flow for many stocks in one call (main capital + top-trader boards + block trades + margin), one record per stock. Built for quant / batch research — scan a whole industry or your watchlist at once instead of calling /v1/fund stock by stock.
/v1/fund-flowPer-stock money flow (A-shares / HK): main and retail buy/sell/net plus average price and close. ⚠️ Not the same as /v1/fund (LHB + block trades + margin, A-shares only) — HK money flow is only available here. Amounts are in CNY/HKD units. ⭐ Shanghai/Shenzhen support optional start + end (YYYY-MM-DD, single code) for daily history; omit both for the latest day. HK returns the latest day only. ⚠️ US stocks have no money-flow data (every tier returns data: []) — for US, use /v1/fund-short (short selling). Paid tier — Pro (¥99) and above.
/v1/fund-shortShort-selling data (HK / US): ShortShares / ShortAmount / ShortRatio. ⚠️ Pass date — without it, if the day's data is not yet published the response only carries identifier fields. A-shares have no short-selling data (use /v1/margin-trade). Paid tier — Pro (¥99) and above.
/v1/fund-southSouthbound (Stock Connect) holdings, quarterly: shares held, holding ratio, market value. HK only. ⚠️ Quarterly snapshot, not daily flow — for daily net inflow use /v1/fund-flow. Paid tier — Pro (¥99) and above.
Short-term & Sentiment1
The 09:15–09:25 call auction for a single stock, including a "touched limit-up during auction" flag. mode=stock (default) intraday auction series, minute ticks covering 09:15–09:24 — each row has time / price / stage a source-side marker flag (meaning not publicly defined — do not rely on it; to split the cancellable / non-cancellable windows use time: 09:15–09:20 cancellable · 09:20–09:25 non-cancellable) / volume cumulative volume; mode=stock-history second-level historical ticks (requires date); mode=volume intraday auction volume / net amount (single point). ⭐ is_limit_up / is_limit_down at the top level = the "touched limit-up / touched limit-down" flags (auction high ≥ limit-up price · auction low ≤ limit-down price; both limit prices are taken from raw source fields, so main board 10% / ChiNext·STAR 20% / ST 5% / Beijing Exchange 30% are correct by construction). Also returns up_px limit-up price / down_px limit-down price / open_px the 09:25 match price / preclose_px previous close / hprice auction high / lprice auction low. ⚠️ mode=stock covers today only; for history use mode=stock-history with a date (must be a real trading day). ⚠️ For mode=stock the number of points varies by symbol and by market (same window, different symbols, different counts — driven by the source's tick cadence); to align granularity across symbols, keep the last point of each minute (≤10 points per symbol for 09:15–09:24). data is always a row array (DataFrame-ready). Paid tier — Pro (¥99) and above (the Standard tier is not included).
Quant6
Run a built-in strategy over history and get return / risk metrics (optionally the equity curve). Two modes: mode=single (default) backtests one stock in real time — pass code + strategy; mode=portfolio looks up a precomputed multi-stock result — pass strategy; results are preset per range (four standard ranges from 2019; an unsupported start/end returns the list of available ranges). Portfolio mode also accepts weighting: equal (default) or inv_vol (inverse-volatility, Institutional tier — steadier names get more, wilder names get less). Costs are included: commission (0.03%, min ¥5), stamp duty (0.05%, sell side), transfer fee (Shanghai) and slippage (0.1%). Constraints are included: price limits (no fill when sealed) and suspensions (no fill without a quote). ⚠️ ST status uses the current list as an approximation (no public source for day-by-day history) — ST names are about 3.6% of the market and the effect is limited to price-limit days. ⚠️ NOT included: market impact and capacity. ⚠️ Past performance does not indicate future results; research use only, not investment advice. Paid tier — Standard (¥29.9) and above, 30 calls/day (Pro ¥99: 300/day · Institutional ¥199: 1,000/day).
List every built-in strategy (20 single-stock timing + 9 portfolio selection) with each strategy name and its parameter whitelist (type / min / max / default). ⭐ Each strategy also carries a measured performance block — its real result across 800 stocks (CSI 300 + CSI 500) since 2019, with real trading costs (commission / stamp duty / slippage). verdict grades it: effective / neutral / weak / avoid (measured loss); the note field explains the pitfall. ⚠️ Losing strategies are listed too — so you can avoid the common traps (e.g. high-turnover strategies eaten by costs). ⚠️ This is a static list + summary and does not consume the /v1/backtest heavy quota. ⚠️ Historical results do not indicate future performance; research use only. Paid tier — Standard (¥29.9) and above.
Run many stocks × many strategies in one call and get a side-by-side comparison table. Pass codes (comma-separated, up to 20) and strategies (comma-separated, up to 10; max 60 combinations). Each stock's history is loaded once and shared across every strategy, so a 15-combination batch returns in about a second — far faster than calling /v1/backtest 15 times. Returns a row per (stock, strategy) with total return / CAGR / Sharpe / max drawdown / volatility / trade count, plus a skipped list for codes without enough history. Same cost model, price-limit and suspension constraints as /v1/backtest. Paid tier — Pro (¥99) and above, 20 batches/day (Institutional ¥199: 100/day).
List every available stock-selection factor (code / Chinese name / unit / description / category), plus 22 presets and the usage rules. Feed factors to /v1/screen as an expression, e.g. intersect([PE_TTM > 0, PE_TTM < 20, ROETTM > 15]). Multiple conditions are combined with intersect([...]) (AND); the only operators are > < >= <= = != — between, in and OR are not supported. ⭐ Historical cross-sections are supported: /v1/screen?date=YYYY-MM-DD returns factor values for any past trading day (data exists from 2016-08-08), so you can chain factor → screen → backtest. ⚠️ Eight usage rules apply — most importantly PE_TTM > 0 must come first (loss-making companies have negative PE and would otherwise be picked as "low PE"). ⚠️ This is a static list (no heavy quota). Paid tier — Standard (¥29.9) and above.
A library of playbooks — reusable "how to judge the market" workflows. Each one spells out its signals (formula + data + threshold), its stages (e.g. sentiment: freeze / start / ferment / climax / ebb, with the action for each), what losses it avoids, and the measured evidence behind it (backtest numbers; entries marked "pending" have not been run — we do not invent figures). Covers 25 playbooks across 12 themes: risk control · trend/momentum · fundamentals · valuation percentile · portfolio rebalancing · money flow · market timing · sector rotation · sentiment cycle · volume structure · event-driven · limit-up chasing · ST restructuring. ⚠️ Playbooks are a judgement process, not investment advice — thresholds are adjustable starting points. Past backtests do not indicate future results. ⚠️ Static list (no heavy quota). Paid tier — Standard (¥29.9) and above.
Screen the market — five modes selected by mode (default condition). condition: a factor expression, e.g. intersect([PE_TTM > 0, PE_TTM < 20, ROETTM > 15]), or one of 22 presets. label: by attribute tag — central SOEs / SOEs / private / QFII, ST / delisting / broken IPO, below-book, loss-making, cash-flow structure, listing age, market-cap band … (108 tags); asset=etf switches to ETF theme pools. ranking: whole-market ranking by metric — composite / capital / fundamentals / risk / technical scores, margin balance and its daily-weekly-monthly-quarterly-yearly change, main and retail fund flows, northbound activity, limit-up streak … (type picks the metric, default CompScore). strategy: technical and style strategies — MACD golden cross, KDJ golden cross, break above the 250-day line, first limit-up, consecutive limit-ups, high dividend, high-ROE value, master strategies (Buffett / Graham / Fisher …) — 98 strategies. event: event-driven — dividend plan/resolution/implementation/ex-date, earnings pre-announcement/express/release, private placement before and after listing, management changes and insider trading, block trades, lockup releases … (42 events). ⭐ Not sure which values exist? Set list=true to get the full list with Chinese names and groups; you may pass type as a group filter when listing. Do not guess the type value. ⚠️ If the source rejects your type value, the response is ok:false + reason:"invalid_param" + hint (carrying the source's own message and the ?mode=xxx&list=true pointer) — retrying will not help, just use a valid value. data is a formatted table; read structured for the first table — some queries return several sections, so use tables for all of them. ⭐ Risk flags (ST / delisting period): results carry an extra trailing column 风险标记 (- / ST / 退市整理), and every structured / tables row also carries isST (boolean) / isDelisting (boolean) / status (normal / ST / delisting). Useful because factor sorts such as low PE / low PB put delisting-period and ST names at the top (measured: preset=low_pe returns 萃华退 first) — the column lets you exclude them yourself. ⛔ We never filter implicitly — flags are provided, the decision is yours, otherwise your backtests cannot be reproduced. ⚠️ Suspensions are not flagged: the source has no suspension dimension, and "change = 0" cannot be used to infer it (normal stocks hit 0 too), so we flag nothing rather than flag wrongly. Paging via limit (max 200) and offset.
Technical & Chips2
/v1/technical-batch≤ 500 symbols200/dayFetch technical indicators for many stocks in one call (MA / EMA / MACD / KDJ / RSI / BOLL / BIAS / WR / DMI / OBV / VR / BBI / TRIX / DPO / PSY / ENE / CCI - 55 fields), with per-symbol status.
/v1/chip-batch≤ 200 symbols200/dayFetch chip distribution for many stocks in one call (profit ratio / average cost / 90% and 70% concentration), with per-symbol status.
Research & News6
One query, several sources: searches CNINFO filings (both exchanges, official first-hand) and Eastmoney news at the same time, normalises both into one table and removes republication duplicates.
/v1/consensusSell-side consensus: analyst target price plus forward estimates (EPS / revenue / net profit / forward PE·PB·PS / coverage count). codes accepts a comma list (≤15 — data above 15 is dropped). ⚠️ Fields differ by market: A-shares have targetPrice; HK has no target price, only *Forecast columns. Paid tier — Standard (¥29.9) and above.
Sell-side ratings (HK / US only): target price (avg / max / min) + rating distribution (buy / increase / hold / decrease / sell + coverage count) + monthly trend. ⚠️ A-shares return 422 — there is no sell-side rating coverage for A-shares; use /v1/consensus for A-share target prices. Paid tier — Standard (¥29.9) and above.
/v1/scoreStock scores (A-shares only): basic / technical / composite / fund / risk, each 0-100 with week/month/quarter changes. Returns structured objects (value + chg_week / chg_month / chg_quarter) so no string parsing is needed. ⚠️ chg_quarter is the cumulative change this quarter (scores reset quarterly, so it usually equals value). codes accepts a comma list; date reaches back to late April 2026. Paid tier — Standard (¥29.9) and above.
/v1/reportSell-side analyst reports: without id you get a list (title / broker / rating / type / time); with id you get the full text as Markdown. Covers A-shares and HK. ⚠️ At most 20 rows per list call (limit above 20 returns 422); page with offset; the "N total" figure is the historical count, not the page size. There is no date-range filter. Complements /v1/dehydrated (condensed summaries). Paid tier — Pro (¥99) and above.
/v1/dehydratedBroker research digests.
AI & Protocols6
Natural language → structured candidates with an evidence chain, for you to orchestrate yourself. We do not generate an answer — you get "structured results + evidence metadata". How it differs from other endpoints: you do not need to know which endpoint to call first — just ask in plain language; we resolve the symbol and intent, then fetch. Every row carries an evidence object: endpoint / params / field_path / value / value_hash (16 chars) / hash_alg. Re-fetch with the same endpoint + params, recompute sha256 over the same record, and you should get the same value_hash — you do not have to trust us. ⚠️ Paid tier — Standard (¥29.9) and above. ⭐ scope (optional): ashare (our own data) · notice,news,report (filings / news / research) · web (open-web search, requires X-LLM-Key) · wechat (WeChat Official Accounts). ⚠️ With an explicit scope=web/wechat, only that channel is searched — if nothing is found you get an honest ok:false with the reason, never a silent substitute from another channel. ⭐ Web/WeChat rows also carry rerank_score (0–3, ≥1.5 is good) + quality (good/fair), plus sentence-level start_char/end_char. ⭐ replay=true runs one extra model pass to reconcile the output, marking match / non_deterministic / not_replayable / skipped_no_client — off by default; ⚠️ on the model path it is usually non_deterministic, which does not mean the conclusion is unreliable.
Ready-to-use Q&A: we fetch the data and generate an answer with inline citations — no orchestration on your side. How it differs from /v1/agent-search: that one returns "structured candidates + evidence" only and generates no answer; this one builds an answer on top of it. 🔑 BYOK (bring your own model key), passed in request headers: X-LLM-Provider (deepseek / openai / moonshot) · X-LLM-Key (your model key) · X-LLM-Model (optional, pin a model). ⚠️ How we handle your key: used only in memory for this single request — never stored, never logged. ⚠️ Paid tier — Standard (¥29.9) and above.
/v1/messagesAnthropic Messages-compatible endpoint: send Claude-style messages requests; we resolve the data intent and generate an answer with inline citations. 🔑 BYOK: pass your model key as x-api-key: ct-...:sk-..., or Authorization: Bearer ct-... plus x-api-key: sk-.... deepseek-* / claude-* with sk-... routes to DeepSeek; claude-* with sk-ant-... routes to Anthropic. max_tokens is required; SSE is supported (streaming: upstream tokens are forwarded as generated; stream=false returns the full message). ⚠️ Paid tier — Pro (¥99) and above.
/v1/chat/completionsOpenAI Chat Completions-compatible: point base_url at https://api.ashareapi.com/v1 and set apiKey to ct-...:sk-... (our key, then your model key). model accepts ashare/deepseek-flash / gpt-5.6-luna and similar; stream=true returns SSE. ⭐ Stock Screener (scanner Agent): model=ashare/scanner@deepseek-flash (Pro ¥99+) chooses read-only tools itself and returns x_citations + x_tool_trace. ⚠️ tools is ignored in v1; for Anthropic use /v1/messages. Paid tier — Pro (¥99) and above.
/v1/responsesOpenAI Responses-compatible: input accepts a string or message array; instructions is discarded so the data rules cannot be overridden. apiKey = ct-...:sk-...; stream=true returns the 9 standard Responses SSE events (streaming: upstream tokens are forwarded as generated; stream=false returns the full JSON). ⭐ Stock Screener (scanner Agent): model=ashare/scanner@deepseek-flash (Pro ¥99+) returns x_tool_trace. ⚠️ Server-side previous_response_id is not implemented in v1 — put context in input. Paid tier — Pro (¥99) and above.
/v1/agent-researchDeep research: submit a task, get a task_id, then poll for the result. Flow: POST to submit → receive task_id → poll GET /v1/agent-research/{task_id}. ⭐ Polling does not consume quota (status checks only verify identity — no double billing). Depth tiers (depth): fast — 30–90s, budget 5 calls · standard (default) — 2–5min, budget 12 calls · deep — 5–15min, budget 25 calls. ⚠️ Budget = cap on tool calls (data fetches); the actual value is echoed in the response. 🔑 BYOK — same request-header convention as /v1/agent-ask. ⚠️ Paid tier — Standard (¥29.9) and above.
Other1
/v1/scanner把自然语言条件交给选股员(scanner Agent),返回候选池、引用与工具轨迹。
47 carried over from Standard
Still available here, no extra charge.
/v1/modelsHealth check/v1/healthPoW challenge (anonymous rate-limit boost)/v1/challengeReal-time quote/v1/quoteK-line (D/W/M)/v1/klineDoc search (units / conventions / misuse)/v1/wikiHeat board (trending stocks / whole-market / articles / sectors / ETFs)/v1/hotMarket overview/v1/market-overviewUp/down distribution/v1/changedistTrading calendar (market open/closed)/v1/trade-calendarScanner snapshots for the current key (read-only; no scanner quota charge)/v1/scanner/snapshotsFull-history K-line (10y daily · raw + adjustment factors)/v1/kline-full分时(当日 / 近 5 日盘中走势)/v1/minuteLatest news for a symbol/v1/newsFilings / announcements (list + detail, ~20 years back)/v1/noticeFinancial statements/v1/financeMoney flow + boards + margin/v1/fundTechnical indicators/v1/technicalShareholder research/v1/shareholderChip distribution / cost/v1/chipOrder book (five best bids / asks)/v1/orderbookFull quote snapshot (valuation / market cap / shares / limit prices)/v1/snapshotAbnormal moves / deviation (short-term regulatory signals)/v1/abnormalShort-term review (limit-up structure: sector mainlines / consecutive-board ladder)/v1/reviewLimit-up pool (full pool, or auction-sealed only; reason / seal amount / main capital)/v1/limit-upStock event labels (42)/v1/events7×24 market-wide financial news flash (whole-market wire)/v1/flashTop-trader boards (split)/v1/lhbSector performance/v1/sectorIndustry chain (themes / graph / per-stock position)/v1/industry-chainSector valuation (percentile)/v1/sector-valuationIndex constituents (full list)/v1/index-constituentMacro data/v1/macroTrading halts (CN / HK / US)/v1/suspensionShare buybacks (A-shares / HK)/v1/buybackEarnings disclosure calendar/v1/disclosureConvertible bond terms/v1/bondETF overview/v1/etfIPO calendar/v1/ipoDividends & splits/v1/dividendCompany profile/v1/profileSearch (disambiguation)/v1/searchAll Listed Stocks (code / name / listing date / industry)/v1/stocksCorporate event calendar/v1/calendarMargin trading/v1/margin-tradeBlock trades/v1/block-tradeUsage & quota/v1/usage15 only on Institutional
Not reachable on Pro — requires Institutional (¥199/mo).
/v1/ip-whitelist/v1/bigorder/v1/bigorder-flow/v1/bigorder-queue/v1/bigorder-history/v1/bigorder-split/v1/bigorder-rank/v1/lhb-seats/v1/lhb-agency/v1/market-mood/v1/limit-reason/v1/broken-board/v1/tail-chase/v1/northbound/v1/new-highLimits
500,000 calls · 300 req/min · 20 IP
Batch endpoints have their own daily cap shown above. Heavy-limit responses return 403 with a heavy_limit marker.
Is this tier enough?
- ✓做量化:批量取数(一次 200 只)、因子选股、策略回测
- ✓做短线深度:集合竞价、涨停原因、全市场单日 K 线
- ✓要研究面:研报全文、脱水研报、机构评级、一致预期、五维评分
- ✓要把数据接进自己的 AI(自然语言检索 + 多源取证 + 标准协议)
- ✕要 L2 大单:逐笔成交方向拆分、委托流、主力四分解、全市场主力净额榜
- ✕要龙虎榜席位穿透(具体营业部 / 游资)与机构参与榜
- ✕要市场情绪、炸板、尾盘抢筹、百日新高这批机构视角数据
Get Pro
Key issued immediately after payment. Not sure which tier fits? Ask us first.