IT 개발2026-05-18

사업자등록번호 조회 API: 국세청 상태조회와 진위확인의 차이

국세청 상태조회·진위확인의 차이와 API 응답을 설명합니다.

사업자등록번호 조회 API: 국세청 상태조회와 진위확인의 차이

안녕하세요. 사랑받는 IT 프로덕트의 첫걸음, 똑똑한개발자입니다.

사업자등록번호 조회 API는 국세청 등록정보를 바탕으로 사업자의 상태나 입력 정보의 일치 여부를 확인하는 서비스입니다. 상태조회와 진위확인은 다른 기능이며, 어느 쪽도 신청자의 대표자 본인 여부를 직접 인증하지는 않습니다. 오늘은 요청 항목과 응답 처리 방법을 알아보겠습니다.

사업자등록번호 조회 API, 어디에 붙일까

사업자등록번호 조회 API로 가입 단계에서 국세청 조회 결과를 확인하는 흐름

입점 심사를 사람이 하던 서비스라면 아마 운영자가 사업자등록증 사본을 하나씩 열어 보고 있을 겁니다. 하지만 사본만 봐서는 서류가 진짜인지, 지금도 영업 중인지 알 수 없습니다.

가입 단계에서는 번호가 살아 있는지부터 봅니다.

입력한 번호가 국세청에 등록돼 있는지, 휴업이나 폐업 상태는 아닌지를 가입 버튼을 누르는 순간 확인합니다. 세금계산서를 발행하는 서비스라면 과세유형도 이때 함께 받아 둘 만합니다.

입점 심사에서는 입력한 사업자 정보의 일치를 확인합니다.

번호가 살아 있다고 해서 신청자가 대표자라는 보장은 없습니다. 번호와 대표자명·개업일자 등 입력 정보가 국세청 정보와 일치하는지 진위확인으로 조회합니다. 이 결과만으로 신청자의 신원이나 대표 권한이 증명되지는 않으므로 필요한 확인 절차는 별도로 둡니다.

국세청 진위확인과 상태조회, 무엇이 다를까

사업자등록번호 조회 API 상태조회와 국세청 진위확인 비교

공공데이터포털에 올라온 서비스 이름은 '국세청_사업자등록정보 진위확인 및 상태조회 서비스'이고 활용신청 한 번으로 두 기능을 모두 씁니다.

구분

상태조회

진위확인

엔드포인트

/status

/validate

필수 입력

사업자등록번호

사업자등록번호·대표자성명·개업일자

주요 응답

납세자상태(b_stt_cd)·과세유형·폐업일

일치 여부(valid)와 상태조회 결과

쓰는 자리

가입 시 번호 검증, 주기적 휴폐업 점검

입점·정산 계약 전 본인 확인

진위확인은 입력값이 전부 맞으면 상태조회와 같은 정보까지 함께 돌려줍니다. 공공데이터포털 안내에 따르면 국세청 데이터는 30분 주기로 갱신되고 신규 개업자는 반영까지 1~2일이 걸립니다. 막 개업한 신청자는 조회되지 않을 수 있으니 수동 심사 경로가 따로 있어야 합니다.

활용신청부터 첫 호출까지

사업자등록번호 조회 API 활용신청부터 POST 호출까지 3단계

공공데이터포털 가입과 활용신청, Encoding·Decoding 인증키 차이는 공공데이터포털 API 사용법 글에서 앞서 정리했습니다. 이 서비스는 개발계정과 운영계정 모두 자동승인에 이용료도 없습니다. 2026년 10월 기준 상세 페이지에는 1회 100건, 1일 100만 건 제한이 적혀 있습니다.

GET이 아니라 POST로 보냅니다.

다른 공공데이터 API처럼 주소창에 붙여 넣어서는 동작하지 않습니다. 인증키(serviceKey)는 URL 쿼리에 넣고 사업자등록번호는 JSON 본문에 담습니다.

POST https://api.odcloud.kr/api/nts-businessman/v1/status?serviceKey={인증키}
Content-Type: application/json

{ "b_no": ["1234567890"] }

b_no는 배열이라 번호를 최대 100개까지 한 번에 보낼 수 있습니다. 진위확인이라면 businesses 배열 안에 b_no, start_dt, p_nm을 담아 보내면 됩니다.

응답 코드와 자주 나는 오류

사업자등록번호 조회 API 응답 코드와 자주 나는 오류

상태조회 응답의 b_stt_cd는 01이 계속사업자, 02가 휴업자, 03이 폐업자입니다. 진위확인의 valid는 01이면 일치, 02면 불일치이며 불일치일 때는 valid_msg로 '확인할 수 없습니다'가 함께 옵니다.

등록되지 않은 번호도 오류가 아니라 정상 응답으로 옵니다.

국세청에 없는 번호를 넣어도 HTTP 오류는 나지 않습니다. 과세유형 자리에 '국세청에 등록되지 않은 사업자등록번호입니다'라는 문구가 담겨 올 뿐이라 상태 코드만 보고 통과시키면 이 경우를 놓치게 됩니다.

하이픈과 날짜 형식에서 가장 많이 막힙니다.

사업자등록번호는 하이픈 없이 숫자 10자리, 개업일자는 YYYYMMDD로 보내야 합니다. 필수 항목이 빠지면 411, 100개를 넘기면 413, JSON 형식이 틀리면 400이 돌아옵니다.

진위확인에 사용하는 개인정보와 보관 범위

진위확인에 넣는 대표자 성명은 개인사업자라면 곧 개인정보가 됩니다. 수집 목적을 '사업자 확인'으로 밝히고 확인이 끝난 뒤 무엇을 남길지도 정해 두어야 합니다. 저희는 원문 대신 조회 결과와 조회 시각만 남기는 방식부터 검토합니다. 보관 기간과 동의 문구는 법무 검토를 함께 받는 편이 안전합니다.

남는 설계 질문은 하나입니다. 우리 서비스는 사업자를 언제, 얼마나 깊게 확인해야 할까요? 이 답에 따라 상태조회만으로 충분할지, 진위확인까지 붙여야 할지가 갈립니다.

사업자등록번호 조회 API 단계별 체크리스트

세부 항목과 최신 적용 조건은 국세청 사업자등록정보 API 안내를 참고해 보세요.


사업자 회원을 받는 절차를 준비하고 있다면

똑똑한개발자 소개

서비스에 필요한 연동 기능을 하나씩 붙이다 보면 화면뿐 아니라 데이터와 운영 방식도 함께 살펴보게 됩니다. 지금 서비스에 필요한 범위부터 차근차근 정리해볼 수 있습니다.

똑똑한개발자는 UX/UI 디자인과 웹·앱 개발을 함께 진행합니다. 사용자가 이용하는 화면과 운영에 필요한 기능을 연결해 서비스를 만들어가는 과정을 돕습니다.

서비스에 필요한 연동 기능을 준비하면서 궁금한 점이 있다면 아래 똑똑한개발자 링크로 편하게 이야기 남겨주세요. 함께 살펴보겠습니다. 감사합니다. :)

클립보드에 복사되었어요 ✓
이 글을 공유해보세요!