공공데이터 API로 수급자 혜택 알림 앱 개발하기

기초생활수급자가 받을 수 있는 정부 지원금, 감면 혜택, 바우처 사업은 수백 가지에 달하지만 정보 접근성이 떨어져 매칭받지 못하는 복지 사각지대가 여전히 존재합니다. 2026년 현재 행정안전부와 보건복지부의 공공데이터 개방 가이드라인에 따라 복지 정보 오픈 API의 데이터 정밀도가 대폭 향상되었습니다. 이를 활용해 사용자의 가구 특성(소득, 연령, 지역)을 입력받아 기초생활수급자 맞춤형 복지 혜택을 실시간으로 필터링하고 푸시 알림을 보내주는 앱 서비스 개발 프로세스를 상세히 안내합니다.

1. 개발에 필요한 필수 공공데이터 API 선정

앱 개발의 첫 단계는 신뢰할 수 있는 정부 공식 데이터를 확보하는 것입니다. 대한민국 ‘공공데이터포털(data.go.kr)’에서 활용 신청 후 인증키를 발급받아야 하는 핵심 API 리스트는 다음과 같습니다.

추천 복지 오픈 API 목록 및 활용 목적

API 명칭제공 기관데이터 활용 목적
보건복지부_중앙부처 다함께복지 서비스 정보보건복지부생계·의료·주거·교육급여 수급자 대상 국가 복지 서비스 전수 조사 및 매칭
행정안전부_지자체별 취약계층 지원 정보행정안전부거주 지역(시·군·구)에 따른 수급자 전용 특별 위로금, 수도 요금 감면 등 로컬 혜택 연계
한국에너지공단_에너지바우처 대상자 정보한국에너지공단동절기·하절기 수급자 에너지 난방비 지원 사업 실시간 마감일 및 자격 매칭

API 신청 팁: 공공데이터포털 로그인 후 위 API들을 검색하여 ‘활용신청’을 진행하면 대다수 자동 승인되어 즉시 서비스키(ServiceKey)를 발급받을 수 있습니다. 데이터 포맷은 모바일 앱 통신에 최적화된 JSON 형식을 지정하여 호출하는 것이 편리합니다.

[안내] 아래 공공데이터포털 링크를 통해 앱 개발에 필요한 개발자 계정 생성 및 맞춤형 복지 매칭 오픈 API 인증키를 즉시 신청할 수 있습니다.

2. 공공데이터 API 연동 및 알림 앱 백엔드 소스 코드

파이썬(Python)의 requests 라이브러리를 활용하여 중앙부처 복지 서비스 데이터를 호출하고, 사용자가 ‘기초생활수급자’이면서 ’65세 이상 노인’인 경우에 해당하는 맞춤형 복지 혜택들만 실시간으로 필터링하여 결과를 반환하는 백엔드 핵심 로직 예시 코드입니다.

Python

import requests
import json

def get_welfare_benefits(user_type, user_age):
    print("=" * 50)
    print("      공공데이터 API 기반 맞춤형 복지 혜택 조회 시스템")
    print("=" * 50)
    
    # 1. 공공데이터포털에서 발급받은 디코딩된 서비스키 입력
    # (실제 서비스 환경에서는 .env 환경변수 파일로 관리하는 것을 권장합니다)
    api_key = "YOUR_PUBLIC_DATA_API_KEY_HERE"
    
    # 2. 보건복지부 다함께복지 서비스 정보 테스트 엔드포인트 URL
    url = "http://apis.data.go.kr/1352000/ODMS_STAT_34/welfareServiceList"
    
    params = {
        'serviceKey': api_key,
        'pageNo': '1',
        'numOfRows': '100',
        'resultType': 'JSON'
    }
    
    try:
        # 3. 오픈 API 호출
        response = requests.get(url, params=params, timeout=10)
        
        # 4. 정상 응답(200) 확인 및 데이터 파싱
        if response.status_code == 200:
            data = response.json()
            items = data.get('response', {}).get('body', {}).get('items', [])
            
            print(f"📡 정부 복지 API 연동 완료 (총 {len(items)}건 로드)")
            print(f"🎯 매칭 필터링 적용 중... [조건: {user_type} / 만 {user_age}세]\n")
            
            matched_count = 0
            # 5. 사용자 조건별 맞춤형 데이터 필터링 알고리즘
            for item in items:
                title = item.get('serviceNm', '명칭 없음')
                summary = item.get('serviceSummary', '상세 내용 없음')
                target = item.get('targetDesc', '')
                
                # 기초생활수급자 타겟 및 연령 조건 매칭
                if user_type in target:
                    if user_age >= 65 and ("노인" in target or "어르신" in target or "고령" in target):
                        matched_count += 1
                        print(f"[{matched_count}] 🎁 추천 혜택: {title}")
                        print(f"👉 요약: {summary}")
                        print("-" * 50)
            
            if matched_count == 0:
                print("💡 현재 조건에 부합하는 수급자 맞춤형 새로운 알림 혜택이 없습니다.")
                
        else:
            print(f"❌ API 통신 실패 (오류 코드: {response.status_code})")
            
    except requests.exceptions.Timeout:
        print("❌ 공공데이터 서버 응답 시간 초과 (Timeout)")
    except Exception as e:
        print(f"❌ 데이터 파싱 중 시스템 오류 발생: {e}")

