Eastmoney Scraper — Stocks, Funds, Quotes & History avatar

Eastmoney Scraper — Stocks, Funds, Quotes & History

Pricing

from $1.00 / 1,000 results

Go to Apify Store
Eastmoney Scraper — Stocks, Funds, Quotes & History

Eastmoney Scraper — Stocks, Funds, Quotes & History

Eastmoney (东方财富) scraper: A-share, Hong Kong, US, ETF, bond, index and board quotes with full fields, K-line history, 24,000+ funds with NAV history, financial reports and announcements. Field codes mapped to English + Chinese names. No login, no API key.

Pricing

from $1.00 / 1,000 results

Rating

0.0

(0)

Developer

Logiover

Logiover

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Eastmoney Scraper — Stocks, Funds, Quotes & History from 东方财富

Disclaimer: this Actor is an independent tool and is not affiliated with, endorsed by or sponsored by Eastmoney (东方财富) or any company of its group. "Eastmoney" and "东方财富" are trademarks of their owners and are used only to describe which public data the Actor reads. It collects public market data that the Eastmoney website shows to every visitor, without a login. You are responsible for using the data lawfully.

Eastmoney Scraper is a ready-made 东方财富数据采集 tool and an Eastmoney API alternative. It scrapes eastmoney.com for A-share, Hong Kong and US stock quotes (股票行情, A股行情, 港股行情, 美股行情), ETF, LOF, REIT, convertible bond (可转债), bond and index quotes, industry, concept and region boards (板块), K-line history from one-minute to yearly bars (K线数据), the whole fund catalogue with returns and fees (基金净值, 基金排行), the complete NAV history of any fund, the financial data centre (业绩报表, 资产负债表, 利润表, 现金流量表, 估值分析) and company announcements (公告). No login, no API key, no browser: pick a mode, press Start and export CSV, Excel, JSON, XML or HTML, or call it from the Apify API, Python, Node.js, Google Sheets, Make, Zapier or n8n.

Eastmoney's pages speak in field codes — f2, f3, f62, f184 — and Chinese labels. This 东方财富爬虫 turns every code into a readable English column, normalises units (lots of 100 shares in mainland China, single shares in Hong Kong and the US, 10-bond lots for bonds), turns Eastmoney's placeholder zeros into real empty values, and returns numbers as numbers and dates as ISO dates. Typical searches it answers: scrape Eastmoney stock list to Excel, download A-share daily prices as CSV, Eastmoney fund NAV history export, AH premium table, Chinese stock market data API, 沪深京A股 全部行情, 东方财富 K线 历史数据, 基金净值 历史 导出.

Table of contents

  1. At a glance
  2. What you get
  3. Who uses this
  4. Quick start
  5. Recipes
  6. Input reference
  7. Market lists
  8. Data dictionary
  9. Sample output
  10. Scale and speed
  11. Data quality checks
  12. What you pay
  13. Integrations
  14. Performance tips
  15. Troubleshooting
  16. Honest limits
  17. Comparison with other options
  18. FAQ
  19. Glossary
  20. Legality and data protection
  21. Changelog
  22. Support

At a glance

Sourceeastmoney.com (东方财富网): quote centre, fund centre, financial data centre, announcement centre
ModesQuotes · Price history · Funds · Fund NAV history · Financial reports · Announcements
Market lists51: A-shares (all boards), Hong Kong, US, ETF, LOF, REIT, bonds, repos, indices, boards, forex
Historydaily to yearly bars back to listing (6,027 bars of 600519 in one request), 5- to 60-minute bars for 31 trading days, 1-minute for the latest day
Depth proven10,322 unique quote rows in one run (103.7 s, 0 duplicates); 24,699 unique funds in one run (34.0 s); measured 2026-10-25
Pricepay per result: $1.50 per 1,000 on the Free plan, down to $1.00 on higher Apify tiers; you set a maximum cost per run

What you get

  • Quotes in blocks: identity, price, trading, order book, valuation, fundamentals, money flow by order size (主力资金), classification, A+H pair, convertible-bond data, board breadth.
  • Price history (raw, forward or backward adjusted), funds (NAV, returns from 1 week to 5 years, fees, money-fund yields), fund NAV history (daily return, dividends, splits, managers).
  • Financial reports (results summary, forecast, express, balance sheet, income, cash flow, daily valuation) and announcements (date, company, categories, title, link).

Who uses this

  • Quant researchers: history mode with adjustment: "backward", joined with the daily valuation report.
  • Spreadsheet investors: quotes with symbols such as 600519, 00700, 510300, scheduled into Google Sheets.
  • Fund analysts: funds mode to screen 24,000+ funds, then fund NAV mode for the shortlist.
  • Convertible-bond traders: list convertible-bonds, filter on conversion and pure-bond premium.
  • Cross-border strategists: hk-ah for the 210 A+H pairs, us-china for US-listed Chinese companies.
  • Equity research and journalists: financials mode with several reportKinds; top gainers and money-flow rankings through sortBy.
  • Fintech developers: run-sync-get-dataset-items as a China-market back end, cached by secId.
  • Academics and compliance teams: announcements by day, then history around the events; filter on category.
  • Credit and rates analysts: bonds-sh, bonds-sz, bond-index, bond-repo-sh and bond-repo-sz.
  • FX desks: forex-all or forex-cnh with 3-, 5-, 10-day change.
  • AI-agent builders: the Apify MCP server returns labelled, unit-explicit rows.

Quick start

In the Console. Open the Actor and press Start: the prefilled input reads 100 A-shares in about 8 seconds. Pick Market lists, or clear them and type codes, names or Eastmoney links into Codes / names (a bare 000001 is both Ping An Bank and the Shanghai Composite: use 1.000001 or a link for the index). Set Max results (0 = everything) and switch off column blocks you do not need. The Output tab has one view per mode; export as CSV, Excel, JSON, XML or HTML. Other modes: change What to collect.

With the API.

curl -X POST "https://api.apify.com/v2/acts/logiover~eastmoney-scraper/run-sync-get-dataset-items?token=<APIFY_TOKEN>" \
-H "Content-Type: application/json" \
-d '{"mode":"quotes","markets":[],"symbols":["600519","00700","AAPL"],"maxItems":0}'

The synchronous call must finish within five minutes. For big jobs start a run (POST .../acts/logiover~eastmoney-scraper/runs?token=<APIFY_TOKEN>&maxTotalChargeUsd=5), read data.defaultDatasetId from the answer and fetch .../datasets/<ID>/items?format=csv&clean=true. Every run's key-value store holds a SUMMARY record: outcome, request and route counts, notes.

Recipes

Exact inputs, validated against the input schema; dates are examples.

1. Every A-share with the full quote row. 沪深京A股; maxItems: 0 = no limit.

{"mode":"quotes","markets":["cn-a-shares"],"maxItems":0}

2. Top 100 gainers. Sorted by Eastmoney, so one page is fetched.

{"mode":"quotes","markets":["cn-a-shares"],"sortBy":"changePercent","sortDescending":true,"maxItems":100}

3. Hong Kong by turnover. Rows carry quotesDelayed: true.

{"mode":"quotes","markets":["hk-main"],"sortBy":"amount","sortDescending":true,"maxItems":300}

