South Korea Company Filings API and MCP — DART Reports by Company
Send a DART corp code, stock code or record link and get the company's filings from DART, newest first. Each filing has a report ID, the report name in Korean, who filed it, the filing date, whether it is a correction, any remarks and a link to the report.
- You send
- A DART corp code, a stock code or the link to the DART record
- You get back
- The company's DART reports, newest first: report ID, name, filer, date, correction flag, remarks and link
- Coverage
- South Korea — entities on DART.
- Price
- 1 point per returned record — $1 per 1,000
- Billed per record actually returned, capped by max_items. A request that returns nothing costs nothing.
Ways to get this data
Three approaches teams use today, and where each one runs into trouble.
| Approach | What it takes | Cost | Trade-off |
|---|---|---|---|
| DART directly | Open the company on DART and page through the list | Usually free, sometimes per-document | A different interface, language and data shape for every country you add |
| Collecting it yourself | Build and host a crawler per register, then keep each one alive | Infrastructure and maintenance | Registers change their pages without warning, and nobody is on the hook when yours breaks |
| NeuralVerge | One request, the same shape as every other source in the catalog | $1 per 1,000, misses not billed | Covers South Korea — other countries are separate sources with the same request format |
What you get back
Every field in the example response below.
| Field | Type | Description |
|---|---|---|
session_id | string | Identifier of this run. Keep it to trace the call. |
kind | string | Source that produced the response. |
company | string | The identifier you sent. |
company_id | string | The identifier the source resolved it to. |
max_items | number | The cap on returned records. |
start_page | number | The results page the run started from. |
partial | boolean | True when the run stopped before reading everything it was asked for. |
human | string | Readable summary of the run in Markdown, including how many results were found. |
machine.total_items | number | Number of records returned in this response. |
machine.first_item | object | The newest filing, repeated as the first entry of items. |
machine.first_item.registration_number | string | The report ID, a 14-digit number. |
machine.first_item.name | string | The report name, in Korean. |
machine.first_item.status | null | Status. Empty for filings. Null in the sample response, so the type is not shown there. |
machine.first_item.address | null | Address. Empty for filings. Null in the sample response, so the type is not shown there. |
machine.first_item.url | string | Link to the report on DART. |
machine.first_item.company_type | null | Company type. Empty for filings. Null in the sample response, so the type is not shown there. |
machine.first_item.incorporation_date | null | Established date. Empty for filings. Null in the sample response, so the type is not shown there. |
machine.first_item.report_id | string | The report ID, the same as registration_number. |
machine.first_item.report_name | string | The report name, in Korean. |
machine.first_item.filer | string | Who filed the report. This can be the company or an individual, such as an insider. |
machine.first_item.filing_date | string | Filing date, as YYYY-MM-DD. |
machine.first_item.is_correction | boolean | Whether the filing corrects an earlier one. |
machine.first_item.remarks | array | Remark codes DART attaches to the filing, as a list. Empty when there are none. |
machine.first_item.remarks[].code | string | Remark code, a single Korean character. |
machine.first_item.remarks[].meaning | string | What the code means, in Korean. |
machine.items | array | Every returned record, each with the same fields as first_item. |
machine.total_found | number | How many matches the register reports in total, which can be more than you asked for. |
machine.page_count | number | Number of result pages read. |
machine.blocked | boolean | Whether the register refused the read. False in the sample. |
machine.proxy_traffic_bytes | number | Traffic used by the run, in bytes. Informational. |
total_points | number | Points charged for the run, one per returned record. |
Example response
A real response, as returned.
{
"session_id": "11111111-1111-1111-1111-111111111111",
"kind": "kr_company_filings",
"company": "00126380",
"company_id": "00126380",
"max_items": 2,
"start_page": 1,
"partial": false,
"human": "# South Korea — DART filings — company filings\n\n- **Company:** 00126380\n- **Results:** 2 of 2898 found\n- **Proxy traffic:** 55.8 KB",
"machine": {
"total_items": 2,
"first_item": {
"registration_number": "20261002800981",
"name": "최대주주등소유주식변동신고서",
"status": null,
"address": null,
"url": "https://dart.fss.or.kr/dsaf001/main.do?rcpNo=20261002800981",
"company_type": null,
"incorporation_date": null,
"report_id": "20261002800981",
"report_name": "최대주주등소유주식변동신고서",
"filer": "삼성전자",
"filing_date": "2026-10-02",
"is_correction": false,
"remarks": [
{
"code": "유",
"meaning": "본 공시사항은 한국거래소 유가증권시장본부 소관임"
}
]
},
"items": [
{
"registration_number": "20261002800981",
"name": "최대주주등소유주식변동신고서",
"status": null,
"address": null,
"url": "https://dart.fss.or.kr/dsaf001/main.do?rcpNo=20261002800981",
"company_type": null,
"incorporation_date": null,
"report_id": "20261002800981",
"report_name": "최대주주등소유주식변동신고서",
"filer": "삼성전자",
"filing_date": "2026-10-02",
"is_correction": false,
"remarks": [
{
"code": "유",
"meaning": "본 공시사항은 한국거래소 유가증권시장본부 소관임"
}
]
},
{
"registration_number": "20261001000251",
"name": "임원ㆍ주요주주특정증권등소유상황보고서",
"status": null,
"address": null,
"url": "https://dart.fss.or.kr/dsaf001/main.do?rcpNo=20261001000251",
"company_type": null,
"incorporation_date": null,
"report_id": "20261001000251",
"report_name": "임원ㆍ주요주주특정증권등소유상황보고서",
"filer": "나현수",
"filing_date": "2026-10-01",
"is_correction": false,
"remarks": []
}
],
"total_found": 2898,
"page_count": 1,
"blocked": false,
"proxy_traffic_bytes": 57153
},
"total_points": 2
}How to run it
The same lookup works from the app, the API, or as a tool an agent can call mid-task.
Results come back in the same envelope as every other source: a session id, a readable summary, the structured result and the points charged.
curl -X POST https://api.neuralverge.ai/functions/v1/run-kr-company-filings \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"company":"00126380","max_items":2}'What teams use it for
Where this field shows up in an actual workflow.
Pull the latest filings for a listed company and react to ownership or other material reports.
See ownership reports filed by directors and major shareholders.
Review a company's recent reporting history in one list.
Use report IDs and filing dates to detect what is new since the last run.
Coverage, freshness and limits
What this source covers, how fresh it is, and where it stops.
South Korea — entities on DART.
Read at request time, so the answer reflects the register as it stands when you ask.
DART is a public register. Every response carries the source URL it was read from and a session id you can trace.
- —Report names and remarks are in Korean.
- —The list gives each report's metadata and link, not the report's contents.
- —Several fields repeat the company-style layout and are empty for filings, as the sample shows.
Questions, answered
Newest first.
Related sources
Try south korea company filings on your own data
One request format across every source in the catalog.