ParseForge Scrapers

Naver Finance Scraper

parseforge/naver-finance-scraper

AutomationDeveloper tools

Scrape Korean stock data from Naver Finance: KOSPI and KOSDAQ prices, PER, PBR, ROE, analyst price targets, foreign and institutional flows. Export CSV, JSON, Excel, XML.

Run this scraper See the API call
Total runs
11
Bookmarked
0
Last modified
8 days ago

This scraper was last updated on .

What does the Naver Finance Scraper return?

ParseForge Banner

๐Ÿ“ˆ Naver Finance Scraper

๐Ÿš€ Export the whole Korean stock market in minutes. 66 fields per listing, including the sell side price target and mean recommendation that no other Korean market Actor on Apify returns, alongside the daily foreign, institutional and retail net buy.

Naver Finance is where Korea actually looks up its own market. It carries the sell side consensus, the daily investor flow breakdown and four years of statements for every KOSPI and KOSDAQ name, and it publishes all of it without a login. This Actor reads Naver's own JSON endpoints and returns each listing as one flat row: live price, valuation multiples, analyst rating and mean price target, foreign ownership, the net buy and sell of each investor class, peer comparison, broker research and the full income statement history.

Every run returns 66 fields per listing across a universe of 2,482 KOSPI and 1,823 KOSDAQ listings, sorted by market capitalization or filtered to any of 79 industry sectors. Numbers arrive as real numbers, not as Korean formatted strings, so a CSV opens in Excel and sorts correctly on the first try. A listing takes roughly 0.2 seconds to collect over plain HTTP, with no browser and no API key.

๐ŸŽฏ Target Audience ๐Ÿ’ก Primary Use Cases
Quantitative analysts and fund managers Build a KOSPI and KOSDAQ factor screen on PER, PBR, ROE and dividend yield.
Emerging market equity researchers Track sell side price targets and consensus ratings across a whole sector.
Fintech and brokerage product teams Back a Korean market watchlist, screener or robo advisor with a maintained feed.
Corporate strategy and M&A teams Benchmark a Korean competitor's revenue, margin and market cap over four years.

๐Ÿ“‹ What the Naver Finance Scraper does

๐Ÿ’ก Why it matters: Korean market data usually arrives one of two ways. Either it is a raw price feed with no fundamentals, or it is a terminal subscription priced for institutions. Naver Finance publishes the middle layer for free, in Korean, behind endpoints nobody documents. This Actor turns that layer into a clean English keyed table.

  • ๐ŸŽฏ Analyst consensus, per stock. Mean recommendation score and mean price target straight from Naver's sell side aggregate, with the upside against the current price computed for you.
  • ๐Ÿ’ธ Investor flow breakdown. Daily net buy volume split into foreign, institutional and retail, the single most watched signal on the Korean market. Optionally pull up to 100 trading days of history.
  • ๐Ÿ“Š Four years of statements. Revenue, operating profit, net income, margins, ROE, debt ratio, quick ratio, EPS, BPS and dividend per share, annual and quarterly, with the forward year flagged as an analyst forecast rather than an actual.
  • ๐Ÿญ Sector browsing. Pick any of 79 verified industry sectors, from Semiconductors & Semiconductor Equipment to Cosmetics, and get every listed company in it ranked by market cap.
  • ๐Ÿข Peer comparison built in. Every row carries up to six same industry competitors with their price, change and market cap, taken from Naver's own peer panel.
  • ๐Ÿ“ฐ Broker research. The latest Korean brokerage reports on the stock with title, house, publication date, read count and a direct link.
  • ๐Ÿ”ข Real numbers. 1,555์กฐ 1,101์–ต์› becomes 1555110109728000. 11.93๋ฐฐ becomes 11.93. 46.71% becomes 46.71.
  • ๐ŸŒ Bilingual industry labels. Sectors come back as Semiconductors & Semiconductor Equipment (๋ฐ˜๋„์ฒด์™€๋ฐ˜๋„์ฒด์žฅ๋น„) so an English speaking analyst and a Korean speaking one read the same file.
  • ๐Ÿ“ฆ One fixed schema. 66 columns on every row, sentinels instead of nulls, so a spreadsheet or database mapping never breaks.

