# South Korea DART Filings, Financials & Ownership Scraper (`scrapers_lat/korea-dart-filings-scraper`) Actor

Scrape South Korean listed-company data from DART: profiles, disclosure filings, financial statements (revenue, profit, assets, equity), 5%+ major shareholders and executive holdings for KOSPI, KOSDAQ and KONEX. Search by name or code. Export to JSON, CSV or Excel.

- **URL**: https://apify.com/scrapers\_lat/korea-dart-filings-scraper.md
- **Developed by:** [Scrapers Lat](https://apify.com/scrapers_lat) (community)
- **Categories:** Developer tools, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $12.75 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## South Korea DART Company Filings, Financials & Ownership Scraper

> Pull structured corporate data for every South Korean listed company (KOSPI, KOSDAQ, KONEX) from DART: company profiles with CEO, industry and address; disclosure filing lists; audited financial statements with revenue, operating profit, net income, assets and equity; 5%+ major shareholders with stakes; and executive stock holdings. Search by company name, stock code or corp code and export clean structured data for investment research, KYB and analysis.

**📥 [Input](https://apify.com/scrapers_lat/korea-dart-filings-scraper/input-schema) · 📤 [Output](https://apify.com/scrapers_lat/korea-dart-filings-scraper/output-schema) · 💰 [Pricing](https://apify.com/scrapers_lat/korea-dart-filings-scraper/pricing) · ▶️ [Examples](https://apify.com/scrapers_lat/korea-dart-filings-scraper/examples)**

![Apify](https://img.shields.io/badge/Platform-Apify-1CE1CE?logo=apify\&logoColor=white)
![Korea listed companies](https://img.shields.io/badge/Data-Korea%20listed%20companies-blue)
![Output](https://img.shields.io/badge/Output-JSON%20%7C%20CSV%20%7C%20Excel-orange)

<table><tr>
<td align="center"><strong>Financials</strong><br>revenue, profit, assets, equity</td>
<td align="center"><strong>Ownership</strong><br>major shareholders & executives</td>
<td align="center"><strong>JSON / CSV / Excel</strong><br>output formats</td>
</tr></table>

<br>

### What you get

- **Company info** – company name (Korean + English), stock name and code, market (KOSPI/KOSDAQ/KONEX), CEO name, industry code, corporate and business registration numbers, address, homepage, IR page, phone, fax, incorporation date and fiscal year-end.
- **Disclosures** – every filing with report name, filing date, filer, receipt number and a direct link to the original document; filter by date range and disclosure category.
- **Financials** – audited revenue, operating profit, net income, total assets, total liabilities and total equity per business year, with prior-year comparatives; annual, half-year or quarterly; consolidated or separate.
- **Major shareholders** – 5%+ holders with reporter name, shares held, share changes and stake percentage.
- **Executives** – directors and officers with position, registered-executive flag, major-shareholder flag, shares owned and ownership percentage.

Every record is flat (clean CSV/Excel columns) and stamped with the observation time. Empty runs are never charged.

### Who is it for

| Use case | Who benefits |
|---|---|
| Investment research | Analysts tracking Korean listed-company fundamentals and ownership |
| KYB and due diligence | Compliance teams verifying companies, officers and major holders |
| Financial dashboards | Builders feeding revenue, profit and equity into their own apps |
| Academic and market studies | Researchers studying disclosures, financials and shareholding |

### How to use it

1. **Register a free access key.** DART's open data service issues a free key in about a minute at opendart.fss.or.kr. Paste it into the **OpenDART Access Key** field (stored as a secret).
2. Pick a **mode**: company info, disclosures, financials, major shareholders or executives.
3. Identify the companies by **name**, **stock code** or **corp code** (one run does many).
4. For financials, choose the **business year(s)**, **report period** and **consolidated/separate**. For disclosures, set an optional **date range** and **disclosure type**.
5. Set **Max Records** and run. Export as JSON, CSV or Excel, or pull it through the Apify API.

### Frequently Asked Questions

**Do I need an access key?**
Yes. DART requires a free personal access key. Registration is free and quick at opendart.fss.or.kr. Paste the key into the input (it is stored as a secret) and reuse it across runs.

**Which companies are covered?**
Every company that files with DART, which includes all KOSPI, KOSDAQ and KONEX listed companies plus other reporting entities.

**Can I search by company name?**
Yes. Enter the Korean or English company name and the actor resolves it to the correct company using the official register. You can also pass a 6-digit stock code or an 8-digit corp code directly.

**What do the financial figures mean?**
Amounts come from the company's audited financial statements as filed, in the reported currency (usually KRW). You choose annual, half-year or quarterly, and consolidated or separate, and each record includes prior-year comparatives.

**How fresh is the data?**
All records are read live at run time, so each reflects the latest filed data at the moment of the run (see observedAt).

### Export, API and AI agents (x402 + MCP)

Export the scraped data to **JSON, CSV or Excel**, pull it as a **dataset** through the Apify **API**, or wire it into your app with **no code**. This web scraper and data extractor also works for bulk data extraction and scheduled runs.

For AI agents: this Actor is available on **x402**, Apify's agentic payment standard built with Coinbase. An AI agent can discover, pay for and run it on its own with a funded wallet and a single HTTP request: no account, no subscription and no human in the loop. It also runs as an **MCP** tool inside Claude, Cursor and other AI clients out of the box. Learn more about [x402 agentic payments on Apify](https://docs.apify.com/platform/integrations/x402).

### Related scrapers

- [Yahoo Finance Scraper](https://apify.com/scrapers_lat/yahoo-finance-scraper)
- [Crunchbase Scraper](https://apify.com/scrapers_lat/crunchbase-scraper)
- [Google News Scraper](https://apify.com/scrapers_lat/google-news-scraper)

### More scrapers at scrapers.lat

This actor is built and maintained by [scrapers.lat](https://scrapers.lat), where we publish scrapers for public platforms: finance, news, real estate, jobs, e-commerce and government data. Browse the full catalog or ask us for a custom scraper at [scrapers.lat](https://scrapers.lat).

***

> This actor is an independent tool and has no affiliation with DART or the Financial Supervisory Service. It only accesses publicly available corporate disclosure data. Use the results in accordance with the source's terms.

# Actor input Schema

## `mode` (type: `string`):

Choose the dataset to return for each company: company profile, disclosure filings, financial statements, 5%+ major shareholders, or executive stock holdings.

## `companyNames` (type: `array`):

One or more Korean listed-company names to look up (for example 'Samsung Electronics', '삼성전자', 'NAVER'). Matched against the official company register. One run does every company.

## `stockCodes` (type: `array`):

Optional. 6-digit Korean stock ticker codes (for example '005930' for Samsung Electronics, '035420' for NAVER).

## `corpCodes` (type: `array`):

Optional. 8-digit DART corp codes if you already have them (fastest, no name lookup needed).

## `reportType` (type: `string`):

For the Financials mode: which reporting period to pull.

## `years` (type: `array`):

For the Financials mode: one or more 4-digit business years (for example '2023', '2022'). Defaults to last year.

## `financialStatement` (type: `string`):

For the Financials mode: consolidated (group) or separate (parent-only) figures.

## `bgnDate` (type: `string`):

For the Disclosures mode: earliest filing date, format YYYYMMDD (for example '20230101').

## `endDate` (type: `string`):

For the Disclosures mode: latest filing date, format YYYYMMDD (for example '20231231').

## `disclosureType` (type: `string`):

For the Disclosures mode: optionally restrict to one filing category.

## `maxRecords` (type: `integer`):

Maximum number of records to collect across all companies in this run.

## `apiKey` (type: `string`):

Your free OpenDART access key. Register once (free, takes a minute) at opendart.fss.or.kr to get a key. Leave blank only if a DART\_API\_KEY environment variable is configured.

## `withAiTranslate` (type: `boolean`):

Off by default. In the filings mode, translates each Korean report name (and remark) to English. Requires a paid Apify plan. Billed only when a translation is produced.

## `withAiSummary` (type: `boolean`):

Off by default. In the filings mode, explains in English what each disclosure is and what it discloses. Requires a paid Apify plan. Billed only when a summary is produced.

## Actor input object example

```json
{
  "mode": "companyInfo",
  "companyNames": [
    "삼성전자"
  ],
  "reportType": "annual",
  "years": [
    "2023"
  ],
  "financialStatement": "consolidated",
  "disclosureType": "all",
  "maxRecords": 50,
  "withAiTranslate": false,
  "withAiSummary": false
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "companyNames": [
        "삼성전자"
    ],
    "years": [
        "2023"
    ],
    "maxRecords": 50
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapers_lat/korea-dart-filings-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "companyNames": ["삼성전자"],
    "years": ["2023"],
    "maxRecords": 50,
}

# Run the Actor and wait for it to finish
run = client.actor("scrapers_lat/korea-dart-filings-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "companyNames": [
    "삼성전자"
  ],
  "years": [
    "2023"
  ],
  "maxRecords": 50
}' |
apify call scrapers_lat/korea-dart-filings-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,scrapers_lat/korea-dart-filings-scraper"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/ciXs3ZMEVqzHGpkWZ/builds/AVbHHcfuzN8VBGKRX/openapi.json
