Korean Company Data — Directors, Shareholders & Financials avatar

Korean Company Data — Directors, Shareholders & Financials

Pricing

from $25.00 / 1,000 results

Go to Apify Store
Korean Company Data — Directors, Shareholders & Financials

Korean Company Data — Directors, Shareholders & Financials

Look up any Korean listed company and get directors with exact shareholdings, full IFRS financial statements (3-year, consolidated+separate), and firmographics. Clean JSON for KYC, due diligence & supply-chain verification.

Pricing

from $25.00 / 1,000 results

Rating

0.0

(0)

Developer

Berkan Kaplan

Berkan Kaplan

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

12 days ago

Last modified

Share

Korean Company Data — OpenDART directors, shareholders & financials

Korean Company Data — Directors, Shareholders & Financials (OpenDART)

Need deep, verifiable intelligence on Korean companies — not just a name and a ticker? This Actor turns OpenDART, the Korea Financial Supervisory Service (FSS) official open-data API, into ready-to-use records: directors and major shareholders with their exact share counts — one row per person, deduplicated across every insider filing, full IFRS financial statements (3-year, consolidated + separate), and firmographics (English name, CEO, address, industry, registration numbers) — for listed and unlisted DART filers.

No login, no fragile HTML scraping, no proxy — it reads the official API directly, with a built-in key so you can start in one click. Korean names, addresses and titles come with Romanized / English output on demand.

  • 🇰🇷 Listed + unlisted — every KOSPI/KOSDAQ company plus a 118K+ DART filer resolution index
  • 👔 Directors with exact shareholdingsone row per person, not per filing: name, title, registered/unregistered, their latest share count and their ownership percentage computed against the company's own share register, deduplicated from every insider filing on record
  • 📊 Full IFRS financials — balance sheet + income statement, 3-year, consolidated (CFS) & separate (OFS)
  • Official OpenDART API — authoritative FSS data, built-in key, no browser, no proxy → one flat dataset

Quick start (API)

Get Samsung, SK hynix and Naver with directors and 3-year financials, in English, in one call:

curl -X POST "https://api.apify.com/v2/acts/foxlabs~korean-company-data/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "stockCodes": ["005930", "000660", "035420"], "includeFinancials": true, "outputLanguage": "en", "maxExecutivesPerCompany": 10 }'

Prefer no code? Open the Input tab, keep the pre-filled stock codes (or add your own), and click Start — then download the results.

What you get

One flat record per company:

FieldTypeDescription
corp_codestringDART 8-digit corporate code
corp_namestringKorean legal name (becomes English when outputLanguage: "en")
corp_name_engstring | nullOfficial DART-registered English name
stock_code / stock_namestring | null6-digit KRX ticker & listed name (null if unlisted)
is_listedbooleantrue if KOSPI/KOSDAQ listed (corp_cls = Y)
ceo / ceo_romanizedstring | nullRepresentative(s) — Korean & Latin script
bizr_no / jurir_nostring | nullBusiness & corporate (juridical) registration numbers
address / address_romanizedstring | nullRegistered address — Korean & Latin script
website / phone / faxstring | nullPublic contact details
industry_code / industry_descstring | nullKSIC code + English industry description
established_datestring | nullIncorporation date (ISO YYYY-MM-DD)
fiscal_monthstring | nullFiscal year-end month
total_issued_sharesnumber | nullShares issued and outstanding from the company's share register — the denominator behind every ownership_ratio
total_issued_shares_classstring | nullWhich class that count covers: common (normal) or all classes (fallback when no common row is filed)
total_issued_shares_as_ofstring | nullSettlement date of that register (ISO YYYY-MM-DD) — the ratios are as of this date
executives[]arrayDirectors & officers with shareholdings — one entry per person — see below
executives_countintegerNumber of unique people in executives[] (not a filing count)
executive_filings_countintegerNumber of raw DART insider filings those people were derived from
executives_textstring | nullHuman-readable summary of the top executives
financialsobject | nullIFRS statements (when includeFinancials on) — see below
financials_textstring | nullOne-line financial summary
matchedbooleantrue if the company was found in OpenDART
resolvedFrom / resolvedFromTypestringPresent when resolved from a stock code, name, or industry scan
source / source_urlstringProvenance + link to the DART filing
scraped_atstringISO timestamp of the run

