East Money Scraper avatar

East Money Scraper

Pricing

from $3.00 / 1,000 results

Go to Apify Store
East Money Scraper

East Money Scraper

Scrape East Money (eastmoney.com) - China's largest finance portal. Search finance news, get real-time stock quotes and historical K-line data from the public push2 JSON APIs, browse market news by column, and resolve quotes from stock page URLs. No login required.

Pricing

from $3.00 / 1,000 results

Rating

0.0

(0)

Developer

Crawler Bros

Crawler Bros

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

Scrape East Money (eastmoney.com) — China's largest finance portal. News search, real-time stock quotes + historical K-line data from the public push2 JSON APIs, market news flash feed (kuaixun) by column, quote resolution from stock page URLs, and market rankings. HTTP-only, no login, no proxy required by default.

What this actor does

  • Six modes: search (news search, default), byStock (quote + K-line history), marketNews (kuaixun flash feed by column), byStockUrl (quote from quote-page URLs), topGainers (market ranking by change % / turnover / amount / market cap / main net inflow / volume / PE / volume ratio), byStockName (resolve a Chinese stock name via the suggest API → quote + K-line)
  • Real-time quotes from push2delay.eastmoney.com/api/qt/stock/get — price, change %, open/high/low/prev close, volume, amount, turnover rate, volume ratio, PE (dynamic/static/TTM), PB, market caps, limit-up / limit-down prices, net asset per share
  • K-line history from the push2his API family with multi-host fallback (push2hispush2his2push2) — the hosts are latency-flaky and rotate; a single failing host no longer kills the candle data. Daily/weekly/monthly periods and price adjustment (前复权/后复权/不复权) are selectable
  • News search via search-api-web.eastmoney.com with automatic fallback to the so.eastmoney.com HTML search
  • Rankings cover Shanghai / Shenzhen / all A-shares / ChiNext / US stocks, sorted by 8 fields, ascending or descending (top gainers and top losers)
  • Auto-escalation: on 403/429 the actor lazily engages the free Apify AUTO datacenter proxy and retries with backoff
  • Typed error records for invalid stock codes / URLs / unresolvable names — nothing is silently dropped
  • Empty fields are omitted (strip_nulls before every push)

Output fields

Stock records (recordType: "stock"):

  • stockCode, stockName, secid (e.g. 1.600519), price, change, changePct, open, high, low, prevClose, volume, amount, turnoverRate, volumeRatio, peRatio, peStatic, peDynamic, pbRatio, totalMarketCap, floatMarketCap, totalShares, floatShares, amplitude, limitUp, limitDown, navPerShare, plus market/marketCap/mainNetInflow on ranking records, sourceUrl

K-line records (recordType: "kline"):

  • klineDate, open, close, high, low, volume, amount, amplitude, changePct, change, turnover, plus stockCode, stockName, sourceUrl

News records (recordType: "news"):

  • title, digest, newsUrl, publishTime, imageUrl, column, sourceUrl
  • Search mode also emits newsCode (article code) and source (publisher, e.g. 证券时报网)
  • MarketNews mode also emits newsId (kuaixun item id) and commentCount

Error records (recordType: "error"):

  • input, message — emitted for invalid codes/URLs instead of silent drops

All data records carry recordType, scrapedAt, sourceUrl; error records are diagnostics (input, message) without a sourceUrl.

Input

