인증

가입 후 API 관리 페이지에서 인증 키를 발급받으시면, 정기 플랜 구독 없이 API 서비스를 이용하실 수 있습니다. 키 발급에는 심사가 있으며 1~3 영업일이 소요됩니다.

발급받은 키는 모든 요청의 X-API-Key 헤더에 넣어 사용하세요.

curl -G https://gongsinara.com/api/v1/businesses \
  --data-urlencode "q=공시나라" \
  -H "X-API-Key: gsn_live_xxxxxxxx"

조회 흐름

조회의 기본 키는 business_id입니다. 사업자등록번호, 상호명, 업종, 지역 등의 조건으로 검색해 business_id를 받습니다.

1

검색

결과 1건당 5p

상호명, 업종, 지역 같은 조건으로 후보를 받습니다. 사업자등록번호를 이미 알고 있다면 business_number로 검색하거나 /businesses/resolve로 여러 건을 한 번에 찾으세요.

2

조회

business_id로 레코드를 받습니다. 필요한 데이터 범위에 따라 선택하세요.

기본정보1건당 50p

검색 결과 필드에 사업자등록번호, 개업연도, 기업형태, 과세유형이 더해집니다.

상세정보1건당 100p

기본정보에 주소, 대표자, 연락처, 4대보험, 통신판매, 인증 여부가 더해집니다.

엔드포인트

모든 경로 앞에 /api/v1을 붙이세요.

메서드경로차감설명
GET/businesses결과 1건당 5p조건으로 후보 목록을 받습니다
POST/businesses/resolve매칭 1건당 5p사업자등록번호 배열(최대 1,000개)에 해당하는 business_id를 한 번에 찾습니다
GET/businesses/{business_id}1건당 50p기본정보 1건을 받습니다
GET/businesses/{business_id}/detail1건당 100p상세정보 1건을 받습니다
POST/businesses/bulk성공 1건당 50p 또는 100pbusiness_id 배열(최대 100개)로 한 번에 받습니다. level 값으로 기본정보 또는 상세정보를 고릅니다
GET/me무료키 정보와 포인트 잔량을 받습니다
GET/version무료API 버전을 받습니다

검색 조건

GET /businesses에 넘기는 값입니다. 조건은 조합할 수 있습니다. 결과가 0건이면 포인트를 차감하지 않습니다.

파라미터설명
q상호명. 부분 일치로 찾습니다. 한글은 URL 인코딩해서 보내세요
business_number사업자등록번호 10자리. 같은 번호로 여러 건이 나올 수 있습니다
industry표준산업분류 중분류 코드(2자리). 여러 개를 넘기면 OR로 묶습니다
region시/도. 여러 개를 넘기면 OR로 묶습니다
company_type개인 또는 법인
status정상, 휴업, 폐업. 여러 개를 넘기면 OR로 묶습니다
cursor다음 페이지 커서. 이전 응답의 next_cursor를 그대로 넘기세요
limit한 페이지 건수. 1~100, 기본값 20

응답 필드

응답 필드는 조회 단계에 따라 늘어납니다. 상세정보는 기본정보를, 기본정보는 목록 조회 필드를 포함합니다.

목록 조회

결과 1건당 5p

검색 결과에 담기는 필드입니다. 사업자등록번호는 기본정보부터 나옵니다.

항목필드명설명
사업장 IDbusiness_id조회에 쓰는 키
사업장명company_name사업장 이름
기업상태company_status정상, 휴업, 폐업
업종명main_industry_name사업장 주업종 분류명
지역region시/도

기본정보

1건당 50p

목록 조회 5개 필드에 아래 4개가 더해집니다.

항목필드명설명
사업자등록번호business_number사업자등록번호
개업연도founding_year사업 개시 연도
기업형태company_type개인 또는 법인
과세유형tax_type부가가치세 과세 유형

상세정보

1건당 100p

기본정보 9개 필드에 아래 필드가 더해집니다.

대표 정보

항목필드명설명
도로명 주소road_address사업장 도로명 주소
지번주소lot_address사업장 지번 주소
우편번호zip_code사업장 우편번호
대표자명founder_name대표자 이름
법인등록번호corp_number법인 등록번호
법인종류corp_type법인 분류
폐업일자closed_date폐업 시 폐업 일자
상태 확인일자status_checked_at사업 상태를 마지막으로 확인한 시각

업종 정보