Each item in executives[] is one person, carrying the figures from their most recent filing:

FieldTypeDescription
name / name_romanizedstringExecutive name — Korean & Latin script (곽노정Gwak Nojeong)
position / position_enstring | nullCurrent title — Korean & English (e.g. 부사장 / Vice President). position_en is null for titles outside the mapping; position always keeps the original
registeredstring | nullRegistered / Unregistered (board registration)
major_shareholderstring | nullFlag, e.g. 10%+ Shareholder. null for almost every executive — DART only sets it for 10%+ holders
shares / share_changenumber | nullShares held at the latest filing & the change it reported — exact, straight from the filing
ownership_ratio / ratio_changenumber | nullPercentage of the company held, and the percentage that filing moved it by — computed as shares / total_issued_shares × 100, to 6 significant digits. See Ownership ratio below
ownership_ratio_sourcestringHow that percentage was produced: computed (shares / total_issued_shares), dart (as filed), or an unavailable (…) reason
report_date / report_nostring | nullDate (ISO) & receipt number of that person's latest filing
first_report_datestring | nullDate of their earliest filing on record — a tenure signal
filings_countintegerHow many insider filings this person has made (disclosure activity)

Ownership ratio — how it is calculated

The ratio is computed here, not copied from the filing. OpenDART's insider feed publishes its own ratio rounded to two decimals, so any stake under 0.005% — which is every ordinary director of a large-cap — is filed as "0.00". Measured on the two flagship issuers (2026-07-28): 559 of 559 SK hynix filings and 3,360 of 3,365 Samsung filings carry that zero. The handful that don't are worse: they are not unit-consistent between filers (one reports a raw fraction, and one Samsung filing reports 100 — i.e. 100% of the company — for a 400-share holding).

So this Actor pulls the company's share register (DART's stockTotqySttus, one extra call per company) and does the arithmetic itself:

ownership_ratio = shares / total_issued_shares × 100 (6 significant digits)
ratio_change = share_change / total_issued_shares × 100

Worked example, straight from the pre-filled input: Samsung's Representative President holds 121,235 shares against 5,919,637,922 issued common shares → 0.00204801%. Precision is counted in significant digits, not decimal places, on purpose — at billion-share issuers a fixed 2, 4 or even 6 decimal places would round a real director's stake straight back to the 0.00 this field exists to avoid. The smallest holding in that same run, 40 shares, still comes back as 0.00000549449.

Share class. Executives report their holdings in common stock, so the denominator is the common row of the register (보통주, or 의결권 있는 주식 where the issuer labels it that way) — preferred and other classes are excluded. If an issuer files no common row, the all-classes total is used instead and total_issued_shares_class says all classes so you can tell. DART's insider feed carries no class breakdown of its own, so if an individual holds preferred shares or convertibles alongside common stock, that portion is still measured against the common denominator.

When it isn't available. Not every DART filer publishes a share register — it comes from the annual report, so a company that files none (many unlisted filers, and newly listed companies whose first annual report is still pending) has no denominator. In that case ownership_ratio stays null with the reason in ownership_ratio_sourcenever a fabricated 0 — and the filed figure is used instead when the company reported a non-zero one (ownership_ratio_source: "dart (as filed)"). Coverage is not a listed/unlisted split: measured on 2026-07-28, both flagship issuers and unlisted HD Hyundai Oilbank had a register, while Coupang Corp., Samsung Display and a 2026 SPAC did not.