FieldTypeDefaultDescription
modeselectsearchsearch / byStock / marketNews / byStockUrl / topGainers / byStockName
searchQuerytext贵州茅台News keyword (mode=search)
searchSortselectdefaultdefault (relevance — honors the keyword) or time (newest; note: upstream time currently returns the site-wide hot feed and ignores the keyword)
stockCodesarray["600519"]Any form: 600519, 1.600519, SH600519, SZ000001
stockNamesarray["贵州茅台"]Chinese stock names (mode=byStockName)
stockUrlsarrayquote.eastmoney.com URLQuote page URLs (mode=byStockUrl)
includeKlinebooltrueEmit K-line candles with quotes
klineDaysint (1–500)60Candles per stock
klinePeriodselectdayday / week / month candle granularity
adjustPriceselectqfqqfq 前复权 / hfq 后复权 / none 不复权
newsColumnselect102Kuaixun column: 100 all, 102 finance, 103 stocks, 104 funds, 105 bonds, 106 gold, 107 forex, 110 global, 111 banking, 112 insurance, 113 real estate, 114 auto, 115 tech, 118 food & beverage, 120 travel, 122 sports, 125 health, 127 agriculture, 128 energy
marketRankselectallAshA / szA / allA / gem (ChiNext) / us (NASDAQ/NYSE/AMEX) — mode=topGainers
rankSortselectchangePctchangePct / turnover / amount / volume / marketCap / mainNetInflow / volumeRatio / peRatio
rankDirectionselectdescdesc (top of the field) or asc (bottom — e.g. top losers)
minPrice / maxPricenumber (0–100000)Price filter
minChangePct / maxChangePctnumber (−100–100)Change % filter
containsKeywordtextSubstring filter on news title / stock name / digest
maxItemsint (1–1000)50Hard cap

Examples

{ "mode": "search", "searchQuery": "新能源", "maxItems": 20 }
{ "mode": "byStock", "stockCodes": ["600519", "SZ000001", "0.300750"], "includeKline": true, "klineDays": 30, "klinePeriod": "week" }
{ "mode": "byStockName", "stockNames": ["贵州茅台", "宁德时代"], "maxItems": 10 }
{ "mode": "marketNews", "newsColumn": "103", "maxItems": 20 }
{ "mode": "byStockUrl", "stockUrls": ["https://quote.eastmoney.com/sh600519.html"] }
{ "mode": "topGainers", "marketRank": "us", "rankSort": "marketCap", "maxItems": 30 }
{ "mode": "topGainers", "marketRank": "allA", "rankSort": "changePct", "rankDirection": "asc", "maxItems": 20 }

Data source

East Money's public JSON APIs (no auth): push2delay.eastmoney.com / push2his*.eastmoney.com quotes + K-line, newsapi.eastmoney.com kuaixun flash feed, search-api-web.eastmoney.com news search, searchapi.eastmoney.com stock suggest. The push2 API hosts are known to be latency-flaky from some networks — the actor retries with exponential backoff, tries all three kline hosts in order, and escalates to the Apify AUTO proxy on 403/429.

Limitations

  • Hong Kong (m:100+t:3) boards intermittently return rc:102 (empty payload) — they are intentionally not exposed in marketRank.
  • byStockName resolves via the suggest API, which matches the top suggestion only (e.g. 茅台600519); ambiguity is resolved to the first suggestion.
  • topGainers scans the first 5 pages (250 rows) of a ranking and marketNews the first 10 pages; filters that match nothing within that window emit 0 records with a status message (never an infinite pagination loop).
  • marketRank=us covers NASDAQ + NYSE + AMEX (m:105,m:106,m:107); changePct for US stocks is a true percentage (relative to previous close).

Use cases

  • A-share quote monitoring / portfolio tracking
  • Historical price series for backtesting
  • Chinese-language finance news monitoring
  • Market-scan daily reports (top gainers by change % / turnover)

FAQ

What is a secid? East Money's internal stock id: 1.600519 = Shanghai 600519, 0.000001 = Shenzhen 000001. The actor accepts many input forms and normalizes to this.

Why are some news columns missing? The newsColumn enum covers the 19 most-used kuaixun columns; the flash feed also exposes a long tail of rarely-used columns that are not exposed to keep the dropdown honest — and only columns the API currently serves data for are listed (e.g. 133 医药 was dropped after East Money stopped serving it). Contact the author if you need a column added.

Is the K-line data delayed? The push2delay host serves delayed quotes for free. Real-time data requires a licensed feed.

Why an error record instead of skipping a bad code? The brief requires typed error records for invalid inputs — a bad stock code produces recordType: "error" with the offending input and a hint, so no input is ever silently dropped.

Why might search return the HTML fallback? search-api-web.eastmoney.com intermittently times out from some networks; the actor falls back to the so.eastmoney.com HTML results page, which returns the same article titles/URLs.