Back to Guides
Batch API
Process multiple Korean business verifications in a single API call. Supports both JSON arrays and CSV file uploads. Results can be downloaded as CSV.
Automatic access
Batch API is automatically enabled when you subscribe to Pro or higher. No approval needed.
View pricingPlan Limits
| Plan | Batch Access | Max per Request |
|---|---|---|
| Free | ✗ | - |
| Starter | ✗ | - |
| Pro | ✓ | 100 per request |
| Premium | ✓ | 1,000 per request |
| Enterprise | ✓ | 10,000 per request |
Endpoints
POST https://kynode-api.kynode.workers.dev/v1/batch/verifyPOST https://kynode-api.kynode.workers.dev/v1/batch/uploadGET https://kynode-api.kynode.workers.dev/v1/batch/status/:job_idGET https://kynode-api.kynode.workers.dev/v1/batch/download/:job_idMethod 1: JSON Array
Send an array of business numbers with shared start_date and owner_name.
Request
{
"business_numbers": ["8090903407", "1234567890"],
"start_date": "20240101",
"owner_name": "강민구",
"company_name": "노드메트릭스",
"language": "en"
}Response
{
"batch_id": "batch_1778848601746_vomal22",
"total": 2,
"success": 2,
"failed": 0,
"processing_time_ms": 1580,
"results": [
{
"business_number": "8090903407",
"success": true,
"data": {
"isValid": true,
"businessInfo": {
"businessNumber": "8090903407",
"companyName": "노드메트릭스",
"companyNameOriginal": "노드메트릭스",
"companyNameSource": "original",
"representative": "강민구",
"status": "Active",
"statusCode": "01",
"taxType": "General VAT Taxpayer",
"taxTypeCode": "01",
"verifiedAt": 1778848603326
}
}
},
{
"business_number": "1234567890",
"success": false,
"error": "Business information does not match"
}
]
}Method 2: CSV Upload
Upload a CSV file for bulk processing. Required columns: business_number, start_date, owner_name. Optional: company_name.
CSV Format
business_number,start_date,owner_name,company_name
8090903407,20240101,강민구,노드메트릭스
1234567890,20240101,홍길동,Download Results
After upload, use the returned job_id to download results as CSV (UTF-8 with BOM for Excel compatibility).
Example Code
cURL — JSON
curl -X POST "https://kynode-api.kynode.workers.dev/v1/batch/verify" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"business_numbers": ["8090903407", "1234567890"],
"start_date": "20240101",
"owner_name": "강민구",
"company_name": "노드메트릭스",
"language": "en"
}'cURL — CSV Upload
curl -X POST "https://kynode-api.kynode.workers.dev/v1/batch/upload" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: text/csv" \
--data-binary "@companies.csv"cURL — Download Results
curl "https://kynode-api.kynode.workers.dev/v1/batch/download/JOB_ID" \
-H "Authorization: Bearer YOUR_API_KEY" \
-o results.csvJavaScript
// JSON batch
const response = await fetch('https://kynode-api.kynode.workers.dev/v1/batch/verify', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
business_numbers: ['8090903407', '1234567890'],
start_date: '20240101',
owner_name: '강민구',
company_name: '노드메트릭스',
language: 'en',
}),
});
const result = await response.json();
console.log(`Total: ${result.total}, Success: ${result.success}, Failed: ${result.failed}`);Best Practices
- Stay within your plan's batch size limit per request.
- Each business in the batch counts toward your monthly quota.
- For very large datasets, split into multiple requests of your tier's max size.
- Use CSV upload for bulk operations — results download as Excel-compatible CSV.
- Individual failures are included in results — the batch itself succeeds even if some items fail.