Skip to main content

What it does

Send one business registration certificate file, and the API returns the business registration number, business name, representative names, opening date, address, and industries. It also verifies the business registration number, representative name, and opening date it read against National Tax Service (NTS) records. Use it to save customers or members from typing their business details.

Requirements

This API needs no issuer registration, no certificate, and no client reference id (Bolta-Client-Reference-Id), on any subscription plan. Set Basic {apiKey} in the Authorization header. See the authentication guide.

Pricing

Each document whose NTS verification result (validation) is MATCHED or NOT_MATCHED deducts 100 points. An UNAVAILABLE result, an error response, and any test key call deduct nothing. Sending the same file again deducts again.

Request

Put one file in the file part of a multipart/form-data body.
  • Supported formats are PDF, JPG, PNG, and WebP.
  • The file must be 5 MB (5,242,880 bytes) or smaller. A PDF must have 5 pages or fewer.
  • Send one document per request. Send several documents one at a time.
  • The API accepts business registration certificates only. Other documents, such as a business registration proof or a corporate registry, and files whose business registration number cannot be read return 400 INVALID_FILE.
The API reads PDFs downloaded from Hometax most accurately. When users upload a photo, ask them to capture the whole document with sharp text. If the API returns 400 INVALID_FILE because it cannot read the business registration number, ask the user to take the photo again.

Response

The API returns 200 OK with the response below.
The response always contains every field. A value the API could not read is null, and a list is empty. If the API cannot read the business registration number, it returns 400 INVALID_FILE instead of a result. representativeNames holds every co-representative and drops role labels such as (공동대표). For a joint sole proprietorship, the certificate prints one representative in the name field, and the list holds only that person. Where you accept a single representative, use the first item. In industries, the business type and business item in the same row form a pair. If you need a primary industry, use the first row.

validation

NTS verification uses three values: the business registration number, the first representative name, and the opening date. Ask users to confirm the business name, address, and industries themselves.

inputQuality

Prefilling input forms

When validation is MATCHED and inputQuality is SUFFICIENT, you can prefill an input form with the values. Let users review and correct the values before you save them or issue a tax invoice.

Processing time

The API finishes each request within about 45 seconds. Set your client read timeout to 60 seconds or more. If extraction does not finish in time, the API returns 503 EXTRACTION_UNAVAILABLE.

Data retention

Bolta does not store uploaded files or the values read from them. The response never contains personal identification numbers such as resident registration numbers.

Test key

A test key returns the fixed result shown in the response example above, regardless of the uploaded file, and deducts no points. An empty file, a file over 5 MB, or an unsupported format returns the same error as with a live key. The fixed 1000000014 is the active-business number for the business registration status test key, so you can pass the extracted number straight to a status check with a test key.

Rate limits

With a live key, wait for the previous response before you send the next file. All live keys of the same partner share the concurrency limit. When you receive 429, wait the number of seconds in the Retry-After header and send the same file again.

Errors

The message of INVALID_FILE differs by cause, and you can show it to users as is. The messages are in Korean. See Error codes for the full list.