4. A+H premium table. 210 pairs with ahPriceRatio, ahPremiumPercent.

{"mode":"quotes","markets":["hk-ah"],"maxItems":0}

5. Convertible bond screener. Conversion data and the underlying stock.

{"mode":"quotes","markets":["convertible-bonds"],"maxItems":0}

6. Look up codes, names and links. Codes, ids, names, links; markets cleared.

{"mode":"quotes","markets":[],"symbols":["600519","00700","AAPL","贵州茅台","https://quote.eastmoney.com/sz000001.html"],"maxItems":0}

7. Whole daily history of a few stocks. backward stays positive; the default is raw.

{"mode":"history","symbols":["600519","000001","00700"],"period":"daily","adjustment":"backward","maxItems":0}

8. One trading day of the 50 largest A-shares. Codes come from the sorted list; ran in 45 s on 2026-10-25.

{"mode":"history","markets":["cn-a-shares"],"sortBy":"marketCap","sortDescending":true,"maxSymbols":50,"period":"daily","fromDate":"2026-10-23","toDate":"2026-10-23","maxItems":0}

9. Whole open-end fund catalogue. One request.

{"mode":"funds","fundTypes":["open-end"],"maxItems":0}

10. NAV history of chosen funds. Unit and accumulated NAV, dividends, splits.

{"mode":"fundNav","fundCodes":["000001","110011","161725","510300","000198"],"maxItems":0}

11. Latest results summary of all A-shares. Empty reportPeriods = latest quarter with rows.

{"mode":"financials","reportKinds":["performance"],"reportMarket":"cn-a-shares","maxItems":0}

12. Balance sheet, income and cash flow of a quarter. Joinable on code.

{"mode":"financials","reportKinds":["balance","income","cashflow"],"reportPeriods":["2026-06-30"],"reportMarket":"cn-a-shares","maxItems":0}

13. Filings of one day. Date ranges are read day by day.

{"mode":"announcements","announcementScopes":["cn-a-shares","us-all"],"fromDate":"2026-10-23","toDate":"2026-10-23","maxItems":0}

Input reference

FieldTypeDefaultMeaning
modestringquotesquotes, history, funds, fundNav, financials or announcements.
marketsarrayprefill ["cn-a-shares"], no defaultMarket list keys (below). Quotes reads them; History takes codes from them when you give none. Clear it to read only typed codes or boards; left out of an API call with no codes, A-shares are read.
symbolsarray[]Codes (600519), quote ids (1.600519), HK or US tickers (00700, AAPL), Eastmoney links, Chinese or English names.
searchTermsarray[]Names always resolved by Eastmoney's search (茅台, 比亚迪).
boardsarray[]Board codes (BK0475, MK0021); adds every constituent. Quotes.
maxItemsinteger 0–1,000,0001000 (prefill 100)Stop after N rows; 0 = no limit.
sortBystringcodecode, amount, volume, changePercent, price, marketCap, floatMarketCap, turnoverRate, volumeRatio, amplitude, peDynamic, pb, mainNetInflow, listingDate (sorted by Eastmoney).
sortDescendingbooleanfalseHighest first.
valuation, fundamentals, moneyFlow, classification, orderBookbooleantrueQuote column blocks; false drops the block.
periodstringdaily1m, 5m, 15m, 30m, 60m, daily, weekly, monthly, quarterly, half-yearly, yearly. 1-minute bars cover the latest trading day, 5- to 60-minute bars 31 trading days.
adjustmentstringnonenone (raw), forward (前复权), backward (后复权).
barsPerSymbolinteger 0–100,0000Newest N bars or NAV points per instrument; 0 = all.
maxSymbolsinteger 1–20,000200Instruments (History) or funds (NAV) taken from a list or type.
fromDate, toDatestring YYYY-MM-DD""Filter bars, NAV dates, announcements; in Funds mode they add a window return.
fundTypesarray["open-end"]open-end, exchange-traded, money-market.
fundCodesarray[]Six-digit fund codes for NAV mode; empty = codes from fundTypes.
reportKindsarray["performance"]performance, forecast, express, balance, income, cashflow, valuation.
reportPeriodsarray[]Quarter ends (2026-06-30) or trading days (valuation); empty = latest.
reportMarketstringcn-a-sharesall, cn-a-shares, cn-sh-a, cn-sz-a, cn-chinext, cn-star, cn-bj-a, cn-b-shares, cn-neeq, cn-st-shares.
announcementScopesarray["cn-a-shares"]cn-a-shares, cn-sh-a, cn-sz-a, cn-chinext, cn-star, cn-bj-a, cn-b-shares, cn-neeq, hk-all, us-all, bonds.
proxyConfigurationobjectApify proxyLeave the default (direct, then datacenter, then a capped residential rescue route).

Names go through Eastmoney's search (first match wins); ids like 1.600519 and links skip the lookup. History mode takes codes from symbols, else from the market lists, up to maxSymbols.

Market lists

Eastmoney's own lists of the quote centre, with the rows each held on 2026-10-25 (they change daily; every quote row also carries listTotal).

  • Mainland China: cn-a-shares 沪深京A股 5,580 · cn-sh-a 沪市A股 2,319 · cn-sz-a 深市A股 2,907 · cn-bj-a 京市A股 354 · cn-star 科创板 619 · cn-chinext 创业板 1,412 · cn-b-shares B股 77 · cn-new-shares 新股 85 · cn-st-shares ST股 392 · cn-delisting 退市整理 2 · cn-neeq 新三板 6,431 · cn-connect-sh 沪股通 1,642 · cn-connect-sz 深股通 1,887
  • Hong Kong: hk-all 全部港股 4,742 · hk-main 港股主板 2,621 · hk-gem 港股创业板 315 · hk-connect-sh 港股通(沪) 666 · hk-connect-sz 港股通(深) 666 · hk-ah AH股比价 210 · hk-bluechips 蓝筹股 95 · hk-redchips 红筹股 172 · hk-stateowned 国企股 218 · hk-warrants 港股窝轮 6,838 · hk-cbbc 港股牛熊证 5,527 · hk-index 港股指数 368
  • United States: us-all 全部美股 13,906 · us-wellknown 知名美股 280 · us-china 中概股 382 · us-china-internet 互联网中国 23 · us-technology 美股科技类 29 · us-financial 美股金融类 20 · us-pinksheet 粉单市场 957 · us-index 美股指数 3
  • Funds, bonds, indices, boards, forex: etf ETF基金 1,661 · lof LOF基金 390 · reits 公募REITs 103 · convertible-bonds 可转债 320 · bonds-sh 沪市债券 22,742 · bonds-sz 深市债券 20,006 · bond-repo-sh 沪市质押式回购 9 · bond-repo-sz 深市质押式回购 9 · bond-index 债券指数 6 · index-sh 上证系列指数 268 · index-sz 深证系列指数 957 · index-csi 中证系列指数 563 · index-global 全球主要指数 20 · board-industry 行业板块 496 · board-concept 概念板块 516 · board-region 地域板块 31 · forex-all 外汇行情 190 · forex-cnh 离岸人民币 20

Data dictionary

Quotes

