# Korea Company Search – B2B Leads from Official Government Data (`korea-b2b-data/korea-company-search`) Actor

Search 550,000+ South Korean companies by region, industry and headcount. Returns English fields: company name, legal form, city, industry, employees, new hires, registration date. Official government data, no API key or login.

- **URL**: https://apify.com/korea-b2b-data/korea-company-search.md
- **Developed by:** [Korea B2B Data](https://apify.com/korea-b2b-data) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $4.00 / 1,000 company results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Korea Company Search – B2B Leads from Official Government Data

Find South Korean companies by **region, industry and headcount** in seconds. Every record comes from the **Korean National Pension Service (NPS) workplace registry**, the most complete official list of employers in Korea, delivered with **English field names, English industry names and romanized city names**.

No Korean language skills, no government API key, no scraping.

### What you get

- **550,000+ active employers** across all 17 provinces and metropolitan cities: 510,000 corporations plus 44,000 sole proprietorships with 10+ employees
- **Real headcount**: employees enrolled in the national pension (a reliable proxy for company size)
- **Growth signals**: new hires and departures last month, and the date the company first registered
- **Location**: province, city/district (romanized) and the Korean street address
- **Industry**: English name, original Korean name and the national industry code (KSIC-based)
- `asOf` and `source` fields on every row, so you always know how fresh the data is

### Typical uses

- **Lead lists for sales into Korea**: "software companies in Gangnam with 50–300 employees"
- **Market sizing**: count companies by industry and region
- **New-business prospecting**: companies that registered this year (`registeredAfter`)
- **Hiring signals**: sort by `Most new hires last month` to find companies that are growing right now
- **AI agents**: call it as a tool through the Apify MCP server to answer questions about Korean companies

### Input example

```json
{
  "province": "Seoul",
  "city": "Gangnam-gu",
  "industry": "software",
  "minEmployees": 50,
  "maxEmployees": 300,
  "sortBy": "employees_desc",
  "maxResults": 100
}
```

### Output example

```json
{
  "companyName": "예시소프트(주)",
  "legalForm": "Co., Ltd.",
  "entityType": "corporation",
  "nameMasked": false,
  "businessRegNoPrefix": "123456",
  "province": "Seoul",
  "city": "Gangnam-gu",
  "cityKo": "강남구",
  "addressKo": "서울특별시 강남구 테헤란로",
  "industry": "Application software development and supply",
  "industryKo": "응용 소프트웨어 개발 및 공급업",
  "industryCode": "722000",
  "employees": 120,
  "employeeBand": "50-299",
  "newHiresLastMonth": 4,
  "departuresLastMonth": 2,
  "netHiringLastMonth": 2,
  "registeredOn": "2001-05-01",
  "isWorksite": false,
  "asOf": "2026-07",
  "source": "Korea National Pension Service, workplace dataset (data.go.kr 15083277)"
}
```

(Fictional example showing the format.)

### Pricing

**$0.004 per company returned** ($4 per 1,000). No start fee. You only pay for results you receive; set `maxResults` to cap your spend.

### Data notes

- **Source**: Korean National Pension Service workplace dataset, published monthly on the Korean government open data portal (data.go.kr) under an unrestricted-use license. Data is refreshed monthly; `asOf` shows the reference month (usually 1–2 months behind the release date).
- **Coverage**: corporations with 3+ pension enrollees and sole proprietorships with 10+ enrollees. **Personal names inside sole-proprietorship business names are masked** (e.g. a clinic named after its doctor is returned as `○○○내과의원`, `nameMasked: true`).
- **Business registration number**: only the first 6 digits are published by the source.
- **Worksites**: some construction and project sites are registered as separate workplaces. They are excluded by default (`excludeWorksites`).
- **Not official statistics**: the source states that this data should not be used as official statistics. It is intended for company lookup and prospecting.
- **No contact data**: this Actor does not provide emails or phone numbers of individuals.

### Related Actors

More official Korean business data from the same publisher:

- [Korea New Business Openings](https://apify.com/korea-b2b-data/korea-new-business-openings) — businesses licensed or registered in the last days
- [Korea Hiring Signals](https://apify.com/korea-b2b-data/korea-hiring-signals) — companies growing headcount right now
- [Korea Business Status Check](https://apify.com/korea-b2b-data/korea-business-status-check) — active / suspended / closed by business number

### Disclaimer

This Actor is an independent product. It is **not affiliated with, endorsed by or operated by** the Korean government or any of the agencies named above. Data is provided as published by the source, without warranty; English translations and romanized place names are generated automatically and may contain errors. The data is intended for business lookup and prospecting, **not as official statistics**. No personal contact data (phone numbers, emails) is returned.

### FAQ

**Can I search in English?** Yes. Province, city and industry filters accept English (e.g. `Gangnam-gu`, `software`). Korean also works.

**Why are company names in Korean?** Korean companies register their legal names in Korean. We return the exact legal name so you can match it with other Korean sources, plus the legal form in English.

**How is headcount measured?** It is the number of employees enrolled in the National Pension Service at that workplace, which covers almost all full-time employees in Korea.

**How fresh is the data?** Rebuilt every month from the latest government release. Check `asOf`.

# Actor input Schema

## `province` (type: `string`):

Top-level region. Leave empty for all of South Korea.

## `city` (type: `string`):

Part of the city, county or district name, in English or Korean. Examples: Gangnam-gu, Suwon, 분당구 (district level; neighborhoods like Pangyo are inside Bundang-gu)

## `cities` (type: `array`):

Several city or district names at once (OR). English or Korean, partial match. Example: \["Gangnam-gu", "Seocho-gu", "Bundang-gu"]. Combined with the single 'city' field if both are set.

## `industry` (type: `string`):

Matches the industry name in English or Korean. Examples: software, restaurant, logistics, 제조

## `industries` (type: `array`):

Several industry keywords at once (OR). English or Korean. Example: \["software", "data processing", "telecommunications"].

## `industryCode` (type: `string`):

Korean National Tax Service industry code (KSIC-based), prefix match. Advanced.

## `companyName` (type: `string`):

Korean company name, partial match.

## `entityType` (type: `string`):

Corporations only, sole proprietorships only (10+ employees), or both.

## `minEmployees` (type: `integer`):

Employees enrolled in the National Pension (a reliable headcount proxy).

## `maxEmployees` (type: `integer`):

Upper bound for employees enrolled in the National Pension. Leave empty for no limit.

## `registeredAfter` (type: `string`):

Only companies that joined the pension system on or after this date (YYYY-MM-DD). Use it to find new businesses.

## `sortBy` (type: `string`):

Order of the results.

## `excludeWorksites` (type: `boolean`):

Some records are project-site registrations (e.g. a construction site). Excluded by default.

## `maxResults` (type: `integer`):

You pay per returned company.

## Actor input object example

```json
{
  "city": "Gangnam-gu",
  "industry": "software",
  "entityType": "all",
  "minEmployees": 10,
  "sortBy": "employees_desc",
  "excludeWorksites": true,
  "maxResults": 100
}
```

# Actor output Schema

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

Companies matching your filters

# 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 = {
    "city": "Gangnam-gu",
    "industry": "software",
    "minEmployees": 10,
    "maxResults": 100
};

// Run the Actor and wait for it to finish
const run = await client.actor("korea-b2b-data/korea-company-search").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 = {
    "city": "Gangnam-gu",
    "industry": "software",
    "minEmployees": 10,
    "maxResults": 100,
}

# Run the Actor and wait for it to finish
run = client.actor("korea-b2b-data/korea-company-search").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 '{
  "city": "Gangnam-gu",
  "industry": "software",
  "minEmployees": 10,
  "maxResults": 100
}' |
apify call korea-b2b-data/korea-company-search --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,korea-b2b-data/korea-company-search"
        }
    }
}
```

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/IxCi9yPfgZa7Ukpcy/builds/3VX7iUxqjiLp9otDd/openapi.json