๐ŸŽฌ Full Demo (๐Ÿšง Coming soon)

A short walkthrough video is in production and will land here.

๐Ÿ“Š Output

Each listing becomes one flat row. These are the main fields:

Field Type Description
๐Ÿ–ผ imageUrl string Company logo.
๐Ÿข stockName string Company name as Naver lists it, in Korean.
๐Ÿ”ข ticker string Six digit Korean ticker.
๐Ÿ› market string KOSPI or KOSDAQ.
๐Ÿงพ securityType string stock, etf or etn.
๐Ÿ”— url string Canonical Naver Finance page.
๐Ÿญ industryName string Sector in English with the Korean original.
๐Ÿท industryCode string Naver's numeric sector code.
๐Ÿšฆ tradingStatus / marketStatus string Trading halt state and whether the session is open.
๐Ÿ’ต closePrice / previousClose number Last close and the prior close, in KRW.
๐Ÿ“Š priceChange / changePercent / direction number, string Absolute move, percent move, and Rising, Falling or Unchanged.
๐Ÿ“ openPrice / dayHigh / dayLow number Session range.
๐Ÿ“… week52High / week52Low number 52 week range.
๐Ÿ•ฐ lastTradedAt string Last trade timestamp with the Seoul offset.
๐Ÿ“ฆ tradingVolume number Shares traded.
๐Ÿ’ฑ tradingValueKrw number Turnover in exact KRW.
๐Ÿฆ marketCapKrw number Market capitalization in exact KRW.
๐Ÿ‡ฐ๐Ÿ‡ท marketCapText string The same figure in Korean units, for example 1,555์กฐ 1,101์–ต.
๐Ÿ“Š per / forwardPer number Trailing and consensus forward price to earnings.
๐Ÿ’ฐ eps / forwardEps number Trailing and consensus forward earnings per share, KRW.
๐Ÿ“ pbr / bps number Price to book and book value per share.
๐ŸŽ dividendPerShare / dividendYieldPercent number Annual dividend and yield.
๐ŸŒ foreignOwnershipPercent number Share of the float held by foreign investors.
โญ analystRating number Mean sell side recommendation, 1 to 5.
๐ŸŽฏ analystPriceTarget number Mean 12 month target price, KRW.
๐Ÿš€ analystUpsidePercent number Target against the current close, computed.
๐Ÿ—“ analystConsensusDate string When the consensus was last refreshed.
๐ŸŒ foreignerNetBuyShares number Foreign investors' net buy for the session, negative when selling.
๐Ÿ› institutionNetBuyShares number Institutional net buy.
๐Ÿ™‹ individualNetBuyShares number Retail net buy.
๐Ÿ“† investorFlowDate string Session the flow numbers belong to.
๐ŸŒ™ afterHoursPrice / afterHoursChange / afterHoursChangePercent / afterHoursStatus number, string After hours session.
๐Ÿ“˜ fiscalYear string Latest reported fiscal year.
๐Ÿ’ต revenue / operatingProfit / netIncome number Latest reported year, in exact KRW.
๐Ÿ“ˆ operatingMarginPercent / netMarginPercent / roePercent / debtRatioPercent number Latest reported ratios.
๐Ÿ”ฎ forecastFiscalYear / forecastRevenue / forecastOperatingProfit / forecastNetIncome string, number Consensus forecast year.
๐Ÿข peers array Up to six same sector competitors with price, change, market cap and link.
๐Ÿ“ฐ researchReports array Broker reports with title, house, date, read count and link.
๐Ÿ“š financialsAnnual / financialsQuarterly array Full 16 row statement per period.
๐ŸŒŠ investorTrend array Daily investor flow history, optional.
๐Ÿ•ฏ priceHistory array Daily OHLC and volume history, optional.
๐Ÿ•’ scrapedAt string ISO 8601 collection time.
โŒ error string Populated only on a row that failed.
Sample records

