보건복지부 API
몇 년 전, 아이가 밤늦게 갑자기 열이 끓어올라 동네 약국을 찾아 헤매던 기억은 제게 이 데이터의 중요성을 절실히 깨닫게 했습니다. 부정확한 정보 속에서 어려움을 겪었던 그때, 정확한 데이터를 손쉽게 제공받을 수 있다면 얼마나 좋을까 생각했죠. 이 글은 저처럼 데이터를 활용하여 세상을 더 편리하게 만들고 싶은 분들을 위한 완벽한 안내서가 될 것입니다.
보건복지부 API 개요

보건복지부 API란 무엇인가요?
보건복지부 API(Application Programming Interface)라는 말을 처음 듣는 분이라면 어렵게 느껴질지도 모릅니다. 하지만 사실 아주 간단한 개념이죠. 제가 처음 API를 공부할 때 가장 와닿았던 비유는 ‘레스토랑의 메뉴판’이었어요. 우리, 레스토랑에 가서 주방에 직접 들어가 요리법을 보거나 재료를 가져오지 않지 않습니까? 대신 메뉴판(API)을 보고 원하는 음식(데이터)을 주문하면, 웨이터가 정해진 경로를 통해 주방(보건복지부 데이터 서버)에 주문을 전달하고, 완성된 음식을 우리에게 가져다주는 것처럼 말입니다.
보건복지부 API는 바로 이 메뉴판과 같은 역할을 합니다. 개발자들은 복잡한 정부 데이터베이스 시스템을 일일이 알 필요 없이, 이 ‘메뉴판’에 적힌 규칙대로 “우리 동네 병원 목록 좀 줘!” 하고 요청만 보내면, 약속된 형태로 깔끔하게 정리된 데이터를 받아볼 수 있거든요. 기술적으로는 REST(Representational State Transfer)라는 현대 웹에서 가장 널리 쓰이는 통신 규약을 따르며, 데이터는 주로 JSON(JavaScript Object Notation), XML(eXtensible Markup Language)이라는 형태로 쉽게 제공합니다. 이 용어들이 낯설더라도 괜찮습니다. 쉽게 말해 컴퓨터가 이해하기 쉬운 언어로 정리된 ‘데이터 영수증’ 같은 것이라고 생각하면 되지요. 제 경험에 따르면, 처음에는 제공된 예제 코드를 그대로 따라 해보면서 감을 잡는 것이 가장 빠른 방법이었어요.
| 개념 | 설명 |
|---|---|
| REST | 현대 웹에서 널리 쓰이는 통신 규약 |
| JSON / XML | 컴퓨터가 이해하기 쉬운 데이터 형식 (데이터 영수증) |
| API 키 | 데이터 접근을 위한 ‘열쇠’ |

보건복지부 API 제공 데이터
국민의 건강과 삶의 질에 직결되는 방대하고 신뢰도 높은 정보들이 가득한 곳, 이 공공 데이터는 그야말로 ‘보건복지 데이터의 보물창고’라고 할 수 있습니다. 크게 네 가지로 나누어 지금 살펴보시겠어요?
- 의료기관 정보: 전국의 병원, 의원, 약국, 요양병원 등에 대한 거의 모든 정보가 이곳에 담겨 있습니다. 주소, 전화번호 같은 기본 정보는 물론, 진료 과목, 의사 수, 병상 수, 심지어 응급실 운영 여부 같은 상세한 정보까지 한눈에 얻을 수 있으니, 이러한 정보가 밤늦게 약국을 찾아 헤맸던 경험을 해결해 줄 핵심이 될 수 있습니다.
- 의료인 및 의약품 정보: 우리가 먹는 약에 대한 상세 정보도 제공하고요, 특정 의사가 어떤 전문 분야의 자격을 가졌는지 확인할 수 있는 면허 정보 또한 찾아볼 수 있습니다.
- 사회복지시설 정보: 따뜻한 복지 서비스가 필요한 분들에게 꼭 맞는 시설을 찾아주는 서비스를 만들고 싶다면 주목해 주세요. 우리 주변의 노인복지시설, 장애인 거주시설, 아동복지시설 등의 위치, 입소 정원, 제공 서비스 같은 정보를 한눈에 보여줍니다.
- 각종 통계 데이터: 사회 전체의 건강 트렌드를 파악할 수 있는 중요한 데이터도 많습니다. 건강보험 재정 현황, 특정 질병의 발생률, 지역별 의료 이용 현황 등이 바로 그것이지요. 개인적으로 저는 이 부분이 공공 데이터 활용에 있어 가장 중요하다고 생각하는데요, 데이터의 가치와 개인의 권리 보호 사이의 균형을 맞추는 것이 핵심입니다.
이 모든 데이터는 주민등록번호와 같은 민감한 개인정보를 철저히 제거하며, 통계 자료 역시 특정 개인을 식별할 수 없도록 안전하게 가명처리하여 제공하므로 안심하고 활용할 수 있습니다.

