공공데이터 개방 API 이용 안내
해외건설통합정보서비스(OCIS)는 국가별정보, 국가별환경정보를 공공데이터 개방 API로 제공합니다.
아래 절차에 따라 공공데이터포털에서 활용신청 후 발급받은 인증키로 누구나 이용할 수 있습니다.
이용 절차
-
STEP 1. 공공데이터포털 회원가입
공공데이터포털(www.data.go.kr)에 접속하여 회원가입 후 로그인합니다.
이미 회원이라면 로그인만 하면 됩니다. -
STEP 2. API 검색 및 활용신청
포털 검색창에 "해외건설통합정보서비스" 또는 "국가별정보", "국가별환경정보"를 검색하여 원하는 오픈API 상세 페이지로 이동한 뒤 [활용신청] 버튼을 누릅니다.
활용목적을 입력하고 신청하면 승인 처리됩니다. (자동승인 대상은 즉시, 심의 대상은 통보 후 이용 가능) -
STEP 3. 인증키(serviceKey) 확인
승인 후 공공데이터포털의 마이페이지 > 오픈API > 활용신청 현황에서 발급된 일반 인증키(Encoding / Decoding)를 확인합니다.
브라우저 주소창이나 URL 문자열로 직접 호출할 때는 Encoding 키를 사용하는 것이 안전합니다. -
STEP 4. API 호출
발급받은 인증키를
serviceKey파라미터에 넣어 아래 형식으로 호출합니다.GET https://apis.data.go.kr/(기관코드)/ntnInfoService/v1/getCmnNtnCdList ?serviceKey=발급받은인증키 &pageNo=1 &numOfRows=10 &type=json* 정확한 요청 주소(기관코드 포함)는 공공데이터포털의 해당 API 상세 페이지 > 상세기능 > 요청주소에서 확인할 수 있습니다.
공통 요청 파라미터
| 파라미터 | 필수 여부 | 기본값 | 설명 |
|---|---|---|---|
| serviceKey | 필수 | - | 공공데이터포털에서 발급받은 인증키 |
| pageNo | 선택 | 1 | 페이지 번호 |
| numOfRows | 선택 | 10 | 한 페이지 결과 수 (최대 100, 국별환경 내용 조회는 최대 20) |
| type | 선택 | xml | 응답 형식 (xml 또는 json) |
제공 API 목록
1. 국가별정보 서비스 (ntnInfoService)
| 오퍼레이션 | 설명 | 검색 파라미터(선택) |
|---|---|---|
| /ntnInfoService/v1/getCmnNtnCdList | 국가코드 목록 조회 | ntnCd, rgnCd, isoAlph2Cd |
| /ntnInfoService/v1/getCmnNtnGrpList | 국가그룹 목록 조회 | ntnGrpCd, ntnCd |
| /ntnInfoService/v1/getCmnNtnExpnsList | 국가확장정보 목록 조회 | ntnCd, ntnExpnsCd |
| /ntnInfoService/v1/getCmnGrpCdList | 공통그룹코드 목록 조회 | cmnGrpCd |
| /ntnInfoService/v1/getCmnCdList | 공통코드 목록 조회 | cmnGrpCd, cmnCd |
2. 국가별환경정보 서비스 (ntnEnvService)
| 오퍼레이션 | 설명 | 검색 파라미터(선택) |
|---|---|---|
| /ntnEnvService/v1/getNtnEnvCnList | 국별환경 내용 조회 | ntnCd, rgnCd, tocCd, updtYmd(해당 일자 이후 변경분) |
| /ntnEnvService/v1/getNtnEnvTocList | 국별환경 목차 조회 | tocCd, prntTocCd |
| /ntnEnvService/v1/getCmnNtnGrpList | 국가그룹 목록 조회 | ntnGrpCd, ntnCd |
| /ntnEnvService/v1/getCmnGrpCdList | 공통그룹코드 목록 조회 | cmnGrpCd |
| /ntnEnvService/v1/getCmnCdList | 공통코드 목록 조회 | cmnGrpCd, cmnCd |
응답 구조
모든 오퍼레이션은 동일한 구조로 응답합니다. (아래는 국가코드 목록 조회 예시)
XML (기본)
<?xml version="1.0" encoding="UTF-8"?>
<response>
<header>
<resultCode>00</resultCode>
<resultMsg>NORMAL SERVICE.</resultMsg>
</header>
<body>
<items>
<item>
<ntnCd>100</ntnCd>
<rgnCd>24</rgnCd>
<isoAlph2Cd>KR</isoAlph2Cd>
<shrtKornNm>한국</shrtKornNm>
<engNm>Republic of Korea</engNm>
...
</item>
</items>
<numOfRows>10</numOfRows>
<pageNo>1</pageNo>
<totalCount>231</totalCount>
</body>
</response>
JSON (type=json)
{
"response": {
"header": { "resultCode": "00", "resultMsg": "NORMAL SERVICE." },
"body": {
"items": { "item": [ { "ntnCd": "100", "rgnCd": "24", "isoAlph2Cd": "KR", "shrtKornNm": "한국", ... } ] },
"numOfRows": 10,
"pageNo": 1,
"totalCount": 231
}
}
}
결과 코드
| resultCode | 설명 |
|---|---|
| 00 | 정상 (NORMAL SERVICE.) |
| 10 | 요청 파라미터 오류 (pageNo·numOfRows 형식/범위 오류 등) |
| 99 | 기타 서버 오류 |
| 22 / 30 / 31 등 | 공공데이터포털 게이트웨이에서 반환하는 코드 (트래픽 초과 / 미등록 인증키 / 인증키 만료 등) |
유의사항
- 인증키 발급, 일일 트래픽 제한, 이용 현황 조회는 모두 공공데이터포털(www.data.go.kr)에서 관리됩니다.
- 인증키는 외부에 노출되지 않도록 관리해 주세요. 노출 시 공공데이터포털에서 재발급 받을 수 있습니다.
- 국별환경 내용(getNtnEnvCnList)의 본문은 HTML 형식이므로 활용 시 별도 가공이 필요할 수 있습니다.
- 개방 데이터는 지속적으로 확대될 예정입니다.