Two honest caveats. The register is dated (total_issued_shares_as_of, normally the last fiscal year-end) while insider filings arrive continuously, so a filing made after that date is measured against a denominator that is a few months old — buybacks, cancellations and new issues in between are not reflected. And a genuinely empty holding (0 shares) still returns a genuine 0.

Each row in financials.summary[]: account, division (CFS/OFS), statement (BS/IS), current_amount, current_formatted, current_exact, previous_amount, before_previous_amount, currency.

Sample output

{
"corp_code": "00126380",
"corp_name": "삼성전자(주)",
"corp_name_eng": "SAMSUNG ELECTRONICS CO,.LTD",
"stock_code": "005930",
"stock_name": "SAMSUNG ELECTRONICS",
"is_listed": true,
"ceo": "전영현, 노태문",
"ceo_romanized": "Jeon Yeonghyeon, No Taemun",
"bizr_no": "1248100998",
"jurir_no": "1301110006246",
"address": "경기도 수원시 영통구 삼성로 129 (매탄동)",
"address_romanized": "Gyeonggido Suwonsi Yeongtonggu Samseongno 129 (maetandong)",
"website": "www.samsung.com/sec",
"phone": "02-2255-0114",
"industry_code": "264",
"industry_desc": "Communication equipment",
"established_date": "1969-01-13",
"fiscal_month": "12",
"total_issued_shares": 5919637922,
"total_issued_shares_class": "common",
"total_issued_shares_as_of": "2025-12-31",
"executives": [
{
"name": "노태문",
"name_romanized": "No Taemun",
"position": "대표사장",
"position_en": "Representative President",
"registered": "Registered",
"major_shareholder": null,
"shares": 121235,
"share_change": 22678,
"ownership_ratio": 0.00204801,
"ratio_change": 0.000383098,
"ownership_ratio_source": "computed (shares / total_issued_shares)",
"report_date": "2026-07-21",
"report_no": "20260721000994",
"first_report_date": "2024-09-10",
"filings_count": 6
}
],
"executives_count": 100,
"executive_filings_count": 3365,
"executives_text": "No Taemun (Representative President) — 121,235 shares; …",
"financials": {
"fiscal_year": 2025,
"report_type": "Annual",
"filing_no": "20260311000456",
"summary": [
{
"account": "Total assets",
"division": "CFS",
"statement": "BS",
"current_amount": 566942110000000,
"current_formatted": "₩566.94T",
"current_exact": "₩566,942,110,000,000",
"previous_amount": 514531948000000,
"before_previous_amount": 455905980000000,
"currency": "KRW"
}
]
},
"financials_text": "Revenue ₩333.61T · Op. income ₩43.60T · Assets ₩566.94T · FY2025 (Annual)",
"matched": true,
"resolvedFrom": "005930",
"resolvedFromType": "stock_code",
"source": "OpenDART — Korea Financial Supervisory Service (FSS)",
"source_url": "https://englishdart.fss.or.kr/dsbh001/main.do?rcpNo=20260311000456",
"scraped_at": "2026-07-05T09:12:00.000Z"
}

Illustrative record — the structure is exact; values are abbreviated for readability.

Money fields

Every financial value carries three formats:

  • Raw566942110000000 (for calculations)
  • Formatted₩566.94T (compact: T = trillion, B = billion, M = million)
  • Exact₩566,942,110,000,000 (full precision, comma-grouped)

Input & filters

  • Stock codes — 6-digit KRX tickers (e.g. 005930 = Samsung), auto-resolved to a DART corp code.
  • DART corp codes — the 8-digit internal code for the fastest, exact lookup.
  • Company names — Korean or English, best-effort resolution against the 118K index.
  • Industry discovery — pick a KSIC sector to scan listed companies and keep those in that industry.
  • Include financials — attach the most recent annual IFRS statements (default on).
  • Max executives per company — cap how many distinct people are returned (registered directors first, then by shares held); 0 = all. The cap is applied after deduplication, so 100 means 100 people, never 100 repeats of the same few.
  • Output languageboth (Korean + Romanized/English) or en (English/Romanized primary).
  • Max companies — hard cap on records returned (up to 100,000).
  • Concurrent lookups — parallel OpenDART fetches.
  • OpenDART API key — optional; bring your own for higher rate limits.