보건복지부 API 활용 및 연동

보건복지부 API 신청 및 발급
데이터라는 보물을 사용하려면 ‘열쇠’가 필요한데, API의 세계에서는 이 열쇠를 ‘API 키(Key)’라고 부릅니다. 이 키는 우리나라 공공데이터의 허브인 ‘공공데이터포털(data.go.kr)’에서 발급받을 수 있습니다.
작년 여름, 그러니까 2023년 7월쯤 ‘우리동네 주말병원’이라는 작은 개인 프로젝트를 위해 제가 처음으로 ‘전국 병의원 및 약국찾기 서비스’ 보건복지부 API를 신청했던 때가 문득 떠오르네요. 절차는 생각보다 간단했지만, ‘활용계획서’를 작성할 때는 꽤나 고심했었지요. 단순히 ‘앱 개발’이라고 적기보다는, 주말이나 공휴일에 갑자기 아픈 아이를 둔 부모들이 스마트폰으로 가장 가까운 문 연 병원과 약국을 즉시 찾을 수 있도록 돕는 공익적 목적의 앱임을 강조하며 제 경험을 담아 구체적으로 작성했던 기억이 생생합니다. 데이터를 어떻게 안전하게 다룰 것인지에 대한 계획도 꼼꼼히 덧붙였습니다. 며칠 뒤 승인 메일을 받았을 때의 그 기쁨이란!
여러분도 이 과정을 쉽게 시작할 수 있습니다. 회원가입 후 원하는 API를 찾아 ‘활용신청’을 누르고, 여러분이 만들고 싶은 서비스가 사회에 어떤 긍정적인 영향을 줄 수 있는지 진솔하게 설명하면 됩니다. 승인이 완료되면 고유한 API 키가 발급되는데, 보통 하루에 1,000번까지 데이터를 요청할 수 있는 기본 한도를 부여합니다. 물론 서비스가 더 커지면 추가 신청을 통해 한도를 늘릴 수도 있으니 걱정 마시지요.

