본문 바로가기
조그만 기술로 세상을 이롭게

data.go.kr 공공데이터포털이란?

by eplus 2026. 6. 20.

data.go.kr은 대한민국 공공데이터포털입니다.
정부, 지방자치단체, 공공기관이 보유한 데이터를 국민과 기업, 개발자가 활용할 수 있도록 제공하는 공식 포털입니다.

쉽게 말하면, 국가·공공기관 데이터 API 창구라고 보면 됩니다.


1. 어떤 데이터를 제공하나?

공공데이터포털에서는 다양한 분야의 데이터를 제공합니다.

교통
날씨
미세먼지
도로 CCTV
버스/지하철
주식시세
부동산
주소
공공시설
관광
병원/약국
사업자/인허가
재난안전
고용정보
환경
통계
 

예를 들어 앱이나 프로그램 개발 시 다음과 같은 기능에 활용할 수 있습니다.

미세먼지어때 앱 → 대기질 API
버스정류소어때 앱 → 버스 도착정보 API
고속도로어때 앱 → 교통/CCTV API
주식 Batch 프로그램 → 금융위원회 주식시세정보 API
지도 기반 앱 → 공공시설/주소/위치 데이터
 

2. 데이터 제공 방식

공공데이터포털의 데이터는 크게 두 가지 형태로 제공됩니다.

① 파일데이터

CSV, Excel, JSON, XML 같은 파일을 다운로드해서 사용하는 방식입니다.

예를 들면 다음과 같습니다.

공공기관 목록
전국 공중화장실 정보
관광지 목록
행정구역 코드
사업장 인허가 정보
 

정기적으로 내려받아 DB에 넣는 경우에 적합합니다.


② OpenAPI

프로그램에서 URL을 호출해서 실시간 또는 주기적으로 데이터를 가져오는 방식입니다.

예를 들면 다음과 같습니다.

버스 도착정보 조회
날씨 예보 조회
미세먼지 측정값 조회
주식시세 조회
주소 검색
병원/약국 조회
 

공공데이터포털 이용가이드에 따르면 OpenAPI는 활용신청 승인 후 인증키를 발급받고, 프로그램에서 데이터 제공 URL과 인증키를 입력해 호출하는 방식으로 사용할 수 있습니다.


3. API 사용 절차

일반적인 사용 절차는 아래와 같습니다.

1. data.go.kr 접속
2. 회원가입
3. 필요한 데이터 검색
4. 활용신청
5. 인증키 발급
6. API 문서 확인
7. 프로그램에서 URL 호출
8. JSON/XML 응답 파싱
9. DB 저장 또는 화면 표시
 

OpenAPI 활용신청은 PC에서 지원되며, 승인이 완료되면 활용신청 건에 대해 1인당 하나의 인증키를 발급받을 수 있습니다.


4. 개발자가 보는 핵심 개념

공공데이터 API를 개발에서 사용할 때는 아래 항목을 잘 봐야 합니다.

서비스 URL
인증키(serviceKey)
요청 파라미터
응답 형식
필수 입력값
페이지 번호
한 페이지 결과 수
총 데이터 수
갱신 주기
호출 제한
오류 코드
 

예를 들어 주식시세 API라면 보통 이런 식입니다.

기준일자
종목코드
페이지 번호
한 페이지 건수
응답 타입 JSON/XML
 

버스 API라면 이런 식입니다.

정류소 ID
노선 ID
도시코드
GPS 좌표
인증키
 

5. 인증키란?

인증키는 API를 사용할 수 있는 개발자 식별키입니다.

프로그램에서 API를 호출할 때 보통 아래처럼 포함합니다.

serviceKey=발급받은_인증키
 

C#에서는 보통 설정 파일에 따로 저장합니다.

 
<add key="PublicDataServiceKey" value="발급받은_인증키" />
 

소스 코드에 직접 넣는 것보다 app.config, 환경변수, 별도 설정 파일에 분리하는 것이 좋습니다.


6. API 호출 예시 구조

개념적으로는 아래처럼 호출합니다.

https://apis.data.go.kr/서비스주소?serviceKey=인증키&pageNo=1&numOfRows=100&resultType=json
 