Three real rows from a run on 2026-08-27, trimmed to the headline fields:

{
  "stockName": "์‚ผ์„ฑ์ „์ž",
  "ticker": "005930",
  "market": "KOSPI",
  "industryName": "Semiconductors & Semiconductor Equipment (๋ฐ˜๋„์ฒด์™€๋ฐ˜๋„์ฒด์žฅ๋น„)",
  "closePrice": 266000,
  "changePercent": 1.72,
  "marketCapKrw": 1555110109728000,
  "per": 11.93,
  "forwardPer": 5.53,
  "pbr": 3.09,
  "eps": 22292,
  "roePercent": 10.85,
  "dividendYieldPercent": 0.63,
  "foreignOwnershipPercent": 46.71,
  "analystRating": 4.04,
  "analystPriceTarget": 491875,
  "analystUpsidePercent": 84.92,
  "foreignerNetBuyShares": 1381786,
  "institutionNetBuyShares": -97433,
  "individualNetBuyShares": -3223427,
  "revenue": 333605900000000,
  "operatingProfit": 43601100000000,
  "forecastFiscalYear": "2026.12",
  "forecastRevenue": 738467500000000
}
{
  "stockName": "SKํ•˜์ด๋‹‰์Šค",
  "ticker": "000660",
  "market": "KOSPI",
  "industryName": "Semiconductors & Semiconductor Equipment (๋ฐ˜๋„์ฒด์™€๋ฐ˜๋„์ฒด์žฅ๋น„)",
  "closePrice": 1730000,
  "changePercent": 2.49,
  "marketCapKrw": 1263751791450000,
  "per": 7.71,
  "forwardPer": 4.95,
  "pbr": 4.67,
  "eps": 224313,
  "roePercent": 44.15,
  "dividendYieldPercent": 0.17,
  "foreignOwnershipPercent": 50.65,
  "analystRating": 4,
  "analystPriceTarget": 3317917,
  "analystUpsidePercent": 91.79,
  "foreignerNetBuyShares": -159385,
  "institutionNetBuyShares": -140329,
  "individualNetBuyShares": -335812,
  "revenue": 97146700000000,
  "operatingProfit": 47206300000000,
  "forecastFiscalYear": "2026.12",
  "forecastRevenue": 345803900000000
}
{
  "stockName": "์‚ผ์„ฑ์ „๊ธฐ",
  "ticker": "009150",
  "market": "KOSPI",
  "industryName": "Electronic Equipment & Instruments (์ „์ž์žฅ๋น„์™€๊ธฐ๊ธฐ)",
  "closePrice": 1385000,
  "changePercent": 4.14,
  "marketCapKrw": 103450768960000,
  "per": 106.67,
  "forwardPer": 69.9,
  "pbr": 10.23,
  "roePercent": 7.7,
  "foreignOwnershipPercent": 37.43,
  "analystRating": 4,
  "analystPriceTarget": 2350500,
  "analystUpsidePercent": 69.71,
  "peers": [
    { "ticker": "011070", "stockName": "LG์ด๋…ธํ…", "closePrice": 597000, "changePercent": 2.4, "direction": "Rising", "marketCapKrw": 14129262000000 }
  ],
  "researchReports": [
    { "title": "[NDR ํ›„๊ธฐ] ์ˆ˜๊ธ‰ ๋ถˆ์•ˆ์„ ๋จน๊ณ  ์ž๋ผ๋Š” ์ค‘", "brokerage": "ํ•˜๋‚˜์ฆ๊ถŒ", "publishedAt": "2026-08-11", "readCount": 23744 }
  ]
}