보건복지부 API 연동 가이드
API 키라는 열쇠를 손에 넣었으니, 이제 실제로 내 서비스에 데이터를 연결하는 작업이 남았습니다. 이때 우리에게 길잡이가 되어주는 것이 바로 공공데이터포털에서 제공하는 ‘기술 문서’, 또는 ‘상세 기능’ 설명서입니다.
처음에는 복잡한 용어들 때문에 막막하게 느껴질지라도, 핵심은 네 가지입니다. 먼저, 발급받은 API 키를 어떻게 요청에 포함시켜야 하는지 알려주는 인증 방법이 있지요. 보통 “serviceKey=내가발급받은키”와 같은 형태로 요청 주소에 덧붙여야 합니다. 이어서, 어떤 데이터를 원하는지 서버에 정확하게 전달하는 방법인 요청 형식(Request)을 확인해야 합니다. 예를 들어 ‘서울시’에 있는 ‘내과’ 병원 목록을 원한다면, 그에 해당하는 코드 값을 함께 보내야 하는 식이죠. 요청이 성공했을 때, 서버가 어떤 모양(JSON 또는 XML)으로 데이터를 돌려주는지에 대한 설명서인 응답 구조(Response)를 보며, 마치 상자에서 필요한 물건만 쏙쏙 골라내듯(이 과정을 ‘파싱(Parsing)’이라고 합니다) 원하는 정보를 추출해 사용하면 됩니다. 마지막으로 요청이 잘못되었을 때 어떤 오류 메시지가 돌아오는지 알려주는 오류 처리 가이드도 잊지 말아야 합니다. “인증키가 잘못되었습니다” 또는 “요청 한도를 초과했습니다” 같은 메시지를 통해 문제의 원인을 쉽게 파악할 수 있거든요.
이 데이터와 다른 공공 데이터(예: 기상청 미세먼지 데이터)를 결합한다면 호흡기 질환 예측 서비스 같은 훨씬 더 고도화된 서비스도 가능할 것이라고 저는 생각합니다.
| 오류 코드 예시 | 설명 | 해결 방법 |
|---|---|---|
| AUTH_ERROR | 인증키가 잘못되었거나 만료됨 | API 키 재확인 및 재발급 |
| TRAFFIC_EXCESS | 일일 요청 한도를 초과함 | 다음 날 재시도 또는 한도 증량 신청 |
| INVALID_PARAM | 필수 파라미터 누락 또는 값 오류 | 요청 형식(Request) 문서 재확인 후 수정 |

보건복지부 API, 어떻게 활용할까요?
개발자들의 창의적인 아이디어와 만났을 때 비로소 진정한 빛을 발하는 것, 그것이 바로 보건복지부 API입니다. 실제로 이 데이터를 활용한 멋진 서비스들이 우리 주변에 참 많이 있죠!
다음과 같은 다양한 방식으로 활용할 수 있습니다:
위치 기반 의료 서비스 찾기 앱: 늦은 밤이나 휴일에 문 연 병원이나 약국을 찾아주거나, 내 주변에서 가장 가까운 응급실을 안내해 주는 서비스에 활용됩니다. 건강보험심사평가원의 비급여 진료비 정보를 결합하면, 병원별 진료비를 비교해 합리적인 의료 선택을 돕는 서비스도 충분히 가능합니다.
맞춤형 복지시설 추천 플랫폼: 거동이 불편한 어르신을 위한 요양 시설이나, 발달장애 아동을 위한 지원 센터 정보를 사용자의 조건에 맞게 찾아주고 연결해 주는 서비스는 정보 소외계층에게 큰 도움이 될 수 있습니다. 개인적으로는 데이터를 활용한 서비스는 이렇게 사회적 약자를 돕는 방향으로 발전해야 한다고 굳게 믿는 바예요.
이 모든 데이터를 영리적, 비영리적 목적에 상관없이 자유롭게 이용할 수 있습니다.
> 다만, 여러분이 만든 서비스에 “이 데이터는 보건복지부(공공데이터포털)에서 제공받았습니다”라고 출처를 명확하게 밝혀주는 것, 이것만큼은 잊지 마시기를 당부합니다!

