정부 무료 공공데이터 종류 총정리 & Python API 실전 호출 연동 가이드
정부 무료 공공데이터 종류 총정리 & Python API 실전 호출 연동 가이드
"아이디어는 있는데 활용할 데이터가 없다고요?" 정부와 지자체가 무료로 제공하는 11,000개 이상의 공공데이터(Open API)를 활용하면 상권 분석, 부동산 추이, 날씨 연동 앱 등 수많은 서비스를 직접 구축할 수 있습니다. 카테고리별 공공데이터 종류부터 파이썬(Python)으로 상권 API를 연동하는 실전 코드까지 한 번에 정리해 드립니다.
📌 목차
- 1. 수익화에 유용한 대표 공공데이터 6가지 분류
- 2. [실전 코드] Python으로 상권 정보 API 호출 & 데이터 파싱하기
- 3. API 연동 시 필수 주의사항 (디코딩 인증키 오류 해결)
- 4. 공공데이터 + AI(Claude/ChatGPT) 서비스 자동화 아이디어
- 5. 공공데이터포털 API 신청 3단계 절차
✍️ 운영자 노트
저는 기상 데이터를 다루는 일을 하고 있어서 공공데이터포털의 기상청 API를 실무에서 꾸준히 씁니다. 처음 신청했을 때 가장 오래 헤맨 지점이 아래 3번의 Encoding/Decoding 인증키 구분이었습니다 — 에러 메시지는 키가 등록되지 않았다고 나오는데, 실제 원인은 키 종류를 잘못 고른 것이었습니다. 같은 곳에서 시간을 버리지 않도록 트러블슈팅 섹션을 꼭 확인하세요.
1. 주요 공공데이터 종류 및 대표 Open API
공공데이터포털(data.go.kr)에서 다룰 수 있는 수천 가지 데이터 중, 서비스 개발이나 업무 자동화에 즉시 활용 가능한 핵심 분야 6가지입니다.
① 소상공인 상가(상권) 정보
- 제공 내용: 전국 점포의 상호명, 업종 분류(대/중/소), 위경도 좌표, 건물 층수 및 상세 주소 데이터.
- 실전 활용: 특정 반경 내 동일 업종 수 분석, 창업 입지 타당성 검토, 동네 상권 지도 서비스 제작.
② 부동산 및 주거 실거래가
- 제공 내용: 국토교통부 아파트/단독주택/오피스텔 실제 계약된 매매 및 전월세 가격 정보.
- 실전 활용: 실거래가 알림 서비스, 지역별 부동산 시세 추이 대시보드, 투자 데이터 분석.
③ 기상청 단기예보 & 대기오염 정보
- 제공 내용: 격자 단위 동네별 예보(기온, 강수확률), 미세먼지(PM10/PM2.5) 실시간 측정치.
- 실전 활용: 날씨 맞춤형 상품 추천(우산/음료 마케팅), 야외 활동 적합도 알림, 농업 컨트롤러.
④ 대중교통 및 실시간 이동 데이터
- 제공 내용: 시도별 버스/지하철 실시간 위치 및 도착 예정 정보, 공영주차장 주차 잔여 대수.
- 실전 활용: 출퇴근 최적 동선 안내, 내 주변 주차 가능 공간 실시간 안내 앱.
⑤ 관광공사 TourAPI (문화/축제)
- 제공 내용: 전국 26만 건 이상의 관광지, 숙박, 음식점, 행사 정보 및 고화질 이미지 URL.
- 실전 활용: 주말 여행 코스 추천 챗봇, 지역별 축제 통합 일정 안내 서비스.
⑥ 보건/의료 및 맞춤형 복지
- 제공 내용: 야간/휴일 운영 병원 및 심야 약국 위치, 연령/소득별 정부 보조금·복지 혜택 조건.
- 실전 활용: 당직 병원/약국 검색 서비스, 내게 맞는 보조금 자동 조회 툴.
2. [실전 코드] Python으로 상권 정보 API 호출 & 파싱하기
대표 예시로 소상공인시장진흥공단 상가(상권)정보 API의 '반경 내 상가업소 조회' 엔드포인트를 Python으로 요청하여 Pandas 데이터프레임 및 CSV 파일로 저장하는 완전한 실전 코드입니다.
import requests import pandas as pd def get_stores_in_radius(service_key: str, cx: float, cy: float, radius: int = 500, page_no: int = 1, num_of_rows: int = 100): """ 공공데이터포털 상가(상권)정보 API - 반경 내 상가업소 조회 """ url = "http://apis.data.go.kr/B553077/api/open/sdsc2/storeListInRadius" params = { 'serviceKey': service_key, # 인증키 (디코딩 키 사용) 'pageNo': page_no, # 페이지 번호 'numOfRows': num_of_rows, # 한 번에 불러올 건수 'radius': radius, # 검색 반경 (m) 'cx': cx, # 경도 (Longitude) 'cy': cy, # 위도 (Latitude) 'type': 'json' # 응답 포맷 } try: response = requests.get(url, params=params, timeout=10) response.raise_for_status() data = response.json() header = data.get('header', {}) if header.get('resultCode') == '00': body = data.get('body', {}) items = body.get('items', []) total_count = body.get('totalCount', 0) print(f"✅ 조회 성공! (전체 {total_count}개 중 {len(items)}개 수신)") return pd.DataFrame(items) else: print(f"❌ API 오류: {header.get('resultMsg')}") return None except Exception as e: print(f"⚠️ 통신/파싱 에러: {e}") return None # --- 실행부 --- if __name__ == "__main__": # 발급받은 '디코딩' 인증키를 넣으세요 MY_SERVICE_KEY = "YOUR_DECODED_SERVICE_KEY" # 강남역 사거리 기준 반경 500m df_stores = get_stores_in_radius( service_key=MY_SERVICE_KEY, cx=127.027621, cy=37.497942, radius=500 ) if df_stores is not None and not df_stores.empty: # 주요 컬럼 선정 및 한글 변경 cols = {'bizesNm': '상호명', 'indsMclsNm': '중분류', 'rdnmAdr': '주소', 'flrNo': '층수'} result_df = df_stores[list(cols.keys())].rename(columns=cols) print(result_df.head()) result_df.to_csv("gangnam_stores.csv", index=False, encoding="utf-8-sig")
3. API 연동 시 트러블슈팅 (가장 흔한 에러)
⚠️ SERVICE_KEY_IS_NOT_REGISTERED_ERROR 트러블슈팅
파이썬의 requests 라이브러리는 params 인자를 URL로 보낼 때 자동으로 인코딩(URL Encoding)을 진행합니다.
따라서 공공데이터포털 마이페이지에 제공되는 키 중 [인증키 (Decoding)] 버전을 코드에 대입해야 인코딩이 두 번 중복 적용되어 발생하는 인증 실패 에러를 막을 수 있습니다.
4. 공공데이터 + AI 연동 수익화 구조
| 구축 형태 | 시스템 구조 및 작동 방식 |
|---|---|
| 마이크로 SaaS 웹 앱 | 상권 API + 지도를 결합하여 특정 위치 기반 상권 세부 업종 구성 비율 시각화 도구 제공. |
| AI Agent / RAG 연동 | LLM(Claude, ChatGPT)에 API 데이터를 연동하여 "강남역 카페 수 몇 개야?"에 실시간 수치로 자동 답변. |
| 자동화 스케줄링 발행 | 매일 아침 날씨/미세먼지나 주말 지역 축제 데이터를 파이썬으로 자동 수집 후 블로그/SNS 자동 포스팅. |
5. 공공데이터 API 활용 3단계 절차
- 공공데이터포털(data.go.kr) 회원가입: 본인 인증 후 원하는 데이터 검색 (파일 데이터가 아닌 Open API 항목 선택).
- 활용 신청: 간단한 웹/앱 개발 목적 작성 후 신청 (대부분 신청 즉시 승인됨).
- 인증키 연결: 마이페이지의 Decoding 인증키를 발급받아 위 파이썬 코드 또는 Claude Code/Cursor 같은 AI 개발 도구에 입력하여 실행.
참고 자료 (공식 출처)
- 공공데이터포털 (data.go.kr) — 전체 데이터 검색·활용 신청
- 소상공인시장진흥공단 상가(상권)정보 API — 본문 예제에 사용한 API
- 국토교통부 실거래가 공개시스템
- 기상청 API허브 — 단기예보·관측자료
- 한국관광공사 · TourAPI 4.0
📎 함께 보면 좋은 글
🚀 지금 바로 나만의 데이터 프로젝트를 시작해 보세요!
파이썬 기초 코드 50 줄이면 11,000개가 넘는 정부 공공데이터를 원하는 대로 자유롭게 수집하고 다룰 수 있습니다.
댓글
댓글 쓰기