At least one of stock codes, corp codes, company names, or an industry selection is required.

Example inputs (copy & paste)

// 1) Listed lookup with 3-year financials, English/Romanized output
{ "stockCodes": ["005930", "000660", "035420"], "includeFinancials": true, "outputLanguage": "en" }
// 2) Precise corp-code lookup, every executive, both languages
{ "corp_codes": ["00126380"], "maxExecutivesPerCompany": 0, "outputLanguage": "both" }
// 3) Name search (Korean or English) — best-effort resolution
{ "companyNames": ["삼성전자", "NAVER", "Kakao"], "includeFinancials": true }
// 4) Industry discovery: listed pharmaceutical companies (KSIC 21), firmographics only
{ "industryCode": "21", "includeFinancials": false, "maxResults": 50 }
// 5) Industry discovery: banking & finance sector (KSIC 64) with financials
{ "industryCode": "64", "includeFinancials": true, "maxResults": 100, "maxConcurrency": 8 }
// 6) Mixed batch — combine precise tickers with a best-effort name
{ "stockCodes": ["005930", "000660"], "companyNames": ["Kakao"], "includeFinancials": true }
// 7) Lean roster — skip financials, cap to top 5 executives per company
{ "stockCodes": ["005930", "000660", "035420"], "includeFinancials": false, "maxExecutivesPerCompany": 5 }

Use cases

  • KYC / KYB & supplier due diligence. Onboarding a Korean counterparty? Pass its stockCodes or corp_codes → verified legal identity, registration numbers, CEO, address, and the director-shareholder network your compliance checks need, straight from the regulator.
  • Supply-chain intelligence. Map semiconductor, battery, EV and electronics supply chains: pull firmographics + director shareholdings + financial health for each tier-1/tier-2 supplier to see who owns and controls them.
  • Investment & equity research. Compare 3-year IFRS financials (revenue, operating income, assets, equity) across KOSPI/KOSDAQ names, in both consolidated and separate views, in one dataset.
  • Ownership & insider mapping. Every executive appears once, with their latest share count, the change it reported, how many filings they have made and when they first appeared — track insider accumulation across a portfolio without de-duplicating filings yourself.
  • Sector mapping & market sizing. Use industry discovery to enumerate listed companies in a KSIC sector, then rank by financials to size the market and spot leaders.
  • CRM enrichment for Korea-facing sales. Feed a list of tickers or names → append English company name, CEO, industry, address and a financial-size signal to prioritise accounts.

Performance & throughput

Lookups are a handful of API calls each — company + executives + share register, plus one more when financials are on (3–4 per company, 5 in the rare case the share register has to fall back a year) — and all of them are issued in parallel, so a batch of tickers returns in seconds to a couple of minutes. The share-register call measures 0.4–2.4 s against an insider payload that takes 22–134 s, so it rides inside the same window rather than adding to it: the pre-filled two-company run measures 136–140 s end to end (two runs), of which Samsung's ~1.1 MB insider payload alone is 132–134 s. Industry discovery is heavier: it scans the listed universe, calling the company endpoint per candidate, so it is API-intensive and slower — bound it with Max companies. There is no browser and no proxy; throughput is limited only by the OpenDART rate limit (a free key allows ~20,000 calls/day) and your Apify plan. Supply your own key to raise the ceiling.

Integrations