항목필드명설명
사업장 업종코드main_industry_code사업장 주업종 표준산업분류 코드
사업장 업종 분류단계main_industry_level1=대분류 2=중분류 3=소분류 4=세분류 5=세세분류
상권 업종코드commercial_district_industry_code상권 기준 업종코드
상권 업종명commercial_district_industry_name상권 기준 업종명

연락처

항목필드명설명
전화번호phone_number사업장 연락처
이메일email사업장 이메일
인터넷 도메인internet_domain사업장 인터넷 도메인

4대보험

항목필드명설명
국민연금 가입자수employee_count국민연금 가입자 수
평균연봉average_salary국민연금 기준 평균 연봉
산재보험 상시근로자수workers_comp_regular_employee_count산재보험 기준 상시 근로자 수
산재보험 사업구분workers_comp_business_type산재보험 사업 구분
고용보험 상시근로자수employment_insurance_regular_employee_count고용보험 기준 상시 근로자 수
고용보험 사업구분employment_insurance_business_type고용보험 사업 구분
사업장관리번호workplace_management_number사업장 관리 번호

통신판매

항목필드명설명
통신판매번호online_sales_number통신판매업 등록번호
통신판매 신고일자report_date통신판매업 신고 일자
업소상태establishment_status업소 운영 상태
판매방식sales_method판매 방식 (온라인 등)
취급품목handled_items취급 품목 목록
신고기관명reporting_agency_name통신판매 신고 기관명

기타 정보

항목필드명설명
나라장터 등록일자nara_market_registration_date나라장터 등록 일자
여성대표자여부is_female_representative여성 대표자 여부
여성기업인증여부is_women_business_certified여성 기업 인증 여부
장애인기업인증여부is_disabled_business_certified장애인 기업 인증 여부
사회적기업인증여부is_social_enterprise_certified사회적 기업 인증 여부

요청과 응답

엔드포인트별 실제 요청과 응답입니다. 값은 예시입니다. 모든 성공 응답은 data 아래에 담기고, 목록은 page가 함께 옵니다.

GET/businesses결과 1건당 5p

요청

curl -G https://gongsinara.com/api/v1/businesses \
  --data-urlencode "q=공시나라" \
  --data-urlencode "status=정상" \
  -H "X-API-Key: gsn_live_xxxxxxxx"

응답

{
  "data": [
    {
      "business_id": 100234,
      "company_name": "공시나라",
      "company_status": "정상",
      "main_industry_name": "응용 소프트웨어 개발 및 공급업",
      "region": "서울특별시 강남구"
    }
  ],
  "page": {
    "next_cursor": "eyJhZnRlciI6MTAwMjM0fQ",
    "has_more": true,
    "limit": 20
  }
}

다음 페이지는 next_cursor를 cursor 파라미터에 넣어 요청합니다. null이면 마지막 페이지입니다.

POST/businesses/resolve매칭 1건당 5p

사업자등록번호마다 matches 배열이 옵니다. 못 찾은 번호는 빈 배열입니다.

요청

curl https://gongsinara.com/api/v1/businesses/resolve \
  -H "X-API-Key: gsn_live_xxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{"business_numbers": ["1234567890", "0000000000"]}'

응답

{
  "data": [
    {
      "business_number": "1234567890",
      "matches": [
        {
          "business_id": 100234,
          "company_name": "공시나라",
          "company_status": "정상",
          "main_industry_name": "응용 소프트웨어 개발 및 공급업",
          "region": "서울특별시 강남구"
        }
      ]
    },
    {
      "business_number": "0000000000",
      "matches": []
    }
  ]
}
GET/businesses/{business_id}1건당 50p

요청

curl https://gongsinara.com/api/v1/businesses/100234 \
  -H "X-API-Key: gsn_live_xxxxxxxx"

응답

{
  "data": {
    "business_id": 100234,
    "company_name": "공시나라",
    "company_status": "정상",
    "main_industry_name": "응용 소프트웨어 개발 및 공급업",
    "region": "서울특별시 강남구",
    "business_number": "1234567890",
    "founding_year": 2019,
    "company_type": "법인",
    "tax_type": "일반과세자"
  }
}
GET/businesses/{business_id}/detail1건당 100p

요청

curl https://gongsinara.com/api/v1/businesses/100234/detail \
  -H "X-API-Key: gsn_live_xxxxxxxx"

응답

{
  "data": {
    "business_id": 100234,
    "company_name": "공시나라",
    "business_number": "1234567890",
    "founding_year": 2019,
    "company_type": "법인",
    "road_address": "서울특별시 강남구 테헤란로 …",
    "founder_name": "홍길동",
    "phone_number": "02-0000-0000",
    "employee_count": 25,
    "average_salary": 48000000
  }
}