โœจ Why choose this Actor

  • Sell side consensus, which nobody else carries. Mean analyst recommendation and mean 12 month price target ship on every covered row. No other Korean market Actor on Apify publishes them, and they arrive next to the foreign, institutional and retail net buy that Korean traders actually watch.
  • English keys on Korean data. Every column is a plain English key and every sector carries an English label, so an analyst who does not read Korean can still work the file.
  • Exact KRW, not Korean units. Market cap and turnover come back as integers in won. You never have to parse ์กฐ and ์–ต yourself.
  • Fast and light. Plain HTTP against Naver's own JSON, roughly 0.2 seconds per listing, 512 MB of memory, no browser and no proxy required.
  • Whole universe coverage. 2,482 KOSPI and 1,823 KOSDAQ listings, or one of 79 sectors, in a single run.
  • Honest about its limits. The ceiling section below spells out what Naver does not publish, before you spend anything.

๐Ÿ“ˆ How it compares to alternatives

This Actor Typical Korean market scrapers
Analyst rating and price target Yes, mean recommendation and mean target No
Foreign, institution and retail net buy Yes, daily, with up to 100 days of history Rarely, and usually aggregate only
Annual and quarterly statements Yes, 16 rows over 4 periods, forecast year flagged Sometimes annual only
Peer comparison Yes, up to 6 same sector names per row No
Broker research links Yes, up to 5 per stock No
Sector browsing Yes, 79 verified sectors Market wide only
Values as numbers Yes, exact KRW integers Often Korean formatted strings
Login or API key None Some require a data vendor key
Fields per row 66 Commonly 10 to 20

The ceiling, stated plainly. Naver publishes an aggregate consensus, not the underlying analyst rows, so you get the mean recommendation and the mean price target but not each house's individual call. Broker research is capped at the 5 most recent reports per stock, and the Actor returns the report metadata and link rather than the report PDF. Investor flow and price history are capped at 100 trading days per run because Naver's own endpoint stops there. Naver has no English company name anywhere in its data, so stockName is Korean and the ticker is the reliable join key. Finally, listings are market cap ranked and that ordering cannot be changed on Naver's side: filtering by sector, security type or minimum market cap happens in the Actor, not at the source.

๐Ÿš€ How to use

  1. Create a free Apify account. New accounts get $5 in free credit. Sign up here.
  2. Open the Actor and go to the Input tab.
  3. Choose a starting point. Pick a market to browse the whole of KOSPI or KOSDAQ, pick one of the 79 sectors, or supply specific companies by Naver Finance URL, six digit ticker, or company name search.
  4. Set Max Items to the number of listings you want back.
  5. Toggle the extras. Financial statements and peers are on by default. Turn on investor flow history or price history when you need the time series, and turn off what you do not need to make large runs faster.
  6. Click Start and watch the log.
  7. Download your data from the Storage tab as CSV, JSON, Excel or XML, or pull it from the API.

Combine inputs freely. URLs, tickers and search terms are always scraped first, then a market or sector browse fills the remaining slots up to Max Items.

๐Ÿ’ผ Business use cases

Factor screening and quantitative research. Pull all 2,482 KOSPI listings once a day and rank them on any combination of PER, forward PER, PBR, ROE, dividend yield and debt ratio. Because forwardPer and forwardEps are consensus based and per is trailing, you get both the realised and expected side of a value screen in the same row, which is normally two separate data purchases.

Sell side consensus tracking. analystPriceTarget and analystRating come with analystConsensusDate, so a daily run gives you a time series of how the street's view on a name is drifting. Cross that against analystUpsidePercent and you have a ready made list of the most and least loved names in a sector.

Foreign flow monitoring. Korean equities move on foreign investor positioning more than most markets. Turn on investor flow history to get up to 100 trading days of foreign, institutional and retail net buy for a watchlist, and you can see accumulation or distribution building before it shows up in the price.

Competitive and M&A benchmarking. Scrape a sector with the industry filter and you get every listed competitor's four year revenue, operating profit, margin and ROE trajectory alongside their current valuation, plus Naver's own peer panel for each name. That is the raw material for a comps table without a terminal subscription.

๐Ÿ”Œ Automating Naver Finance Scraper