JavaScript (apify-client):

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('foxlabs/korean-company-data').call({
stockCodes: ['005930', '000660', '035420'], includeFinancials: true, outputLanguage: 'en',
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();

Python (apify-client):

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("foxlabs/korean-company-data").call(run_input={
"stockCodes": ["005930", "000660", "035420"], "includeFinancials": True, "outputLanguage": "en",
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["corp_name_eng"], item.get("financials_text"))

Also works with Make / n8n / Zapier (Apify app → run this Actor, map the input), scheduled runs, webhooks, and the Apify MCP server so AI agents can call it as a tool.

Data quality

  • Identity & firmographics (corp_code, names, CEO, address, registration numbers, industry) are present for every company DART returns.
  • Executives with shareholdings are populated for listed companies from official insider-stock filings; unlisted filers may return few or none.
  • Ownership percentages are computed against the company's own share register, and are null (with a stated reason in ownership_ratio_source) when no register is published — never a placeholder 0. On the pre-filled example this took ownership_ratio from 1 of 200 populated rows to 200 of 200.
  • Financials appear when the company's most recent annual report has been filed and accepted — otherwise financials is null (never fabricated).
  • All values come straight from OpenDART; missing fields are null, never guessed. Romanized fields are generated algorithmically (see limits).

How executives are deduplicated

DART's insider endpoint returns one row per filing, not per person: an executive re-files on every share change, so the raw feed repeats the same people many times with different figures. Samsung's feed is 3,365 filings for ~1,080 people; SK hynix's is 559 filings for ~246 people. This Actor collapses that to one entry per person, keeping the most recent filing's figures, and reports the raw count in executive_filings_count.

The payload contains no person ID and no birth date, so identity is rebuilt from name + title history:

  • same name, same title → one person;
  • same name, titles held in non-overlapping periods → a promotion, still one person (filings_count spans both);
  • same name, titles held in overlapping periods → two colleagues who share a name, kept as separate entries.

Limitation: two people with the same name and the same title at the same company are indistinguishable in this data and will merge into one entry. Namesakes are rare but real — measured at 17 of 1,066 names (1.6%) at Samsung and 1 of 245 at SK hynix on 2026-07-28.

Pricing

Billed per result on Apify (pay-per-event) — see the Pricing tab for the current rate. There's an Apify free tier to evaluate the full feature set before you scale. OpenDART itself is free and there are no proxy or third-party costs.

FAQ

Do I need an OpenDART account or key? No — a built-in key is included. You can optionally supply your own free key (crtfc_key) from opendart.fss.or.kr for higher rate limits.

Which companies are covered? Every KOSPI/KOSDAQ listed company plus many unlisted DART filers — resolved through a bundled index of 118K+ companies (corp code / name / ticker).

How fresh is the data? It's read live from OpenDART on each run. Financials reflect the most recent annual report on file.

Can I choose the fiscal year or a quarterly report? No — the Actor returns the latest annual (사업보고서) statements. Year and report-type are not user-selectable in this version.

What financial statements are included? Balance sheet (BS) and income statement (IS), 3-year comparison, in both consolidated (CFS) and separate (OFS) views, plus a summary of the key accounts.

Can I look companies up by name? Yes, best-effort against the index. Ambiguous names use the first match — pass a stock code or corp code for guaranteed precision.

How do I get English / Romanized output? Set outputLanguage to en; names, addresses and titles become Latin-script primary, with Korean kept in *_ko fields.

What export formats are available? JSON, CSV, Excel, or via the Apify API/integrations.

Is there a rate limit? OpenDART's free tier allows roughly 20,000 calls/day. At 3–4 calls per company that is roughly 5,000–6,600 companies a day on the built-in shared key. Bring your own key or lower Concurrent lookups if you hit 429s.

How is ownership_ratio calculated? shares / total_issued_shares × 100, at 6 significant digits, against the common shares in the company's own DART share register — both inputs are in the record, so you can re-derive it. See Ownership ratio above.

Are personal names included? Executive names are published in the regulator's own filings; you're responsible for your lawful basis if you process them (see legal note).

Troubleshooting

  • financials is null → the latest annual report may not be filed yet (annual reports land ~March), or the company doesn't file the consolidated statement. Try a company with a completed fiscal year.
  • A stock code or name didn't resolve → pass the 8-digit corp_codes value for a guaranteed match.
  • ownership_ratio is null → read ownership_ratio_source. unavailable (issued-share count not published) means the company files no share register (no annual report yet, or an unlisted filer) and total_issued_shares is null too; unavailable (share count not filed) means that person's filing carried no share count. Use shares in both cases.
  • Industry discovery is slow / returns little → it scans the whole listed universe (one call per candidate). Narrow with maxResults and expect an API-heavy run; unlisted companies are not scanned.
  • 429 / rate-limit warnings → lower maxConcurrency or add your own crtfc_key.
  • Source. Data come from OpenDART (opendart.fss.or.kr), the Korea Financial Supervisory Service (FSS) open-data API — public regulatory filings. Review OpenDART's terms for your use; this Actor is not affiliated with the FSS, OpenDART, or any listed company.
  • Financials scope. Only the most recent annual report is returned; fiscal year and quarterly reports are not user-selectable in this version.
  • Ownership percentages are derived, not filed. ownership_ratio is computed by this Actor from two official figures (shares from the insider filing ÷ total_issued_shares from the share register), because DART's own ratio is rounded to two decimals and is not unit-consistent between filers. Both inputs and the register date ship with every record so the arithmetic is reproducible. The register is dated (usually the last fiscal year-end) while insider filings arrive continuously, so share issues, buybacks or cancellations after that date are not yet reflected in the denominator; and because the insider feed reports no share class, a holding in preferred shares or convertibles would be measured against the common-share denominator.
  • Personal data. Executive/CEO names are individuals disclosed by law in official filings. Redistribution/processing is your responsibility under Korean PIPA / applicable law.
  • Romanization is algorithmic. Latin-script names and addresses use Revised Romanization; the Korean originals are always retained. Personal names are split into family name + given name before transliteration (곽노정Gwak Nojeong), which is what the standard prescribes — but RR is not how most Koreans spell their own surname in English. Expect Gim where the person writes Kim, I where they write Lee, Bak for Park, Choe for Choi. Measured on the 198 Korean-script executive names in the two flagship issuers, 143 (72%) carry a family name whose conventional English spelling differs from its RR form. Match on name (Korean) when you need certainty; treat name_romanized as a display and search aid, not an identity key.
  • Best-effort matching. Name resolution can be ambiguous; verify with corp_code.

Support

Questions, a field you'd like added, or a custom build? Open the Issues tab on this Actor, or email info@foxlabs.com.tr. We reply fast.

If this Actor saves you time, a ⭐ review really helps.

Changelog

0.4 — 2026-07-28

  • ownership_ratio is now a real number, computed here. DART's own ratio is rounded to two decimals, so it read 0.00 for every ordinary director (559 of 559 SK hynix and 3,360 of 3,365 Samsung filings) and 0.3 had to return null rather than assert a false zero. The Actor now pulls the company's share register (stockTotqySttus) and computes shares / total_issued_shares × 100 at 6 significant digits. On the pre-filled input ownership_ratio went from 1 of 200 rows populated to 200 of 200: Samsung's Representative President's 121,235 shares now read 0.00204801%, and a 40-share holding still reads 0.00000549449 instead of rounding away. ratio_change is computed the same way from share_change.
  • New company fields total_issued_shares, total_issued_shares_class and total_issued_shares_as_of — the denominator, which share class it covers, and the register date, so every percentage can be re-derived and audited.
  • New per-person field ownership_ratio_sourcecomputed (shares / total_issued_shares), dart (as filed), or an explicit unavailable (…) reason.
  • Share-class correctness. The denominator is the common row of the register (보통주, or 의결권 있는 주식 where the issuer labels it so), excluding preferred and other classes; issuers filing no common row fall back to the all-classes total and are flagged all classes. Class labels were verified against the registers of 12 issuers.
  • Failure is honest, not fatal. Companies that publish no share register (many unlisted filers; newly listed companies whose first annual report is pending) keep ownership_ratio: null with the reason recorded, a warning in the log, and a successful run — no fabricated zero. Where DART itself filed a non-zero ratio, that value is kept and labelled dart (as filed).
  • Cost: one extra API call per company (3–4 total, 5 if the register has to fall back a year), issued in parallel with the existing calls — the two-company reference run still measures 136–140 s end to end, dominated as before by Samsung's 132–134 s insider payload.

0.3 — 2026-07-28

  • executives[] is now one row per person, not per filing. DART returns an insider row for every share change, so the list repeated the same people with conflicting figures and no way to tell which was current. Entries are deduplicated by name + title history (a promotion stays one person; same-named colleagues with overlapping tenures stay separate) and carry the latest filing's figures. Measured on the pre-filled input: Samsung's top 100 rows held 43 distinct people before, 100 after; SK hynix's held 46 before, 100 after.
  • executives_count now counts people. It previously echoed the input cap (100 regardless of how many humans that was). The raw filing count moved to the new executive_filings_count field (Samsung 3,365, SK hynix 559).
  • New per-person fields filings_count and first_report_date — disclosure activity and tenure, without shipping a per-filing dump.
  • Masked values are null. DART writes a bare hyphen for "not applicable"; major_shareholder was returning the literal string "-" on 200 of 200 sampled rows. It is now null.
  • ownership_ratio no longer reports a false zero. DART rounds the ratio to two decimals, so sub-0.005% stakes are filed as "0.00"; the Actor was emitting 0, implying directors holding tens of thousands of shares owned nothing. A rounded zero against a non-zero holding is now null, a genuinely empty holding stays 0, and impossible values beyond ±100% are dropped. Use shares — see Ownership ratio above. (The mapping itself was verified correct against raw DART responses; this is a source-resolution limit, not a field mix-up.)
  • Romanization fixed. The casing option was misspelled, so every Latin-script name came back lower-case and glued together; names are now split into family + given name before transliteration — 곽노정 went from gwangnojeong to Gwak Nojeong, and multi-CEO fields romanize each person (Jeon Yeonghyeon, No Taemun). The RR-vs-conventional surname caveat is documented under Notes, limits & legal.
  • Title mapping extended담당 (Head), 연구위원 (Research Fellow), 대표사장 (Representative President), 대표부회장 (Representative Vice Chairman). position_en was null on 75 of 100 SK hynix rows; it is now 0 of 100 for both flagship issuers. Titles are matched after whitespace normalisation.
  • Request timeout raised to 240 s. Samsung's insider payload is ~1.1 MB and measured 132–134 s, so the previous 90 s ceiling dropped it on every attempt and returned zero executives for the Actor's own pre-filled example.

0.2 — 2026-07-05

  • Reworked docs: API quick-start, full field reference (company + executives + financials), integration snippets (JS/Python/Make/MCP), use cases, FAQ & troubleshooting.
  • Input schema corrected to match the Actor's real inputs: fixed the corp-code and API-key field keys, switched the industry filter to KSIC codes the Actor actually matches, added the executive-limit and output-language controls, and removed toggles that had no effect.

0.1 — 2026-06-22

  • Initial release on Apify Store.
  • OpenDART triple-endpoint: company overview + executives/shareholders + financial statements.
  • 118K company index (bundled, instant resolution).
  • 3-year IFRS financials: CFS + OFS, BS + IS.
  • Executive names & addresses Romanized (Revised Romanization).
  • Position-title English mapping; KSIC industry code → English description.
  • outputLanguage: "en" mode — English/Romanized primary output.
  • Money formatting: raw (number), compact (₩T/B/M), exact (full precision).
  • Built-in default API key — zero setup for users.

Part of the foXLabs data platform — official public-data company, contact, ownership, jobs, charity, location & AI-search intelligence scrapers. Browse the full suite at data.foxlabs.com.tr.