Fill % = share of rows with a non-empty value, measured on 5,580 A-share rows and 4,742 Hong Kong rows of the 2026-10-25 run (build 1.0.7); a dash means the column does not exist for that kind of row. Columns that cannot apply to an instrument are left out rather than null (a conversion price on a share), so no column is empty across a run. Identity, price and trading blocks are always on; the others are switchable.

FieldsEastmoney code · 中文MeaningFill % A-shares / Hong Kong
secId code marketNum name urlf12 代码 · f13 市场 · f14 名称Identity. Quote id market.code (input in every mode); code; market number (0 Shenzhen/Beijing, 1 Shanghai, 116 Hong Kong, 105/106/107 NASDAQ/NYSE/AMEX, 90 board, 2 CSI); name; quote link.100 / 100
nameTraditional nameEnf421 繁体名称 · f422 英文名称Names. Traditional and English name.99.9–100 / 72–100
securityTypeCodef19 证券类型Board. With marketNum: 1/2 Shanghai A, 1/23 STAR, 0/6 Shenzhen A, 0/80 ChiNext, 0/81 Beijing and NEEQ, 116/3 HK main, 116/4 GEM.100 / 100
tradingStatusCode tradingStatus tradingStatusCnf292 交易状态Status. Eastmoney status 1 to 19, English and Chinese.100 / 100
quoteTime tradeDatef124 交易时间 · f297 行情日期Time. ISO UTC time of the last update; ISO trading day.100 / 100
market marketCn exchange currency baseCurrency instrumentClass priceUnit volumeUnit quotesDelayed—Context. Set by the Actor. currency per row (Shenzhen B-shares HKD, Shanghai B-shares USD); class: equity, fund, bond, cbond, repo, index, board, forex; units spelled out; quotesDelayed true for Hong Kong.100 / 100
listKey list listCn listTotal rank scrapedAt rowId—List. List of origin, its size, position in Eastmoney's order, UTC read time, de-duplication key (= secId).100 / 100
price change changePercentf2 最新价 · f4 涨跌额 · f3 涨跌幅Price. In priceUnit; percent (1.25 = +1.25 %). Null if not traded.99.9 / 66.4
open high low previousClose amplitudePercentf17 今开 · f15 最高 · f16 最低 · f18 昨收 · f7 振幅Session. In priceUnit; amplitude in percent.99.9–100 / 66.4–71.1
speed3minPercent change5minPercent change3dPercent change5dPercent change10dPercent change60dPercent changeYtdPercentf22 涨速(3分钟) · f11 5分钟涨跌 · f127 3日涨跌幅 · f109 5日涨跌幅 · f160 10日涨跌幅 · f24 60日涨跌幅 · f25 年初至今涨跌幅Momentum. Percent change over 3 and 5 minutes, 3, 5, 10, 60 days, year to date.99.9–100 / 66.4–71
volume amountf5 成交量 · f6 成交额Volume. volume in volumeUnit (lots of 100 shares on the mainland, shares in Hong Kong and US, lots of 10 bonds); amount in currency.99.9 / 53.6–66.6
turnoverRatePercent volumeRatio buyVolume sellVolumef8 换手率 · f10 量比 · f34 外盘(买盘) · f35 内盘(卖盘)Activity. Percent of float; vs 5-day average; outer and inner volume.99.8–100 / 48.7–90.3
bidPrice askPrice bidPrice2 askPrice2 bidVolume askVolume orderImbalancePercentf31 买一价 · f32 卖一价 · f142 买二价 · f143 卖二价 · f211 买量 · f212 卖量 · f33 委比Order book. Best two bids and asks, sizes, imbalance -100 to 100 (not on indices, boards, forex).98.4–100 / 60.7–100
marketCap floatMarketCap totalShares floatSharesf20 总市值 · f21 流通市值 · f38 总股本 · f39 流通股本Size. In currency; share counts.100 / 59.7–59.8
peDynamic peStatic peTtm pbf9 市盈率(动态) · f114 市盈率(静态) · f115 市盈率(TTM) · f23 市净率Valuation. PE on annualised latest, last full-year, trailing-12-month earnings; price to book. No peStatic for US ADRs.100 / 59.3
revenue revenueYoyPercent netProfit netProfitYoyPercentf40 营业收入 · f41 营业收入同比 · f45 净利润 · f46 净利润同比Fundamentals. In currency, growth in percent, period in reportDate; mainland values cumulative for the fiscal year. No net profit for Hong Kong and US; Hong Kong amounts: see Data quality checks.99.9–100 / 58.9
roePercent bookValuePerShare grossMarginPercent debtRatioPercent reportDatef37 净资产收益率(加权) · f113 每股净资产 · f49 毛利率 · f57 资产负债率 · f221 报告期Ratios. Weighted ROE (not annualised); book value per share; gross margin (none for banks, Hong Kong, US); debt ratio (HK/US fractions x 100); report date.98.2–100 / 59.3–59.4
mainNetInflow mainNetInflowPercent superLargeNetInflow superLargeNetInflowPercent largeNetInflow largeNetInflowPercent mediumNetInflow mediumNetInflowPercent smallNetInflow smallNetInflowPercentf62 主力净流入 · f184 主力净占比 · f66 超大单净流入 · f69 超大单净占比 · f72 大单净流入 · f75 大单净占比 · f78 中单净流入 · f81 中单净占比 · f84 小单净流入 · f87 小单净占比Money flow today. Net inflow in currency and percent of turnover by order size; main force = super-large + large.99.9 / 53.5
mainNetInflow3d mainNetInflow3dPercent mainNetInflow5d mainNetInflow5dPercent mainNetInflow10d mainNetInflow10dPercentf267 3日主力净流入 · f268 3日主力净占比 · f164 5日主力净流入 · f165 5日主力净占比 · f174 10日主力净流入 · f175 10日主力净占比Money flow 3, 5, 10 days. Main-force net inflow and its share of turnover.99.9 / 61.3–64.8
mainNetInflowRank mainNetInflowRankChangef225 主力净占比排名 · f226 主力排名变化Money-flow rank. Eastmoney's rank by main-force share and its change (mainland).93.5–99.9 / —
industryBoard industryBoardCode regionBoard conceptBoards listingDatef100 所属行业 · f265 行业板块代码 · f102 所属地域 · f103 所属概念 · f26 上市日期Classification. Boards of the stock (industryBoardCode BKnnnn feeds boards); listing date.98.7–100 / 58.9–97.1
hShareCode hShareMarketNum hShareName hSharePrice hShareChangePercent hShareSecIdf191 A/H对应股代码 · f192 A/H对应股市场 · f193 A/H对应股名称 · f186 A/H对应股最新价 · f187 A/H对应股涨跌幅A+H, A-share row. The H-share of an A-share (A+H pairs only).3.8 / —
aShareCode aShareMarketNum aShareName aSharePrice aShareChangePercent aShareSecIdf191 A/H对应股代码 · f192 A/H对应股市场 · f193 A/H对应股名称 · f186 A/H对应股最新价 · f187 A/H对应股涨跌幅A+H, Hong Kong row. The A-share of a Hong Kong share.— / 4.5
ahPriceRatio ahPremiumPercentf189 AH股比价 · f188 AH股溢价A+H premium. A price over H price in one currency; premium in percent.3.8 / 4.5
convertibleBondCode convertibleBondMarketNum convertibleBondName convertibleBondPrice convertibleBondChangePercent convertibleBondSecIdf232 正股/转债代码 · f233 正股/转债市场 · f234 正股/转债名称 · f229 正股/转债最新价 · f230 正股/转债涨跌幅Convertible link, share row. The company's convertible bond.5.5–5.8 / —