# 앱 가상 구동 테스트 (유저 세팅: 기초생활수급자, 만 68세 어르신 가정)
get_welfare_benefits(user_type="기초생활수급", user_age=68)

3. 실시간 알림(Push Notification) 앱 설계 아키텍처

단순 조회를 넘어 사용자에게 유용한 ‘알림 앱’으로 고도화하려면 다음과 같은 3계층 아키텍처 인프라를 연동해야 합니다.

  • 크론탭 데이터 동기화 (Backend Scheduler): 정부 데이터가 업데이트되거나 지자체 신규 공고가 뜨는 타이밍을 캐치하기 위해 파이썬의 APScheduler를 활용, 매일 새벽 3시에 오픈 API 데이터를 호출하여 로컬 DB(PostgreSQL, MySQL 등)와 동기화 시킵니다.
  • 푸시 서버 연동 (FCM): 데이터 동기화 도중 신규 수급자 감면 혜택이 발견되면 구글의 Firebase Cloud Messaging (FCM) 인프라를 통해 사용자의 스마트폰으로 “2026년 하반기 난방비 바우처 신청이 시작되었습니다”와 같은 실시간 푸시 알림을 발송합니다.
  • 프론트엔드 크로스 플랫폼: 1인 가구 고령층 수급자 어르신들의 사용 가독성을 높이기 위해 큰 글씨 모드를 지원하는 크로스 플랫폼 프레임워크인 Flutter 또는 React Native를 사용해 UI를 빌드하면 하나의 코드로 안드로이드와 아이폰 앱을 동시에 출시할 수 있습니다.

공공데이터 API 사용 중 트래픽 초과 오류(Traffic Limit Exceeded)가 발생하면 어떻게 하나요?

공공데이터포털에서 발급받는 기본 인증키는 하루 개발용 쿼리 제한(보통 하루 1,000회~10,000회 호출)이 걸려있습니다. 앱 사용자가 늘어나 상용화 단계로 진입할 때는 해당 API 페이지의 [활용신청 변경] 메뉴를 통해 실제 앱 스토어 출시 URL 및 서비스 기획서를 첨부하면 승인을 거쳐 호출 트래픽 제한을 무제한에 가깝게 상향(일일 수십만 건 이상) 조정할 수 있습니다.

수급자 어르신들이 주 타겟인데 개인정보(주민번호 등)를 API로 연동해야 하나요?

아닙니다. 보건복지부 복지 서비스 정보 오픈 API는 특정 개인의 신원을 조회하는 것이 아니라, 국가와 지자체가 마련한 복지 정책의 ‘선정 조건 정보(문자열)’를 긁어오는 현물 데이터 기반입니다. 따라서 개인 식별 정보는 전혀 수집할 필요가 없으며, 앱 내에서 사용자가 본인의 가구원 수, 소득 분위, 연령층만 체크박스로 가볍게 선택하도록 설계하면 보안 필터링과 구글/애플 보안 심사를 안전하게 통과할 수 있습니다.

지자체별로 지원하는 수급자 수당이 다 다른데 이건 어떻게 처리하나요?

보건복지부 API 외에 행정안전부에서 제공하는 ‘지자체별 복지 지원 정책 오픈 API’를 다중 결합(Multi-join)해야 합니다. 사용자로부터 거주 지역 주소(예: 서울시 중랑구, 부산시 사하구 등)를 가입 시 입력받은 후, 백엔드 로직에서 URL 매개변수에 지역 코드 항목을 추가하여 각 지자체 서버 데이터를 레이어로 교차 필터링 처리해 주면 완벽한 맞춤형 로컬 알림을 전송할 수 있습니다.

5. 핵심 내용 요약

  • 오픈 API 기반 구축: 공공데이터포털에서 제공하는 중앙부처 및 지자체 복지 데이터 오픈 API를 연동하여 가장 정확하고 공신력 있는 복지 소스를 확보합니다.
  • JSON 파싱 및 매칭: 파이썬 백엔드 스크립트를 통해 원격 데이터를 리턴받고 사용자의 수급자 자격 및 연령별 타겟 키워드와 비교·매칭하는 매커니즘을 적용합니다.
  • FCM 푸시 시스템 연계: 신규 복지 바우처 접수 기간이나 감면 혜택 정책이 발견되면 파이어베이스 서버와 결합하여 모바일 디바이스로 즉시 자동 푸시 알림을 발송합니다.
  • 트래픽 및 보안 유지보수: 개인정보 보호를 위해 단순 조건 설정형 가입 방식을 고수하며, 사용자 증가 시 공공데이터포털 연동 권한을 상용화 등급으로 상향 신청하여 서버 안정성을 유지해야 합니다.

How useful was this post?

Click on a star to rate it!

Average rating 0 / 5. Vote count: 0

No votes so far! Be the first to rate this post.

댓글 남기기