BizScan은 용도별로 5개의 엔드포인트를 제공합니다. 필요에 맞는 엔드포인트를 선택하세요.
| 필요한 정보 | 엔드포인트 | 필요 플랜 |
|---|---|---|
| 사업자번호 진위만 확인 | POST /biz/verify | Free |
| 대표자명 + 주소 + 인허가 요약 | GET /biz/{bizno}/summary | Free+ |
| 인허가 전체 목록 (페이징) | GET /biz/{bizno}/license | Basic+ |
| 행정처분 + 위생등급 | GET /biz/{bizno}/sanctions | Basic+ |
| 한 번에 모든 정보 조회 | GET /biz/{bizno}/report | Basic+ |
/biz/{bizno}/report하나면 충분합니다. 모든 데이터를 한 번의 호출로 받을 수 있습니다.bizscan.kr에서 회원가입 후 대시보드에서 API 키를 발급받으세요. Free 플랜은 가입 즉시 활성화되며, 월 100건까지 무료입니다.
curl -X GET \
"https://api.bizscan.kr/biz/1234567890/summary" \
-H "Authorization: Bearer YOUR_API_KEY"{
"bizno": "1234567890",
"biz_name": "비즈스캔",
"ceo": "홍길동",
"ceo_source": "ftc_online",
"status": "정상영업",
"licenses": { "total": 3, "active": 2 },
"sanctions": { "total": 0 },
"hygiene": { "available": true, "latest": { "grade": "우수" } }
}축하합니다! 사업자번호 하나로 인허가, 행정처분, 위생등급, 대표자명을 한 번에 조회했습니다.
/health를 제외한 모든 API 요청에 API 키가 필요합니다. 두 가지 방식 중 하나를 선택하세요.
Authorization: Bearer bscan_xxxxxx-api-key: bscan_xxxxx서버 상태를 확인합니다. 인증 없이 호출 가능합니다.
curl "https://api.bizscan.kr/health"{ "status": "ok" }국세청 사업자등록 진위확인 API를 호출합니다. 사업자번호만 필수이며, 개업일과 대표자명은 선택입니다. 해당 사업자의 상태(계속/휴업/폐업)와 과세유형을 반환합니다.
curl -X POST "https://api.bizscan.kr/biz/verify" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"businesses": [
{
"b_no": "1234567890",
"start_dt": "20200101",
"p_nm": "홍길동"
}
]
}'| 필드명 | 타입 | 설명 | Nullable |
|---|---|---|---|
businesses | array | 검증할 사업자 배열 (최대 100건) | No |
businesses[].b_no | string | 사업자번호 10자리 (하이픈 없이) | No |
businesses[].start_dt | string | 개업일 (YYYYMMDD) | Yes |
businesses[].p_nm | string | 대표자명 | Yes |
{
"b_stt": "계속사업자",
"b_stt_cd": "01",
"tax_type": "일반과세자",
"tax_type_cd": "01",
"end_dt": null,
"utcc_yn": "N",
"tax_type_change_dt": null,
"invoice_apply_dt": "2020-01-15",
"rbf_tax_type": "해당없음",
"rbf_tax_type_cd": null
}| 필드명 | 타입 | 설명 | Nullable |
|---|---|---|---|
b_stt | string | 사업자 상태 (계속사업자 / 휴업자 / 폐업자) | No |
b_stt_cd | string | 상태 코드 (01: 계속, 02: 휴업, 03: 폐업) | No |
tax_type | string | 과세 유형 (일반과세자, 간이과세자 등) | No |
tax_type_cd | string | 과세 유형 코드 | No |
end_dt | string | 폐업일 (YYYY-MM-DD) | Yes |
utcc_yn | string | 단위과세전환 여부 (Y/N) | No |
tax_type_change_dt | string | 과세유형 전환일 | Yes |
invoice_apply_dt | string | 세금계산서 적용일 | Yes |
rbf_tax_type | string | 간이과세 유형 | Yes |
rbf_tax_type_cd | string | 간이과세 유형 코드 | Yes |
// 400 Bad Request
{ "error": "사업자번호 10자리를 정확히 입력해주세요." }
// 401 Unauthorized
{ "error": "Unauthorized" }사업자번호에 대한 핵심 정보를 한 번에 요약합니다. 대표자명, 주소, 업종, 인허가 건수, 행정처분 건수, 위생등급을 포함합니다.
curl "https://api.bizscan.kr/biz/1234567890/summary" \
-H "Authorization: Bearer YOUR_API_KEY"{
"bizno": "1234567890",
"biz_name": "비즈스캔",
"ceo": "홍길동",
"ceo_source": "ftc_online",
"address": "서울특별시 강남구 테헤란로 123",
"phone": "02-1234-5678",
"category": "소프트웨어 개발업",
"status": "정상영업",
"registered_at": "20200101",
"platform": null,
"nts": {
"b_stt": "계속사업자",
"b_stt_cd": "01",
"tax_type": "일반과세자",
"tax_type_cd": "01",
"end_dt": null,
"utcc_yn": "N"
},
"licenses": { "total": 3, "active": 2 },
"sanctions": { "total": 0 },
"hygiene": {
"available": true,
"latest": {
"grade": "우수",
"valid_to": "2027-03-15",
"biz_name": "비즈스캔"
}
}
}| 필드명 | 타입 | 설명 | Nullable |
|---|---|---|---|
bizno | string | 사업자번호 10자리 | No |
biz_name | string | 상호명 | Yes |
ceo | string | 대표자명 (교차검증된 최우선 소스) | Yes |
ceo_source | string | 대표자명 출처 (ftc_online, fsc_corp 등) | Yes |
address | string | 사업장 주소 | Yes |
phone | string | 전화번호 | Yes |
category | string | 업종 | Yes |
status | string | 영업 상태 (정상영업, 폐업 등) | Yes |
registered_at | string | 등록일/개업일 | Yes |
platform | string | 판매 플랫폼 (스마트스토어 등) | Yes |
nts | object | 국세청 진위확인 결과 | Yes |
licenses | object | 인허가 요약 (total, active) | No |
sanctions | object | 행정처분 요약 (total) | No |
hygiene | object | 위생등급 정보 | No |
// 404 Not Found
{ "error": "Not Found", "message": "사업자번호를 찾을 수 없습니다" }해당 사업자의 인허가 전체 목록을 페이징으로 조회합니다. 195개 업종의 인허가 데이터 960만 건에서 검색합니다.
curl "https://api.bizscan.kr/biz/1234567890/license?page=1&limit=20" \
-H "Authorization: Bearer YOUR_API_KEY"| 필드명 | 타입 | 설명 | Nullable |
|---|---|---|---|
page | number | 페이지 번호 (기본값: 1) | Yes |
limit | number | 페이지당 건수 (기본값: 20, 최대: 100) | Yes |
{
"total": 3,
"page": 1,
"limit": 20,
"data": [
{
"mgt_no": "2020-서울-강남-00001",
"biz_name": "비즈스캔",
"license_type": "일반음식점",
"status": "영업중",
"issued_at": "2020-01-15",
"address": "서울 강남구 테헤란로 123",
"phone": "02-1234-5678"
},
{
"mgt_no": "2021-서울-강남-00042",
"biz_name": "비즈스캔 2호점",
"license_type": "휴게음식점",
"status": "폐업",
"issued_at": "2021-06-01",
"address": "서울 강남구 역삼로 45",
"phone": null
},
{
"mgt_no": "2022-서울-강남-00103",
"biz_name": "비즈스캔 베이커리",
"license_type": "제과점",
"status": "영업중",
"issued_at": "2022-03-10",
"address": "서울 강남구 논현로 78",
"phone": "02-5678-1234"
}
]
}| 필드명 | 타입 | 설명 | Nullable |
|---|---|---|---|
mgt_no | string | 인허가 관리번호 (고유값) | No |
biz_name | string | 업소명 | Yes |
license_type | string | 인허가 업종 (일반음식점, 휴게음식점 등) | Yes |
status | string | 인허가 상태 (영업중, 폐업 등) | Yes |
issued_at | string | 인허가 발급일 | Yes |
address | string | 사업장 주소 | Yes |
phone | string | 전화번호 | Yes |
식약처 행정처분 이력과 위생등급 정보를 조회합니다. 위생등급은 이력 전체를 포함합니다.
curl "https://api.bizscan.kr/biz/1234567890/sanctions" \
-H "Authorization: Bearer YOUR_API_KEY"{
"sanctions": {
"total": 1,
"data": [
{
"sanction_date": "2023-06-15",
"sanction_type": "영업정지",
"violation": "식품위생법 위반",
"content": "영업정지 10일"
}
]
},
"hygiene": {
"available": true,
"latest": {
"grade": "우수",
"valid_to": "2027-03-15",
"biz_name": "비즈스캔"
},
"history": [
{
"grade": "우수",
"issued_at": "2024-03-15",
"valid_to": "2027-03-15"
},
{
"grade": "좋음",
"issued_at": "2021-03-20",
"valid_to": "2024-03-20"
}
]
}
}| 필드명 | 타입 | 설명 | Nullable |
|---|---|---|---|
sanction_date | string | 처분일 (YYYY-MM-DD) | Yes |
sanction_type | string | 처분 유형 (영업정지, 과징금 등) | Yes |
violation | string | 위반 법령 | Yes |
content | string | 처분 내용 상세 | Yes |
| 필드명 | 타입 | 설명 | Nullable |
|---|---|---|---|
available | boolean | 위생등급 데이터 존재 여부 | No |
latest | object | 최신 위생등급 (grade, valid_to, biz_name) | Yes |
history | array | 위생등급 이력 배열 | Yes |
사업자번호에 대한 모든 데이터를 한 번에 통합 조회합니다. 대표자명 교차검증 소스 목록(ceo_sources)까지 포함하며, 응답 시간(response_ms)도 반환합니다.
curl "https://api.bizscan.kr/biz/1234567890/report" \
-H "Authorization: Bearer YOUR_API_KEY"{
"bizno": "1234567890",
"biz_name": "비즈스캔",
"ceo": "홍길동",
"ceo_source": "ftc_online",
"address": "서울특별시 강남구 테헤란로 123",
"phone": "02-1234-5678",
"category": "소프트웨어 개발업",
"status": "정상영업",
"registered_at": "20200101",
"platform": "스마트스토어",
"nts": {
"b_stt": "계속사업자",
"b_stt_cd": "01",
"tax_type": "일반과세자",
"tax_type_cd": "01",
"end_dt": null,
"utcc_yn": "N",
"tax_type_change_dt": null,
"invoice_apply_dt": "2020-01-15",
"rbf_tax_type": "해당없음",
"rbf_tax_type_cd": null
},
"licenses": {
"total": 3,
"active": 2,
"data": [
{
"biz_name": "비즈스캔",
"license_type": "일반음식점",
"status": "영업중",
"issued_at": "2020-01-15",
"address": "서울 강남구 테헤란로 123",
"phone": "02-1234-5678"
},
{
"biz_name": "비즈스캔 2호점",
"license_type": "휴게음식점",
"status": "폐업",
"issued_at": "2021-06-01",
"address": "서울 강남구 역삼로 45",
"phone": null
}
]
},
"sanctions": {
"total": 1,
"data": [
{
"sanction_type": "영업정지",
"sanction_date": "2023-06-15",
"violation": "식품위생법 위반",
"content": "영업정지 10일"
}
]
},
"hygiene": {
"available": true,
"latest": {
"grade": "우수",
"valid_to": "2027-03-15",
"biz_name": "비즈스캔"
}
},
"ceo_sources": [
{
"ceo": "홍길동",
"source": "ftc_online",
"biz_name": "비즈스캔",
"status": "정상영업",
"registered_at": "2020-01-15",
"platform": "스마트스토어",
"category": "소프트웨어 개발업",
"address": "서울 강남구 테헤란로 123"
},
{
"ceo": "홍길동",
"source": "fsc_corp",
"biz_name": "비즈스캔",
"status": null,
"registered_at": null,
"platform": null,
"category": null,
"address": "서울 강남구"
}
],
"response_ms": 142
}| 필드명 | 타입 | 설명 | Nullable |
|---|---|---|---|
bizno | string | 사업자번호 10자리 | No |
biz_name | string | 상호명 | Yes |
ceo | string | 대표자명 (최우선 소스) | Yes |
ceo_source | string | 대표자명 출처 | Yes |
address | string | 사업장 주소 | Yes |
phone | string | 전화번호 | Yes |
category | string | 업종 | Yes |
status | string | 영업 상태 | Yes |
registered_at | string | 등록일/개업일 | Yes |
platform | string | 판매 플랫폼 | Yes |
nts | object | 국세청 진위확인 결과 전체 | Yes |
licenses | object | 인허가 목록 (total, active, data[]) | No |
sanctions | object | 행정처분 목록 (total, data[]) | No |
hygiene | object | 위생등급 정보 | No |
ceo_sources | array | 대표자명 교차검증 소스 전체 목록 | No |
response_ms | number | 서버 응답 시간 (ms) | No |
| 필드명 | 타입 | 설명 | Nullable |
|---|---|---|---|
ceo | string | 대표자명 | No |
source | string | 데이터 출처 (ftc_online, fsc_corp 등) | No |
biz_name | string | 해당 소스의 상호명 | Yes |
status | string | 해당 소스의 영업 상태 | Yes |
registered_at | string | 등록일 | Yes |
platform | string | 판매 플랫폼 | Yes |
category | string | 업종 | Yes |
address | string | 주소 | Yes |
const API_KEY = process.env.BIZSCAN_API_KEY;
const BIZNO = "1234567890";
// 통합 리포트 조회
const res = await fetch(
`https://api.bizscan.kr/biz/${BIZNO}/report`,
{ headers: { Authorization: `Bearer ${API_KEY}` } }
);
if (!res.ok) {
const err = await res.json();
throw new Error(`${res.status}: ${err.error}`);
}
const data = await res.json();
console.log(`대표자: ${data.ceo}`);
console.log(`인허가: ${data.licenses.total}건 (활성 ${data.licenses.active}건)`);
console.log(`행정처분: ${data.sanctions.total}건`);import os
import requests
API_KEY = os.environ["BIZSCAN_API_KEY"]
BIZNO = "1234567890"
# 통합 리포트 조회
res = requests.get(
f"https://api.bizscan.kr/biz/{BIZNO}/report",
headers={"Authorization": f"Bearer {API_KEY}"}
)
res.raise_for_status()
data = res.json()
print(f"대표자: {data['ceo']}")
print(f"인허가: {data['licenses']['total']}건")
print(f"행정처분: {data['sanctions']['total']}건")import requests
res = requests.post(
"https://api.bizscan.kr/biz/verify",
headers={
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json"
},
json={
"businesses": [{
"b_no": "1234567890",
"start_dt": "20200101",
"p_nm": "홍길동"
}]
}
)
data = res.json()
print(f"상태: {data['b_stt']} / 과세유형: {data['tax_type']}")curl -s \
"https://api.bizscan.kr/biz/1234567890/report" \
-H "Authorization: Bearer bscan_xxxxx" | jq .curl -s \
"https://api.bizscan.kr/biz/1234567890/license?page=2&limit=10" \
-H "x-api-key: bscan_xxxxx" | jq .모든 에러 응답은 아래 형식을 따릅니다.
{
"error": "에러 유형",
"message": "상세 설명 (선택)"
}| 상태 코드 | 에러명 | 설명 | 해결 방법 |
|---|---|---|---|
400 | Bad Request | 사업자번호가 10자리가 아니거나 요청 형식 오류 | 사업자번호를 하이픈 없이 10자리로 입력 |
401 | Unauthorized | API 키가 없거나 유효하지 않음 | Authorization 헤더 형식 및 키 값 확인 |
403 | Forbidden | 현재 플랜으로 접근할 수 없는 엔드포인트 | Basic 이상 플랜으로 업그레이드 |
404 | Not Found | 해당 사업자번호의 데이터가 DB에 없음 | 사업자번호 재확인 / 다른 엔드포인트 시도 |
429 | Too Many Requests | 월간 조회 한도 초과 | 다음 달까지 대기하거나 플랜 업그레이드 |
500 | Internal Server Error | 서버 내부 오류 | 잠시 후 재시도, 지속 시 support@bizscan.kr 문의 |
// 400 — 잘못된 사업자번호
{ "error": "사업자번호 10자리를 정확히 입력해주세요." }
// 401 — 인증 실패
{ "error": "Unauthorized" }
// 403 — 플랜 부족
{ "error": "Forbidden", "message": "Basic 이상 플랜이 필요합니다" }
// 404 — 데이터 없음
{ "error": "Not Found", "message": "사업자번호를 찾을 수 없습니다" }
// 429 — 한도 초과
{ "error": "Too Many Requests", "message": "월간 조회 한도를 초과했습니다" }| 플랜 | 월 요금 | 월 조회수 | 초과 단가 | 접근 범위 |
|---|---|---|---|---|
| Free | 무료 | 100건 | - | 진위확인 + 통합요약 (verify, summary) |
| Pay-as-you-go | 없음 | 건당 과금 | 60원 | 전체 엔드포인트 |
| Basic | 29,000원 | 1,000건 | 25원 | 전체 엔드포인트 |
| Pro | 99,000원 | 5,000건 | 15원 | 전체 엔드포인트 |
각 엔드포인트의 OpenAPI 스키마, Try it 기능, 상세 파라미터 설명은 API 레퍼런스 페이지에서 확인하세요.
Base URL: https://api.bizscan.kr
문의사항이나 버그 리포트는 support@bizscan.kr로 보내주세요.