Convertible-bond rows (320) add underlyingStockCode, Name, MarketNum, SecId, Price, ChangePercent (f232 f234 f233 f229 f230 正股), conversionPrice (f235 转股价), conversionValue (f236 转股价值), conversionPremiumPercent (f237 转股溢价率), pureBondValue (f227 纯债价值), pureBondPremiumPercent (f238 纯债溢价率), putTriggerPrice (f239 回售触发价), callTriggerPrice (f240 强赎触发价), maturityRedemptionPrice (f241 到期赎回价), conversionStartDate (f242 开始转股日), bondIssueDate (f243 申购日). Filled on 96.6 to 100 % of the rows.

Board and index rows add risingCount, fallingCount, unchangedCount (f104 f105 f106 上涨 下跌 平盘家数), leadingStockName, Code, MarketNum, SecId, Percent (f128 f140 f141 f136 板块领涨股) and laggingStockName, Code, MarketNum, SecId, Percent (f207 f208 f209 f222 板块领跌股).

Price history

One row per bar; fill % from the 2,500-row run of 10 instruments (shares, index, board, ETF, bond, currency pair, US stock).

FieldsSourceMeaningFill %
secId code name market exchange currency instrumentClass urlas quotesInstrument identity (no exchange for currency pairs).90–100
period periodCn adjustment adjustmentCnklt, fqtBar size and adjustment, English and Chinese (日K, 不复权, 前复权, 后复权).100
date datetimef51ISO date; datetime (+08:00) on minute bars only.100
open high low closef52 开盘 · f54 最高 · f55 最低 · f53 收盘In priceUnit.100
previousClose change changePercent amplitudePercentf60 涨跌额 · f59 涨跌幅 · f58 振幅For an instrument's first bar these are empty, not 0.100
volume amount turnoverRatePercentf56 成交量 · f57 成交额 · f61 换手率Absent for currency pairs.90
volumeUnit priceUnit baseCurrency dailyBarsTotal scrapedAt rowId—dailyBarsTotal = daily bars Eastmoney holds; rowId = secId:period:adjustment:date.10–100

Funds

Fill % from the 24,699-row run of all open-end funds (2026-10-25).

FieldsSourceMeaningFill %
fundCode fundName pinyinAbbr fundCategory fundType fundTypeCnranking, fundcode_searchCode, name, pinyin (拼音缩写), category (混合型-偏股 …), ranking of origin.100
navDate nav accumulatedNav dayGrowthPercent单位净值 · 累计净值 · 日增长率Unit NAV, accumulated NAV, daily growth (open-end).96.7–99.9
week1Percent month1Percent month3Percent month6Percent year1Percent year2Percent year3Percent year5Percent ytdPercent sinceInceptionPercent近1周 … 近5年 · 今年来 · 成立来Return over 1 week, 1, 3, 6 months, 1, 2, 3, 5 years, year to date, since inception, percent.44–100
inceptionDate成立日Inception date.100
originalFeePercent feePercent feeDiscount feeViaCashAccountPercent原费率 · 现费率 · 折扣Subscription fee before and after discount, discount in 折 (1 = 10 %), fee via the broker cash account.49.4–99.7
purchaseStatus purchaseStatusCn申购状态open, subscription period, redemption stopped, purchase stopped, closed period, trading stopped …92.2
currency fundsInList rank url scrapedAt rowId—CNY; size of and position in the ranking; fund page; rowId = fundType:fundCode.100

Money-market funds (957 rows) add yieldPer10kUnits (万份收益), annualised7dPercent (七日年化), annualised14dPercent, annualised28dPercent; with fromDate or toDate every fund gets rangeReturnPercent, rangeFrom, rangeTo.

Fund NAV history

One row per NAV date; fill % from the 2,000-point run of 5 funds (one a money fund).

FieldsSourceMeaningFill %
fundCode fundName fundCategory navDatepingzhongdataFund and NAV date (Beijing day).100
nav accumulatedNav dailyReturnPercentData_netWorthTrend, Data_ACWorthTrendUnit NAV, accumulated NAV, daily return in percent.80
yieldPer10kUnits annualised7dPercentData_millionCopiesIncome, Data_sevenDaysYearIncomeMoney funds only: income per 10,000 units, 7-day annualised yield.20
navEvent navEventCn dividendPerUnit dividendText dividendRecordDate dividendPayDate splitType splitRatioNAV markers + 分红送配 pagedividend, split or other on event dates; cash per unit, Eastmoney's wording, record and payment dates; split type and ratio.0.1
fundManagers feePercent originalFeePercent minPurchaseAmountfund_Rate, fund_sourceRate, fund_minsgManagers, fees, minimum purchase.80–100
currency url scrapedAt rowId—CNY; fund page; rowId = fundCode:navDate.100

Financial reports

Seven report kinds of Eastmoney's financial data centre, one row per company and period, amounts in CNY. Every row carries code, name, reportKind, reportDate, noticeDate, currency, url, reportPeriod (the period you asked for) and rowId; lines a company type does not have (bank lines on an industrial) are left out. Fill % from 2,000 results-summary rows and 11 to 300 rows of the other kinds, 2026-10-25.

Results summary (业绩报表), report RPT_LICO_FN_CPD:

