DEV Community

2x lazymac
2x lazymac

Posted on

KYB in Korea: Look Up Any Company by Business Registration Number

Every business in Korea has a 10-digit Business Registration Number (사업자등록번호). It's the primary identifier for companies, required for invoicing, contracts, and regulatory compliance. Here's how to look up any Korean company by BRN via API.

What a BRN Lookup Returns

A valid BRN lookup gives you:

  • Official company name (Korean + romanized)
  • CEO name
  • Business type and industry codes
  • Registration date
  • Registered address
  • Business status (active/suspended/closed)
  • Tax status

This is public record — all registered Korean businesses are in the National Tax Service database.

Basic Lookup

import requests

API_KEY = "your-key"

def lookup_company(brn: str) -> dict:
    """Look up a Korean company by Business Registration Number."""
    # Remove hyphens if present: "123-45-67890" → "1234567890"
    clean_brn = brn.replace("-", "")

    resp = requests.get(
        f"https://api.lazy-mac.com/k-company-lookup/{clean_brn}",
        headers={"Authorization": f"Bearer {API_KEY}"}
    )

    if resp.status_code == 404:
        return {"error": "Company not found"}

    return resp.json()

# Example
company = lookup_company("220-81-62517")  # Samsung Electronics
print(company["name"])          # 삼성전자주식회사
print(company["ceo"])           # 한종희
print(company["status"])        # active
print(company["founded_date"])  # 1969-01-13
Enter fullscreen mode Exit fullscreen mode

Batch Lookup for Due Diligence

def batch_lookup(brn_list: list[str]) -> list[dict]:
    resp = requests.post(
        "https://api.lazy-mac.com/k-company-lookup/batch",
        json={"brns": brn_list},
        headers={"Authorization": f"Bearer {API_KEY}"}
    )
    return resp.json()["results"]

# Check all suppliers before payment
suppliers = ["123-45-67890", "234-56-78901", "345-67-89012"]
results = batch_lookup(suppliers)

for r in results:
    if r["status"] != "active":
        print(f"WARNING: {r['name']} is {r['status']} — check before paying")
Enter fullscreen mode Exit fullscreen mode

Use Cases

B2B Sales Intelligence: Verify prospect companies before outreach
AP Automation: Validate vendor BRNs before processing invoices
Compliance: Check business status before executing contracts
Market Research: Analyze competitor registration data

BRN Validation

Before lookup, validate the BRN format:

def validate_brn(brn: str) -> bool:
    """Validate Korean Business Registration Number checksum."""
    resp = requests.get(
        f"https://api.lazy-mac.com/k-company-lookup/validate/{brn}",
        headers={"Authorization": f"Bearer {API_KEY}"}
    )
    return resp.json()["valid"]
Enter fullscreen mode Exit fullscreen mode

K-Company Lookup API | Documentation

Top comments (0)