Schedule a run for just after the Seoul close at 15:30 KST and push the results wherever your team already works. Apify's native integrations cover Make and Zapier for no code workflows, Slack for a daily movers digest, Airbyte for loading into a warehouse, GitHub for triggering on repository events, and Google Drive for dropping a fresh CSV into a shared folder. Anything not on that list can read the dataset straight from the Apify API or a webhook.

๐ŸŒŸ Beyond business use cases

Research. Academics studying emerging market efficiency, retail versus institutional behaviour, or the informational content of sell side targets get a clean daily panel of an entire national market at no licensing cost.

Personal. A retail investor can maintain a personal Korean watchlist with the same fundamentals and consensus a professional sees, in a spreadsheet they own, updated on their own schedule.

Non-profit. Governance and transparency organisations can track ownership concentration and foreign holdings across the chaebol linked listings that dominate the KOSPI.

Experimentation. The 66 field schema plus four years of statements makes a solid training set for anyone building a valuation model, a stock screener side project, or an LLM agent that answers questions about the Korean market.

๐Ÿค– Ask an AI assistant about this scraper

Paste this into ChatGPT, Claude or any assistant that can browse:

Read https://apify.com/parseforge/naver-finance-scraper and tell me how to use it to build a KOSPI value screen ranking companies on PER, PBR and ROE, and what the input JSON should look like.

The Actor's input schema, output schema and this README are all published on that page, so an assistant can generate a working input for you without you reading a line of documentation.

โ“ Frequently Asked Questions

๐Ÿ”‘ Do I need a Naver account or an API key? No. Everything this Actor reads is published by Naver Finance to logged out visitors.

๐ŸŒ Are company names available in English? No. Naver Finance carries no English company name in any of its endpoints, so stockName is Korean. Use ticker as your join key against any English reference data you already have. Sector names are the exception and do come back bilingually.

๐Ÿ“‰ Does it cover KOSDAQ as well as KOSPI? Yes. 2,482 KOSPI listings and 1,823 KOSDAQ listings, both including ETFs and ETNs. Use the Security Types filter to keep only common stock.

๐Ÿ•’ How fresh is the price data? Naver serves the live session price while the Seoul market is open, 09:00 to 15:30 KST, and the settled close afterwards. Every row carries lastTradedAt with the Seoul offset and marketStatus so you always know which one you are looking at.

๐ŸŒ™ What is afterHoursPrice? Korea runs an after hours single price session following the close. When it is active or has settled, those fields carry it. Outside that window they return N/A.

๐Ÿ“Š What does analystRating mean? It is Naver's mean sell side recommendation on a 1 to 5 scale, where 5 is the strongest buy. A small cap with no analyst coverage returns N/A rather than a fabricated number.

๐Ÿ’ฑ What currency and units are the financial figures in? Everything monetary is in Korean won. Revenue, operating profit, net income, market cap and turnover are exact integer KRW. Per share figures like EPS, BPS and dividend are KRW per share. Ratios are percentages.

๐Ÿ”ฎ Why is one of the financial periods marked as a forecast? Naver includes the consensus forecast year alongside reported years. Every entry in financialsAnnual and financialsQuarterly carries isForecast, and the row level forecast* fields are always the forecast year, so you never mistake an estimate for an actual.

๐Ÿšซ Why do some rows have N/A in the analyst and dividend fields? Because Naver genuinely has nothing there. Small caps often carry no analyst coverage and many growth names pay no dividend. The Actor never emits a null and never invents a value, so N/A means the source withholds it.

๐Ÿ“„ Can I get the full text of the broker research reports? No. The Actor returns each report's title, brokerage, date, read count and a direct link. The report itself is a PDF on Naver's research pages and is not included.

๐Ÿ›ก Do I need a proxy? No. Naver Finance serves this data without blocking and the proxy option is off by default. Turn it on only if you are running unusually large jobs or need a specific egress country.

๐Ÿ“ฆ How many listings can one run return? Up to 1,000,000 on a paid plan. In practice the whole Korean market is 4,305 listings, so a full market sweep is a single small run.

๐Ÿ”Œ Integrate with any app