보건복지부 API 개발자 센터
개발자들이 API를 활용하다 보면 예상치 못한 문제에 부딪히거나 궁금한 점이 생기기 마련이지요. 이때 도움을 받을 수 있는 곳이 바로 공공데이터포털 내에 마련된 ‘개발자 센터’입니다. 이곳은 개발자들을 위한 일종의 ‘고객센터’이자 ‘커뮤니티’라고 할 수 있겠습니다.
저는 연동 초기에 원인 모를 오류로 몇 시간 동안 헤맨 적이 있었는데, 개발자 커뮤니티 게시판에 질문을 올렸더니 다른 경험 많은 개발자분께서 해결책을 알려주셔서 문제를 해결했던 고마운 기억이 생생하답니다. 이처럼 개발자 센터에서는 상세한 기술 문서, 다양한 프로그래밍 언어별 예제 코드, 그리고 다른 개발자들이 자주 묻는 질문(FAQ)들을 직접 찾아볼 수 있습니다. 그렇지만 아쉬운 점도 없지는 않습니다. 가끔 API 사양이 변경되었는데 관련 문서가 바로 업데이트되지 않아 혼란을 겪는다는 개발자들의 목소리도 적지 않더군요. 저 역시 문서와 실제 응답 데이터가 미묘하게 달라 당황한 적이 있어서 이 부분은 정말 공감하는 바예요. 이렇듯 개선해야 할 부분들이 꾸준히 보완되고 있다는 점에서, 앞으로 이 데이터 생태계는 더욱 발전할 것이라고 확신합니다.
국민의 건강과 복지를 위한 데이터 개방은 더 이상 선택이 아닌 필수입니다. 오늘 살펴본 보건복지부 API는 단순한 데이터 덩어리가 아니라, 저의 경험처럼 일상의 불편함을 해결하고 더 나은 사회를 만드는 아이디어를 실현시켜 줄 강력한 도구에 다름 아닙니다. 여러분도 이 멋진 도구를 활용해 세상을 바꾸는 혁신에 동참해 보시기를 진심으로 권하는 바입니다.
—

FAQ
Q1. 보건복지부 API를 사용하려면 비용을 내야 하나요?
A1. 아니요, 보건복지부 API는 공공데이터포털(data.go.kr)을 통해 모두 무료로 제공됩니다. 다만, 안정적인 서버 운영을 위해 하루에 데이터를 요청할 수 있는 횟수(기본 1,000회)에 제한이 있어요. 더 많은 요청이 필요하면 활용계획을 검토받은 후 한도를 늘릴 수 있답니다.
Q2. 보건복지부 API로 돈을 버는 상업용 앱을 만들어도 되나요?
A2. 네, 물론입니다. 비영리적 목적뿐만 아니라 영리적 목적으로도 자유롭게 이용할 수 있어요. 단, 서비스를 제공할 때 데이터의 출처가 ‘보건복지부’ 또는 ‘공공데이터포털’임을 반드시 표시해야 합니다.
Q3. API를 사용하기 위한 ‘API 키’는 어떻게 받나요?
A3. ‘공공데이터포털(data.go.kr)’에서 받을 수 있습니다. 회원가입 후, 사용하고 싶은 API를 골라 어떤 서비스를 만들 것인지 활용계획서를 작성해 제출하면 됩니다. 보통 1, 2일 정도의 심사를 거쳐 고유한 API 키가 발급되어요.
Q4. 개발 중에 기술적인 문제가 생기면 어디에 물어봐야 하나요?
A4. 공공데이터포털 내의 개발자 센터를 이용하시면 됩니다. 각 API 설명 페이지에 있는 자주 묻는 질문(FAQ)이나 개발자 커뮤니티를 먼저 확인해 보시겠어요? 그래도 해결되지 않으면 온라인 문의나 이메일 등 공식 기술 지원 창구를 통해 도움을 요청할 수 있답니다.
Q5. 보건복지부 API로 어떤 종류의 데이터를 받을 수 있나요?
A5. 전국의 병원, 약국 정보, 의사 면허 정보, 사회복지시설 현황, 건강보험 통계, 질병 통계 등 보건과 복지에 관련된 아주 다양한 데이터를 받을 수 있습니다. 단, 개인정보보호법에 따라 특정 개인을 알아볼 수 있는 정보는 제공하지 않습니다.

안녕하세요, 20년째 글로벌 API의 표준을 연구하는 조민희입니다. 😉
다양한 API와 실무 연동 사례에 대해 소개해드려요.
복잡한 기술도 원리만 알면 쉽습니다. 저와 함께 가장 빠르고 정확한 연동 방법을 찾아봐요! 🚀