일부만 표시했습니다. 상세정보는 기본정보를 포함하며, 전체 필드는 위 응답 필드 표를 참고하세요.

POST/businesses/bulk성공 1건당 50p 또는 100p

level은 basic 또는 detail입니다. 못 찾은 id는 missing에 담기고 차감하지 않습니다.

요청

curl https://gongsinara.com/api/v1/businesses/bulk \
  -H "X-API-Key: gsn_live_xxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{"ids": [100234, 999999], "level": "basic"}'

응답

{
  "data": [
    {
      "business_id": 100234,
      "company_name": "공시나라",
      "company_status": "정상",
      "main_industry_name": "응용 소프트웨어 개발 및 공급업",
      "region": "서울특별시 강남구",
      "business_number": "1234567890",
      "founding_year": 2019,
      "company_type": "법인",
      "tax_type": "일반과세자"
    }
  ],
  "missing": [999999]
}
GET/me무료

요청

curl https://gongsinara.com/api/v1/me \
  -H "X-API-Key: gsn_live_xxxxxxxx"

응답

{
  "data": {
    "key_prefix": "gsn_live_a1b2c3d4",
    "plan": "premium",
    "points": {
      "included_limit": 300000,
      "included_used": 51500,
      "included_remaining": 248500,
      "credit_balance": 10000,
      "total_remaining": 258500,
      "period": "202609",
      "reset_at": "2026-10-01T00:00:00+00:00"
    },
    "rates": { "list_per_result": 5, "basic": 50, "detail": 100 }
  }
}
GET/version무료

요청

curl https://gongsinara.com/api/v1/version

응답

{
  "data": { "api_version": "v1", "prefix": "/api/v1" }
}

오류

모든 실패 응답은 아래 형식을 따릅니다. code 값으로 분기하세요. message는 예고 없이 바뀔 수 있습니다.

{
  "error": {
    "code": "points_exhausted",
    "message": "포인트가 부족합니다. 충전하거나 다음 달 리셋을 기다려야 합니다.",
    "detail": { "included_remaining": 0, "credit_balance": 0, "reset_at": "..." }
  },
  "request_id": "..."
}

문의할 때는 request_id를 함께 보내세요.

HTTPcode대응
401missing_api_keyX-API-Key 헤더를 넣으세요
401invalid_api_key키 값을 확인하세요
401revoked_api_key폐기된 키입니다. 재발급하세요
401expired_api_key유효기간이 지났습니다. 재발급하세요
404not_found해당 business_id 또는 경로가 없습니다
400invalid_cursor이전 응답의 next_cursor를 그대로 넘기세요
400 · 422invalid_parameterdetail.field(400) 또는 detail.fields(422)에 적힌 필드를 확인하세요
402points_exhausted포인트를 충전하거나 다음 달 리셋을 기다리세요
429rate_limit_exceeded잠시 후 재시도하세요

제한 및 이용 정책

항목내용
호출 상한키당 초당 1회입니다. 배치 작업이 필요하면 문의하세요.
차감 기준실제 성공 건수만큼 차감합니다. 오류 응답은 차감하지 않습니다.
차감 순서구독에 포함된 포인트를 먼저 쓰고, 다 쓰면 충전 포인트를 씁니다.
재조회같은 기업을 다시 불러도 매번 차감합니다. 받은 데이터는 저장해 두고 쓰세요.
키 보관키는 발급 시 한 번만 표시합니다. 잃어버리면 재발급하세요.
호출 환경서버 간 호출 전용입니다. 브라우저에서 직접 부르면 키가 노출됩니다.
재배포받은 데이터의 재배포와 재판매는 약관으로 금지합니다.

성공 응답에는 잔량 헤더가 포함됩니다.

X-Quota-Points-Remaining: 248500
X-Quota-Points-Reset: 2026-10-01T00:00:00+00:00
X-RateLimit-Limit: 1
공시나라

공시되어 있는 기업 데이터를 한번에 조회할 수 있는 플랫폼

공시나라 운영사 고객센터
상호: 주식회사 씨디피피 | 대표자명: 이제영
사업자등록번호: 865-81-03683
연락처: 010-5749-1702 | 이메일: support@gongsinara.com
개인정보관리책임자: 이제영 (대표이사) | 010-5749-1702
주소: 17035 경기도 용인시 처인구 모현읍 백옥대로 2366번길 10-23

© 2026 CDPP Co.,Ltd All rights reserved.