FieldsEastmoney columnsMeaningFill %
code secuCode name market securityType industry industryBoardSECURITY_CODE, SECUCODE, TRADE_MARKET, PUBLISHNAMECode (600519.SH), name, board, A股, industry.100
reportDate reportPeriod reportType reportQuarter reportYear reportPeriodName noticeDate updatedAtREPORTDATE, DATATYPE, QDATE, NOTICE_DATEPeriod end; period you asked for; labels (2026年 半年报, 2026Q2); notice and update dates.100
basicEps basicEpsExclNonRecurring bookValuePerShare operatingCashFlowPerShareBASIC_EPS, DEDUCT_BASIC_EPS, BPS, MGJYXJJEPer share, CNY (扣非 excludes non-recurring items).99.8–100
revenue netProfitToParentTOTAL_OPERATE_INCOME, PARENT_NETPROFITCNY, cumulative for the fiscal year.100
revenueYoyPercent netProfitYoyPercent revenueQoqPercent netProfitQoqPercentYSTZ, SJLTZ, YSHZ, SJLHZGrowth vs a year ago and vs the previous quarter, percent.100
roeWeightedPercent grossMarginPercentWEIGHTAVG_ROE, XSMLLWeighted ROE; gross margin (none for banks).97–98.8
dividendPlan dividendYieldPercent dividendYearASSIGNDSCRPT, ZXGXL, PAYYEARProposed distribution (Eastmoney's wording), dividend yield, year.14.8–99.3
reportKind reportKindCn currency url scrapedAt rowId—Report name, CNY, quote link, rowId = kind:code:date.100

The other six kinds (fields filled on at least 95 % of rows; each line x also has xYoyPercent, its change against the same period a year earlier, in percent; fill rates from the 2026-10-25 runs):

Results forecast (业绩预告) (RPT_PUBLIC_OP_NEWPREDICT, 172 rows): forecastMetric, forecastAmountLower, forecastAmountUpper, forecastText, forecastReason, forecastType, priorYearSamePeriodAmount, forecastMidpointAmount, forecastDirection, forecastNetProfitChangeLowerPercent, forecastNetProfitChangeUpperPercent, forecastQoqMeanPercent. Less filled: forecastChangeLowerPercent 68 %, forecastChangeUpperPercent 68 %, forecastMidpointChangePercent 68 %.

Results express (业绩快报) (RPT_FCI_PERFORMANCEE, 11 rows): basicEps, revenue, revenuePriorYear, netProfitToParent, netProfitToParentPriorYear, bookValuePerShare, roeWeightedPercent, netProfitYoyPercent, revenueQoqPercent, netProfitQoqPercent, reportQuarter, reportType.

Balance sheet (资产负债表) (RPT_DMSK_FN_BALANCE, 300 rows): totalAssets, fixedAssets, cashAndEquivalents, cashYoyPercent, accountsReceivable, inventory, totalLiabilities, accountsPayable, totalEquity, currentRatioPercent, debtToAssetsPercent. Less filled: advancesFromCustomers 31.7 %. Plus 8 bank, insurer and broker lines on under 5 % of rows.

Income statement (利润表) (RPT_DMSK_FN_INCOME, 300 rows): netProfitToParent, revenue, totalOperatingCost, costOfSales, operatingExpenses, sellingExpenses, adminExpenses, financeExpenses, operatingProfit, profitBeforeTax, incomeTax, taxesAndSurcharges, netProfitYoyPercent, netProfitExclNonRecurring. Plus 6 bank, insurer and broker lines on under 5 % of rows.

Cash-flow statement (现金流量表) (RPT_DMSK_FN_CASHFLOW, 300 rows): netCashFromOperations, cashFromSales, cashPaidToEmployees, netCashFromInvesting, capitalExpenditure, netCashFromFinancing, netIncreaseInCash. Less filled: investmentIncomeReceived 76 %. Plus 6 bank, insurer and broker lines on under 5 % of rows.

Daily valuation of every A-share (估值分析) (RPT_VALUEANALYSIS_DET, 300 rows): marketCap, freeFloatMarketCap, closePrice, changePercent, totalShares, freeFloatShares, peTtm, peLatestAnnual, pbMrq, pcfLatestAnnual, pcfTtm, psTtm, peg.

Announcements

One row per notice. Fill % from the 2,889-row run of one trading day (A-shares and US stocks); titleEn exists on US filings only and announcementsInScope only with a date range.

FieldsEastmoney fieldMeaningFill %
announcementId rowIdart_codeNotice id (AN2026…), unique.100
title titleEn languagetitle_ch, title_en, languageChinese title (US filings: form name such as 8-K); English title on US filings; Chinese/English.37.5–100
noticeDate publishedAtnotice_date, display_timeFiling date (after the close = next trading day); publication time +08:00.100
category categories annTypescolumns, ann_typeFirst and all categories (三季度报告全文, 董事会决议公告 …), type codes.100
code name companies companyCount quoteUrlcodesFirst company, all companies, their count, quote page.100
url scope scopeCn announcementsInScope scrapedAttotal_hitsNotice page; scope you asked for; with a date range, notices in the scope that day.100

Sample output

Real rows from platform runs of build 1.0.7 on 2026-10-25 (last trading day: Friday 2026-10-23). Nothing is masked or edited; rows are wrapped.

Quotes, a mainland A-share (selected columns of 110)

{
"secId": "1.600519", "code": "600519", "marketNum": 1, "name": "贵州茅台", "nameTraditional": "貴州茅台", "nameEn": "KWEICHOW MOUTAI",
"quoteTime": "2026-10-23T08:11:58.000Z", "tradeDate": "2026-10-23", "price": 1335, "changePercent": 1.25, "change": 16.51,
"open": 1311.84, "high": 1343.88, "low": 1310, "previousClose": 1318.49, "amplitudePercent": 2.57, "change60dPercent": 3.33,
"volume": 57686, "amount": 7677216283, "turnoverRatePercent": 0.46, "marketCap": 1668858937335,
"floatMarketCap": 1668858937335, "peDynamic": 18.74, "peStatic": 20.27, "peTtm": 20.49, "pb": 6.64, "revenue": 92278072083.21,
"revenueYoyPercent": 1.300099, "netProfit": 44516880421.86, "netProfitYoyPercent": -1.951595, "roePercent": 16.75,
"bookValuePerShare": 200.989755, "grossMarginPercent": 89.555213, "debtRatioPercent": 15.193112, "reportDate": "2026-06-30",
"mainNetInflow": 283257760, "mainNetInflowPercent": 3.69, "industryBoard": "白酒Ⅱ", "regionBoard": "贵州板块",
"conceptBoards": ["酿酒概念", "西部大开发", "电商概念", "央国企改革", "超级品牌", "乡村振兴", "白酒", "味蕾经济"], "listingDate": "2001-08-27",
"market": "Shanghai", "exchange": "SSE", "currency": "CNY", "instrumentClass": "equity", "priceUnit": "CNY per share",
"volumeUnit": "lot (100 shares)", "tradingStatus": "market holiday", "quotesDelayed": false, "listTotal": 5580,
"url": "https://quote.eastmoney.com/unify/r/1.600519", "scrapedAt": "2026-10-25T00:19:16.612Z"
}

Price history, one daily bar

{
"secId": "1.600519", "name": "贵州茅台", "currency": "CNY", "period": "daily", "adjustment": "raw prices as traded",
"date": "2026-10-23", "open": 1311.84, "high": 1343.88, "low": 1310, "close": 1335, "previousClose": 1318.49, "change": 16.51,
"changePercent": 1.25, "volume": 57686, "amount": 7677216283, "turnoverRatePercent": 0.46, "volumeUnit": "lot (100 shares)",
"priceUnit": "CNY per share", "dailyBarsTotal": 6027, "rowId": "1.600519:daily:none:2026-10-23"
}

Funds, one catalogue row

{
"fundCode": "110011", "fundName": "易方达优质精选混合(QDII)", "fundCategory": "QDII-混合偏股", "navDate": "2026-10-23", "nav": 3.9095,
"accumulatedNav": 5.6995, "dayGrowthPercent": 1.28, "week1Percent": -2.49, "month1Percent": -3.29, "month3Percent": -4.79,
"month6Percent": -20.39, "year1Percent": -30.88, "year5Percent": -48.74, "ytdPercent": -26.36, "sinceInceptionPercent": 444.46,
"inceptionDate": "2008-06-19", "originalFeePercent": 1.5, "feePercent": 0.15, "purchaseStatus": "open", "rank": 21096
}

Fund NAV history, a dividend day of an ETF (selected columns)

{
"fundCode": "510300", "fundName": "沪深300ETF华泰柏瑞", "navDate": "2025-06-18", "nav": 3.9043, "accumulatedNav": 1.7291,
"dailyReturnPercent": 0.13, "navEvent": "dividend", "dividendPerUnit": 0.088, "dividendText": "每10份派现金0.8800元",
"dividendRecordDate": "2025-06-17", "dividendPayDate": "2025-06-27"
}

Announcement (selected columns)

{
"announcementId": "AN202610221830798278", "title": "兴发集团:湖北兴发化工集团股份有限公司关于董事、高级管理人员增持股份进展公告", "language": "Chinese",
"noticeDate": "2026-10-23", "publishedAt": "2026-10-22T16:07:40+08:00", "categories": ["高管人员持股变动", "股东/实际控制人股份增持"],
"code": "600141", "name": "兴发集团", "url": "https://data.eastmoney.com/notices/detail/600141/AN202610221830798278.html",
"scope": "Shanghai + Shenzhen + Beijing A-shares", "announcementsInScope": 1808
}

CSV columns. Exports contain every column of the mode; the Quotes view of the Output tab (code, name, nameEn, market, exchange, currency, price, changePercent, volume, amount, turnoverRatePercent, marketCap, peTtm, pb, revenue, netProfit, roePercent, mainNetInflow, industryBoard, tradingStatus, list, url) is a good spreadsheet header. Arrays are comma-joined in CSV.

Scale and speed

Measured on the Apify platform on 2026-10-25, build 1.0.7, 2,048 MB, default settings; duration is the run's own. Eastmoney answers differently by hour, so read these as typical.

ModeInputRowsSeconds
Quotes, the prefilled input100 A-shares1008.0
Quotes1,000 A-shares, default settings1,00019.8
Quotesall A-shares + all Hong Kong, no limit10,322103.7
Quotes, 8 lists in one runA+H, US-listed Chinese, convertible bonds, boards, forex, indices, REITs, B-shares2,04673.4
Fundsall open-end funds24,69934.0
Price historywhole daily history of Kweichow Moutai (2001-08-27 to 2026-10-23)6,0277.7
Price history10 instruments x 250 daily bars (shares, index, board, ETF, bond, currency pair, US)2,50034.4
Price history5-minute bars of Kweichow Moutai (31 trading days)1,48814.6
Fund NAV history5 funds, newest 400 points each2,0005.7
Financial reportsresults summary 2026-06-30, capped at 2,0002,0009.4
Financial reportsforecast and express 2026-09-30; balance, income, cash flow 2026-06-30 (300 each); valuation 2026-10-23 (300)172 / 11 / 3003.6 to 10.5 each
Announcementsone trading day, A-shares + US stocks2,88921.4

The largest proofs: 10,322 unique quote rows in one run with 0 duplicates (5,580 A-shares and 4,742 Hong Kong rows) and 24,699 unique funds in one run with 0 duplicates, both on build 1.0.7. Page counts and totals change every day as stocks list and funds launch.

  • The market-list endpoint is the slow part: 100 rows a page, and an exit address is refused after a handful of requests. The Actor gives each address a strict budget, rotates through fresh datacenter sessions and then a small capped residential rescue route, and hedges the first request so first rows arrive in seconds. In the 10,322-row run 100 of the 104 list pages came through the rescue route.
  • Everything else is fast: history, the fund ranking, NAV files, the data centre and announcements tolerate bursts from one address; one request returns a stock's whole daily history or the whole open-end fund ranking.
  • Time limit: the Actor keeps a reserve of 12 % of the timeout (8 to 30 s) and stops cleanly before it.

Data quality checks

The numbers were checked against Eastmoney's own pages on 2026-10-25, using data from the same runs as the samples.

Quote rows against the K-line chart. For 24 instruments in 14 kinds of market (Shanghai, Shenzhen, STAR, ChiNext, Beijing, Hong Kong x4, both B-share markets, 2 convertible bonds, a REIT, an index, a board, 2 currency pairs, 5 US-listed names) price, volume, turnover and percentage change equal the daily bar of Eastmoney's chart API for the same day: 24 of 24 (Kweichow Moutai: close 1,335, 57,686 lots, +1.25 % in both).

Valuation and fundamentals. For Kweichow Moutai, Ping An Bank, CATL and SMIC, price and market cap equal (TTM PE and PB match to Eastmoney's rounding) the data centre's 估值分析 row, and revenue and net profit equal its 业绩报表 row (4 of 4). Funds and notices. The 20 newest NAV points of three funds equal the fund page's list (60 of 60); catalogue returns of four funds and the yields of two money funds equal the fund pages; five announcements equal Eastmoney's notice API.

What the checks found:

  • Hong Kong amounts carry one conversion rate. For eight Hong Kong companies with a 2026-06-30 report (Tencent, CCB, Xiaomi, Meituan, HSBC, AIA, CK Hutchison, Ping An) revenue and book value per share in the quote row are exactly 1.1513 times the figures on Eastmoney's Hong Kong F10 page, whatever currency the company reports in (China Mobile, 2026-09-30: 1.1649); ROE and debt ratio are identical. Eastmoney's two sources thus use different currencies with one rate per report date. The Actor passes the quote feed through and labels the row currency: HKD; compare Hong Kong companies with each other, not with a filing. Alibaba, with a March fiscal year, does not follow the pattern (its quote-feed revenue is about 30 % of the F10 fiscal-year figure).
  • Eastmoney writes 0 where it has no figure (net profit and gross margin of Hong Kong and US listings, a bank's gross margin, a currency pair's volume). These become missing values, never numbers.
  • A third of the Hong Kong list has no price. Of 4,742 rows, 1,595 had no last price: 1,318 Hong Kong bonds and notes (names like PRC B2710), 229 main-board and 22 GEM shares that were suspended, not yet listed or had not traded, and 26 others. They are in Eastmoney's list and are kept, with tradingStatus; filter on price for live quotes.
  • Forward-adjusted prices can be negative: Kweichow Moutai's 2001 bars come out near -312 (raw 35.55). The default is raw; backward stays positive.

What you pay

Pay per result: one dataset row is one result; you pay for rows saved, not for requests or run time. The price per result falls with your Apify subscription tier.

ResultsFreeBronzeSilverGold, Platinum, Diamond
1,000$1.50$1.33$1.17$1.00
10,000$15.00$13.33$11.67$10.00
100,000$150.00$133.33$116.67$100.00

At the Free price: all 5,580 A-shares is $8.37, the 24,699-fund catalogue $37.05, the 6,027 daily bars of Kweichow Moutai $9.04, one trading day of filings (2,889 notices) $4.33; at the lowest tier two thirds of that.

Maximum cost per run. Apify lets you cap what one run may spend (Console: Run options; API: maxTotalChargeUsd). The Actor reads the cap at start, works out how many results fit, never writes a row it cannot charge for and stops cleanly with a message such as "Saved 33 quotes — this run's maximum cost ($0.05) covers 33 results at the current price. Raise "Maximum cost per run" to collect more." The run still succeeds and keeps what it saved. A cap below one result ends the run with Saved 0 rows. (The 33 in the example is the Free price; the figure rises with your tier.)

Integrations

from apify_client import ApifyClient
client = ApifyClient("<APIFY_TOKEN>")
run = client.actor("logiover/eastmoney-scraper").call(run_input={
"mode": "quotes", "markets": ["cn-a-shares"], "sortBy": "amount", "sortDescending": True, "maxItems": 100})
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
print(row["code"], row["name"], row["price"], row["changePercent"], row["volumeUnit"])
  • Google Sheets: =IMPORTDATA("https://api.apify.com/v2/acts/logiover~eastmoney-scraper/runs/last/dataset/items?format=csv&clean=true&token=<APIFY_TOKEN>") after a scheduled run (use a read-only token).
  • Make, Zapier, n8n: the Apify app of each tool: Run Actor with a recipe's JSON, then Get dataset items; trigger by schedule or webhook.
  • Airtable and warehouses (BigQuery, Snowflake, Postgres): export CSV or JSON Lines; secId + tradeDate, rowId or announcementId are stable upsert keys.
  • Webhooks and schedules: an ACTOR.RUN.SUCCEEDED webhook in the Integrations tab; schedule e.g. 16:30 Beijing time on weekdays (a weekend run returns the last close).
  • AI agents: add the Actor to the Apify MCP server; a code or Chinese name returns one labelled row.

Performance tips

  • Switch off blocks you do not need (orderBook, moneyFlow, classification, fundamentals, valuation): smaller rows, lighter exports.
  • "Top N": use maxItems with a sort order; Eastmoney sorts on the server, so one page is fetched.
  • In history mode give explicit codes for many symbols; a market list first needs the slow list pages.

Troubleshooting

Every message the Actor can write (status line, log or SUMMARY):

Message or outcomeMeaning and action
Saved N <things> (everything requested was read) in S s.COMPLETED. Nothing to do.
… (max results reached) …Stopped at maxItems. Raise it (0 = no limit).
… (stopped at the run time limit) …Timeout reserve reached; rows so far are saved. Narrow the input or raise the timeout.
… N request(s) could not be read. / PARTIALSome pages failed on every route; the rest is saved. Run again for the missing part.
Eastmoney answered but nothing matched — 0 <things>.EMPTY_RESULT. The notes after it name the list, fund type, period or dates that matched nothing.
Saved N … — this run's maximum cost ($X) covers M results … / Saved 0 rows — … does not cover a single result …The cost cap ended the run cleanly (or is below one result). Raise the cap or lower maxItems.
Nothing to scrape: choose at least one market list … / … give codes in "Codes / names" … / … give fund codes …INVALID_INPUT (Quotes, Price history, Fund NAV): no list, board, code or fund.
No <things> collected: Eastmoney refused every route (…)BLOCKED. Try later; report with the run link if it persists.
No <things> collected: not one request succeeded (…) after N attempt(s).FETCH_FAILED: network or timeouts on every route. Try again; see SUMMARY.lastError.
No <things> collected and N request(s) could not be read, so an empty result cannot be confirmed.Nothing saved and pages failed, so "empty" is not proven. Run again.
Crashed after saving N <things>: …Unexpected error; saved rows are kept. Report with the run link.
Ignored the unknown market list "x". (also fund type, report, scope) / Ignored "x" — a board code looks like BK0475. / Ignored the start date "x" — use YYYY-MM-DD.A value is not an allowed key or date; use the keys of the input reference.
Could not read the list "…" / Could not read the … rankingThat list failed on every route; other lists of the run are unaffected.
Could not look up "x". / Eastmoney has no instrument matching "x".Search failed or knows no such name; use 1.600519 or a link.
<report> covers Shanghai and Shenzhen A-shares only — not <market>.The daily valuation report has no Beijing, B-share or NEEQ rows.
Eastmoney refused the <report> query for <period>: … / <report>: Eastmoney has no rows for <date> yet. / no rows for <date>.The data centre rejected the filter, or the period is not published; pick an earlier one or leave periods empty.
Without a date range Eastmoney serves at most the newest 50,000 announcements per scope … / No announcements found for <scope>.Set fromDate and toDate; windows are read day by day.
<route>: every address it offered is used up on this endpoint — stepping aside for now.Normal: the list endpoint's per-address limit; the Actor moves down the ladder.
Log warnings: cost cap below maxItems; Proxy configuration failed …; Skipped a row the dataset refused …; missing fund categoriesInformational: the Actor continued (default proxy, one dropped row, no category column). Report a dropped row.

Honest limits

  • Snapshots, not ticks; Hong Kong is 15 minutes delayed (quotesDelayed: true).
  • The list endpoint is rate limited per address. Large multi-list quote runs take minutes (10,322 rows: 103.7 s) and use the residential rescue route.
  • Minute-bar depth is Eastmoney's: 1-minute bars cover the latest trading day, 5- to 60-minute bars 31 trading days.
  • Hong Kong and US fundamentals are thin: revenue, ROE, book value, debt ratio, but no net profit or gross margin, and Hong Kong amounts use Eastmoney's rate.
  • Funds: catalogue and NAV history are complete; holdings and manager biographies are not collected. 1,306 of 24,699 open-end rows have purchase status trading stopped and 1,933 none.
  • Announcements are metadata: the text and PDF are not downloaded.
  • Not covered: futures, options, commodities, the dragon-tiger list (龙虎榜), shareholder lists, research reports, news, the 股吧 forum.

Comparison with other options

This ActorCopying from the websiteOwn script on the site's JSONLicensed terminal or vendor
Setuppress Startnonewrite and maintain codeaccount and licence
Units, placeholder zerosnormalised, zeros that mean "no data" become emptyas displayedraw, with - and fake zerosvendor-defined
Volumetens of thousands of rows per runa page at a timeyours, incl. the per-address limithigh, licensed
Costper result, with a capyour timeyour time and serverssubscription

A licensed vendor is the choice for a data licence, redistribution rights, tick or derivatives data.

FAQ

Is there an official Eastmoney API?

The numbers on eastmoney.com load from JSON endpoints that are not a documented public API. This Actor calls them and names every fNN code.

How do I scrape Eastmoney stock data to Excel or CSV?

Run Quotes mode with a list such as cn-a-shares and press Export on the Output tab: CSV and Excel are built in, JSON, XML and HTML come through the API.

Do I need a login, cookies or an API key for Eastmoney?

No. The Actor reads only what Eastmoney shows anonymous visitors.

Which markets and instruments are covered?

A-shares (Shanghai, Shenzhen, Beijing, STAR, ChiNext, ST), B-shares, NEEQ, Hong Kong, US stocks, ETFs, LOFs, REITs, bonds, repos, indices, boards and forex (51 lists). No futures or options.

Are the quotes real time?

They are the quote centre's figures when the list page is read. Eastmoney names the markets it delays for visitors outside mainland China (financial futures, Shanghai options, Hong Kong), so only Hong Kong rows are 15 minutes late and carry quotesDelayed: true.

Why do some Hong Kong rows have no price?

The "all Hong Kong stocks" list also holds Hong Kong bonds and notes and shares that are suspended, not yet listed or did not trade: 1,595 of 4,742 rows on 2026-10-25. Filter on price; tradingStatus says why.

What do the f2, f3, f62 and f184 codes mean?

f2 last price, f3 percentage change, f62 main-force net inflow, f184 its share of turnover. The data dictionary maps every code to its English column and Chinese label.

What unit is the volume column in?

volumeUnit says: lot (100 shares) for mainland shares, B-shares, ETFs and REITs (Eastmoney counts mainland volume in 手; turnover over price times volume comes out near 100), share for Hong Kong and US, lot (10 bonds of 100 CNY face) for bonds.

What currency are prices and market caps in?

The row's currency: CNY for mainland shares, funds and bonds, HKD for Hong Kong, USD for US stocks; Shenzhen B-shares HKD, Shanghai B-shares USD.

Why do Hong Kong revenue figures differ from the company's report?

Eastmoney's quote feed and its Hong Kong F10 page use different currencies with one rate per report date (1.1513 for 2026-06-30). The Actor passes the quote feed through and labels the row HKD; see Data quality checks.

Why is net profit empty for Hong Kong and US stocks?

Eastmoney's quote feed writes 0 there, meaning "not available", so the column is left out instead of showing a fake zero. For A-shares see the financial reports mode.

How do I get the full price history of a stock?

Price history mode, symbols = the code, barsPerSymbol 0: Kweichow Moutai's 6,027 daily bars since 2001-08-27 took 7.7 seconds.

Which price adjustment should I use?

Raw (default) is what traded. Forward adjusted is Eastmoney's chart default but can go negative. Backward adjusted stays positive and suits long-run returns.

How far back do minute bars go?

Measured 2026-10-25: 1-minute bars cover the latest trading day (240 bars for a mainland share, 330 for a Hong Kong share), 5- to 60-minute bars the latest 31 trading days, daily and longer bars the listing date.

How do I download the whole fund catalogue?

Funds mode, fundTypes: ["open-end"], maxItems: 0: 24,699 funds on 2026-10-25. Add exchange-traded and money-market for ETFs, LOFs and money funds.

What is the difference between unit NAV and accumulated NAV?

Unit NAV (单位净值, nav) is the price of one unit. Accumulated NAV (累计净值) adds back dividends paid since inception, so it shows total return.

What do the money-market fund columns mean?

yieldPer10kUnits is the income of 10,000 units on navDate (万份收益); annualised7dPercent the 7-day annualised yield (七日年化).

How do I find a board code like BK0475?

Take a row's code from board-industry, board-concept or board-region, or industryBoardCode from a stock row, and put it into boards.

How do I look up a stock by its Chinese name?

Put the name into symbols or searchTerms (贵州茅台, 茅台, Apple): Eastmoney's search resolves it and the first match wins. Exact codes are safer for scripts.

Why did my code lookup return thousands of rows?

A market list was still selected: the Console prefills cn-a-shares, so clear Market lists. API calls without markets that name codes read only those codes.

What is the A+H premium?

Companies listed in Shanghai or Shenzhen (A) and Hong Kong (H): ahPriceRatio is A price over H price in one currency, ahPremiumPercent the A-share's premium. The hk-ah list holds 210 pairs.

How do I read the convertible bond columns?

conversionValue is what the shares you would get are worth, conversionPremiumPercent how far the bond trades above it, pureBondValue its worth without the option; trigger prices are the underlying prices for put and call rights.

How are announcements dated?

noticeDate is the date Eastmoney files the notice under (after the close it counts for the next trading day), publishedAt the publication time in Beijing time. Date ranges are read day by day on noticeDate.

Can I get the text or PDF of an announcement?

No: rows carry title, categories, companies, dates and the notice-page link, where the PDF is attached.

How much does it cost and how does the maximum cost work?

$1.50 per 1,000 results on the Free plan, down to $1.00 on higher tiers. With Maximum cost per run set, the Actor stops cleanly when the budget is used and keeps what it saved.

Why does a multi-list quote run take minutes?

Eastmoney's list endpoint refuses an address after a handful of requests, so pages go through many addresses (10,322 rows: 103.7 s). Other modes are faster per row.

How are duplicates handled?

Every row has a stable rowId and the Actor keeps an id set per run, so one instrument, bar, NAV date, report row or notice is saved once.

What time zone do the timestamps use?

quoteTime and scrapedAt are ISO 8601 UTC; minute-bar datetime and publishedAt carry +08:00 (Beijing). Dates are calendar days of the exchange.

The Actor reads public data without logging in. What you may do with market data depends on Eastmoney's terms, exchange rules and your jurisdiction; see Legality and data protection.

What happens if Eastmoney changes its website?

The Actor reads JSON endpoints, not layouts, and every run writes a SUMMARY. Report problems on the Issues tab; we reply within 24 hours.

Glossary

  • 沪深京A股 / 科创板 / 创业板 / 北交所: A-shares of Shanghai, Shenzhen and Beijing; STAR Market, ChiNext, Beijing Stock Exchange.
  • 新三板 / B股: NEEQ over-the-counter market; B-shares (Shanghai USD, Shenzhen HKD).
  • 中概股 / AH股: US-listed Chinese companies; A+H dual listings (溢价 = A-share premium).
  • 可转债: Convertible bond; 转股价 / 转股价值 / 转股溢价率 conversion price, value, premium; 纯债价值 pure-bond value; 回售 / 强赎 put and forced call.
  • 板块: Board or sector: industry (行业), concept (概念), region (地域).
  • 涨跌幅 / 振幅 / 换手率 / 量比 / 委比 / 手: Change %, amplitude, turnover rate, volume ratio, order imbalance, lot (100 shares, 10 bonds); 外盘 / 内盘 = buyer- / seller-initiated volume.
  • 主力资金 / 超大单 / 大单 / 中单 / 小单: Main-force money and the order-size classes of money flow.
  • 市盈率 (动态 / 静态 / TTM) / 市净率: P/E on annualised latest, last full-year and trailing-12-month earnings; price to book.
  • 不复权 / 前复权 / 后复权 / K线: Raw, forward- and backward-adjusted prices; candlestick bar.
  • 单位净值 / 累计净值 / 万份收益 / 七日年化: Unit and accumulated NAV; money-fund income per 10,000 units and 7-day annualised yield.
  • 业绩报表 / 业绩预告 / 业绩快报: Results summary, forecast, express report.
  • 资产负债表 / 利润表 / 现金流量表 / 估值分析: Balance sheet, income statement, cash-flow statement, daily valuation table.
  • 港股通 / 公告 / ST股: Southbound Stock Connect; announcement; shares under special treatment.

Legality and data protection

The Actor reads public market data that Eastmoney shows to every anonymous visitor; it does not log in or bypass access controls. The only personal data in the output are the names of fund managers on public fund pages (fundManagers); if you process them, China's PIPL, the GDPR and local law apply and you are the controller. Market data is also subject to Eastmoney's terms, exchange rules and, in some places, database rights: use it for your own analysis, and take legal advice before redistributing or reselling it. The Actor keeps to per-address request budgets so it does not load Eastmoney beyond what a run needs. This is general information, not legal advice.

Changelog

1.0 (2026-10-25), first release. Six modes over 51 market lists, board constituents and code or name lookups; every fNN code mapped to an English column; explicit units; placeholder zeros turned into missing values; route ladder (direct, datacenter, capped residential rescue) for the list endpoint's per-address limit; outcomes COMPLETED, PARTIAL, EMPTY_RESULT succeed, BLOCKED, FETCH_FAILED, INVALID_INPUT fail with the reason; a SUMMARY record in every run; clean stop at the maximum cost. In the latest build markets has no schema default, so API lookups of codes and boards read only what they name.

Support

Questions, a missing field or a problem? Open an issue on the Actor's page (the Issues tab) with the run link. We reply within 24 hours. Requests for more lists, report tables or columns are welcome.