C#에서는 대략 이런 구조입니다.

 
using var http = new HttpClient();

string url =
    "https://apis.data.go.kr/서비스주소" +
    "?serviceKey=인증키" +
    "&pageNo=1" +
    "&numOfRows=100" +
    "&resultType=json";

string json = await http.GetStringAsync(url);
 

실제 개발에서는 URL 인코딩, 예외 처리, 재시도 처리, 응답 코드 확인을 반드시 넣는 것이 좋습니다.


7. 장점

공공데이터포털의 가장 큰 장점은 공식 데이터라는 점입니다.

공공기관 공식 데이터 사용 가능
무료 또는 저비용 활용 가능
앱/웹/Batch 프로그램에 연동 가능
JSON/XML API 제공
파일데이터 다운로드 가능
상업적 서비스 아이디어 검토 가능
 

특히 개인 개발자나 중소기업이 앱을 만들 때 매우 유용합니다.


8. 주의할 점

공공데이터 API를 사용할 때는 다음을 주의해야 합니다.

기관별 데이터 품질 차이
갱신 주기 확인 필요
일부 API는 승인 필요
호출 제한 존재 가능
서비스 점검 가능
응답 구조 변경 가능
인증키 만료 또는 재발급 이슈
데이터 없음과 오류를 구분해야 함
 

예를 들어 주식시세 API는 일자별 Batch에는 적합하지만 실시간 매매용으로 쓰기에는 한계가 있습니다.

버스, 날씨, 미세먼지 API도 기관 서버 장애나 점검이 있으면 일시적으로 조회가 실패할 수 있습니다.


9. 개발 시 권장 구조

앱이나 Batch 프로그램에서 공공데이터 API를 사용할 때는 아래 구조를 추천합니다.

화면 또는 Batch
    ↓
API Client 클래스
    ↓
공공데이터 API 호출
    ↓
응답 파싱
    ↓
DTO 객체 변환
    ↓
DB 저장 또는 화면 표시
 

예를 들어 C#에서는 이런 식입니다.

StockSecuritiesInfoClient
BusArrivalApiClient
AirQualityApiClient
WeatherApiClient
 

API 호출 코드를 화면 코드에 직접 넣지 말고 별도 클래스로 분리해야 유지보수가 쉽습니다.


10. 오류 처리도 중요함

공공데이터 API는 다음과 같은 상황이 발생할 수 있습니다.

인증키 오류
필수 파라미터 누락
호출량 초과
서비스 점검
데이터 없음
응답 지연
JSON/XML 파싱 오류
 

따라서 프로그램에서는 반드시 예외 처리를 해야 합니다.

 
try
{
    string response = await http.GetStringAsync(url);
    // 응답 파싱
}
catch (Exception ex)
{
    // 로그 저장
    // 사용자에게 안내 메시지 표시
}
 

앱에서는 강제종료 대신 “현재 공공데이터 서비스 응답이 원활하지 않습니다” 같은 안내 팝업을 보여주는 것이 좋습니다.


11. 어떤 개발에 적합한가?

공공데이터포털은 다음과 같은 개발에 적합합니다.

생활 편의 앱
교통 정보 앱
날씨/환경 앱
주식 데이터 Batch
공공시설 검색 앱
주소/위치 기반 서비스
관광 안내 앱
업무 자동화 프로그램
ERP/MES 외부 정보 연동
 

특히 개발 초기에는 직접 데이터를 수집하지 않아도 공공 API를 활용해 빠르게 서비스를 만들 수 있습니다.


12. 정리

data.go.kr은 공공기관 데이터를 개발자가 활용할 수 있게 제공하는 공식 포털입니다.

앱, 웹, Batch 프로그램을 만들 때 다음과 같은 역할을 합니다.

공식 데이터 제공처
OpenAPI 인증키 발급처
파일데이터 다운로드 창구
데이터 활용신청 관리
API 문서 확인 장소
 

개발자 입장에서는 매우 중요한 데이터 소스입니다.

다만 운영 프로그램에 적용할 때는 인증키 관리, 호출 제한, 데이터 없음 처리, 기관 서버 장애 대응, 갱신 주기 확인을 반드시 고려해야 합니다.

반응형