Every run's dataset is available through the Apify API, so you can pull results into any language or platform that speaks HTTP. Apify also ships official clients for JavaScript and Python, plus native integrations for Make, Zapier, Airbyte, Slack, GitHub and Google Drive.

๐Ÿ”— Recommended Actors

๐Ÿ’ก Pro Tip: browse the complete ParseForge collection.

๐Ÿ†˜ Need Help? Open our contact form

โš ๏ธ Disclaimer: This is an independent tool, not affiliated with or endorsed by Naver Corporation. It collects only publicly available data and is not investment advice.

What input does the Naver Finance Scraper accept?

FieldTypeWhat it doesDefault
startUrls array Paste Naver Finance stock pages, for example https://m.stock.naver.com/domestic/stock/005930 or https://finance.naver.com/item/main.naver?code=005930. Leave empty to browse a whole market or industry instead. []
stockCodes array Six-digit Korean tickers, one per line. Example: 005930 (Samsung Electronics), 000660 (SK Hynix), 035720 (Kakao). []
searchTerms array Company names in Korean or romanized English, one per line. Example: ์นด์นด์˜ค, samsung, hynix. Each term is resolved against Naver Finance and only Korean-listed matches are kept. []
market string (3 options) Scrape a whole market ranked by market capitalization. KOSPI has 2,482 listings and KOSDAQ has 1,823, both including ETFs and ETNs. not set
industry string (80 options) Scrape every listed company in one of Naver Finance's 79 industry sectors, ranked by market capitalization. not set
maxItems integer Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000 10
securityTypes array Which listing types to keep when browsing a market or industry. Naver mixes common stocks with ETFs and ETNs in the same ranking. ["stock","etf","etn"]
minMarketCapKrw integer Skip listings whose market capitalization is below this value in Korean won. Example: 1000000000000 keeps only companies above 1 trillion KRW (about 700 million USD). not set
includeFinancials boolean Add four years of annual income-statement and ratio data (16 rows including revenue, operating profit, ROE and debt ratio), with the final year flagged as an analyst forecast. Costs one extra request per stock. true
includeQuarterlyFinancials boolean Add the last four reported quarters alongside the annual statements. false
includePeers boolean Add up to six same-industry competitors with their price, change and market cap, straight from Naver's own peer comparison. true
includeResearchReports boolean Add the most recent Korean brokerage reports for the stock (title, brokerage house, publication date and read count). Naver publishes at most 5 per stock. true
includeInvestorTrend boolean Add the daily net buy and sell volume for foreign investors, institutions and retail investors. false
investorTrendDays integer How many trading days of investor flow history to return. 20
includePriceHistory boolean Add daily open, high, low, close and volume history for the stock. false
priceHistoryDays integer How many trading days of price history to return. 30
proxyConfiguration object Naver Finance serves this data without blocking, so a proxy is off by default. Enable it if you are running very large jobs or need a specific egress country. {"useApifyProxy":false}

How much does the Naver Finance Scraper cost?

from $6.00 per 1,000 results

Charged forWhat it isPrice each
Stock listing scraped One Korean listed company returned with all 66 fields, including analyst consensus, investor flows and financial statements. $0.006 to $0.008

Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.

How do I call the Naver Finance Scraper API?

One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.

POST ยท run and get results
curl -X POST "https://api.apify.com/v2/acts/parseforge~naver-finance-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "startUrls": [],
    "stockCodes": [],
    "searchTerms": [],
    "maxItems": 10,
    "securityTypes": [
      "stock",
      "etf",
      "etn"
    ]
  }'

What example inputs can I use?

Use these inputs to see how a run is configured.

input.json
{
  "startUrls": [],
  "stockCodes": [],
  "searchTerms": [],
  "maxItems": 10,
  "securityTypes": [
    "stock",
    "etf",
    "etn"
  ]
}

What do users say about the Naver Finance Scraper?

No reviews yet. Be the first.

How do I report an issue with the Naver Finance Scraper?

We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.

Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.

What related scrapers can I use?

Run Naver Finance Scraper on Apify All scrapers