← Back to Documentation

API Reference

Complete reference for the Kynode API.

Base URL

https://kynode-api.kynode.workers.dev/v1

Authentication

Kynode uses API keys to authenticate requests. Include your API key in the Authorization header.

Authorization: Bearer YOUR_API_KEY

Tip: Keep your API keys secure. Don't commit them to version control.

Verify Business

POST /verify

Verify a Korean business registration number and retrieve company information.

Language Options (lang body field)

ValueDescription
enEnglish output with DART-verified company names
koKorean output (default)
bothBoth Korean and English in one response
codeMinimal response with status codes only

Request Body

ParameterTypeRequiredDescription
business_numberstringYes10-digit Korean business registration number (no hyphens)
startDatestringYesBusiness start date (YYYYMMDD or YYYY-MM-DD)
ownerNamestringYesRepresentative name (must match NTS records exactly)
companyNamestringNoKorean company name. When provided, used to look up the official English company name from the DART database (117,078 companies). Strongly recommended when lang is "en" or "both" for accurate English company names, since NTS does not return company names in their API response. Alias: company_name.
langstringNoOutput language: en / ko / both / code (default: ko)

Example Request

Include companyName when requesting English output — NTS validation does not return the trade name (b_nm).

{
  "business_number": "1248100998",
  "startDate": "19691201",
  "ownerName": "전영현",
  "companyName": "삼성전자",
  "lang": "en"
}
curl -X POST "https://kynode-api.kynode.workers.dev/v1/verify" \
  -H "Authorization: Bearer sk_live_abc123..." \
  -H "Content-Type: application/json" \
  -d '{
    "business_number": "1248100998",
    "startDate": "19691201",
    "ownerName": "전영현",
    "companyName": "삼성전자",
    "lang": "en"
  }'

Response

Success Response200 OK
{
  "isValid": true,
  "businessInfo": {
    "businessNumber": "8090903407",
    "companyName": "Nodemetrics",
    "companyNameOriginal": "노드메트릭스",
    "companyNameSource": "dart",
    "representative": "강민구",
    "status": "Active",
    "statusCode": "01",
    "taxType": "General VAT Taxpayer",
    "taxTypeCode": "01",
    "verifiedAt": 1747123456789
  }
}

Batch Verification API

Process multiple business numbers in a single request. Available on Pro tier and above.

POST /v1/batch/verifyJSON Array

curl -X POST "https://kynode-api.kynode.workers.dev/v1/batch/verify" \
  -H "Authorization: Bearer sk_live_abc123..." \
  -H "Content-Type: application/json" \
  -d '{
    "business_numbers": ["8090903407", "1234567890"],
    "start_date": "20260513",
    "owner_name": "강민구",
    "language": "en"
  }'

POST /v1/batch/uploadCSV Upload

Upload a CSV file with multiple businesses. Required columns: business_number, start_date, owner_name. Optional: company_name.

# CSV format
business_number,start_date,owner_name,company_name
8090903407,20260513,강민구,노드메트릭스
1234567890,20200101,홍길동,

# Upload
curl -X POST "https://kynode-api.kynode.workers.dev/v1/batch/upload" \
  -H "Authorization: Bearer sk_live_abc123..." \
  -H "Content-Type: text/csv" \
  --data-binary "@companies.csv"

GET /v1/batch/status/:job_id

Check processing status of a batch job.

GET /v1/batch/download/:job_id

Download results as CSV (UTF-8 with BOM for Excel).

PlanBatch AccessMax per Request
Free-
Starter-
Pro100
Premium1,000
Enterprise10,000

Errors

Kynode uses conventional HTTP response codes to indicate success or failure.

CodeDescription
200Success
400Bad request — missing or invalid parameters
401Unauthorized — invalid or missing API key
403Forbidden — feature not available on current plan
404Not found — endpoint or resource does not exist
429Rate limit or monthly quota exceeded
500Internal server error — try again later
{
  "error": {
    "code": "invalid_business_number",
    "message": "The business number format is invalid"
  }
}

Rate Limits

Kynode enforces rate limits to ensure service quality for all users.

PlanMonthly VerificationsPrice
Free100$0
Starter5,000$29/mo
Pro25,000$99/mo
Premium100,000$299/mo
Enterprise500,000+$999/mo