공공데이터 API 뭐부터 신청할까, 5개 분야 판정 기준 정리

공공데이터포털에 오픈API가 11,915개 있습니다. 그런데 실제로 뭘 신청해야 할지는 목록 어디에도 안 적혀 있죠.

"공공데이터 추천"으로 검색하면 대부분 인기 순위를 나열합니다. 문제는 많다는 게 아니라, 다들 같은 축으로 재지 않고 나란히 놓는다는 겁니다. 활용신청 건수가 많다고 내가 쓰기 쉬운 건 아니거든요.

그래서 다섯 개 분야를 실시간성과 파라미터 난이도 두 축으로만 나눠 정리했습니다. 다섯 개 전부 인증키 하나로 직접 호출해본 것들입니다.

공공데이터를 처음 만지는 분들을 위한 글입니다.

공공데이터 API 5개 분야 판정 기준
인증키 하나로 열리는 5개 분야를 두 축으로 나눠 판정했습니다.

기준을 어떻게 잡았나 - 채택한 축과 버린 축

먼저 버린 축부터 밝힙니다. 활용신청 건수는 기준에서 뺐습니다. 포털이 보여주는 신청 건수는 누적값이라 오래된 API가 유리하고, 실제로 지금 쓸 만한지와는 상관이 약했습니다.

조회수도 뺐어요. 어떤 API는 문서를 여러 번 열어봐야 이해되는 구조라 조회수가 높습니다. 그건 인기가 아니라 난이도 신호에 가깝습니다.

측정 조건 — 아래 판정은 전부 개발계정 기준이고, 2026년 8월에 직접 호출해 응답을 받은 결과입니다. 운영계정으로 전환하면 한도와 절차가 달라집니다.

두 축으로 그린 지도 - 어디부터 열지

파라미터 쉬움파라미터 까다로움
시차 있음공휴일 · 관광상권 · 실거래가
거의 실시간—날씨

표에서 눈여겨볼 칸은 왼쪽 아래 빈칸입니다. 쉬우면서 실시간인 데이터는 이 다섯 개 안에 없습니다. 실시간에 가까울수록 넣어야 할 값이 까다로워지는 게 이 판에서는 거의 규칙입니다.

공휴일 - 가장 먼저 열 것

넣는 값이 연도 하나입니다. 다섯 개 중 유일하게 파라미터를 고민할 필요가 없어요.

불러보면 한 해 빨간날이 22일로 정리돼 돌아옵니다. 대체휴일이 붙는 날까지 이미 반영된 상태예요. 규칙을 직접 구현하면 예외가 많은 부분인데 그걸 서버가 대신 계산해 줍니다.

✅ API 호출이 처음이라면

API 호출이 처음인 사람. 달력·근무일수·배송 예정일 같은 걸 만들려는 사람.

⚠️ 값만 필요한 상황이면 과합니다

공휴일만 필요하다면 이미 만들어진 라이브러리가 여럿 있습니다. API를 배우려는 목적이 아니라 값만 필요한 상황이면 과합니다.

관광 - 사진이 딸려 오는 유일한 쪽

앞의 공휴일이 "가장 쉬운 것"이라면, 이쪽은 "결과물이 가장 빨리 그럴듯해지는 것"입니다.

관광지·숙박·음식점·축제가 약 26만 건 들어 있고, 응답에 사진 주소가 그대로 옵니다. 화면에 바로 걸 수 있어요.

✅ 보여줄 화면이 필요하다면

보여줄 화면이 필요한 사람. 포트폴리오용으로 뭔가 하나 만들어야 하는 사람.

⚠️ 문서를 안 읽고 시작하면 막힙니다

필수 파라미터가 두 개 더 붙습니다. MobileOS와 MobileApp을 안 넣으면 에러가 납니다. 문서를 안 읽고 시작하는 습관이면 여기서 한 번 막힙니다.

상권 - 항목이 가장 많은 쪽

업소 하나당 39개 항목이 옵니다. 상호명·업종 대중소분류·도로명주소·경도위도에 층과 호수까지 들어 있어요.

강남역 반경 500m를 돌리면 6,615개가 잡힙니다. 7번 나눠 호출해서 5.5초 걸렸습니다.

상권 API 강남역 반경 500m 결과 6,615개
상권 API 실행 결과. 반경 500m 안에서 6,615개가 잡혔습니다.

✅ 창업 자리나 페이징 연습이 목적이라면

창업 자리를 보는 사람. 그리고 페이징을 연습하고 싶은 사람 — 한 번에 1,000건씩 끊어 오기 때문에 반복 호출을 자연스럽게 배웁니다.

⚠️ 업소 수를 정확히 세는 일에는 약합니다

업소 수를 정확히 세야 하는 일에는 약합니다. 동일 지점을 연달아 조회했는데 결과가 여섯 건 차이 났어요.

실거래가 - 숫자가 가장 센 쪽

여기서 규칙을 한 번 깹니다. 앞의 셋은 "만들기 좋은가"로 봤는데, 이건 만들지 않아도 값이 나오는 데이터입니다.

강남구 2026년 6월을 조회하니 수서동 까치마을 전용 34.44㎡ 6층이 145,000으로 잡혔습니다. 단위가 만원이라 14억 5천만원이에요. 호가가 아니라 계약서에 적힌 금액입니다.

⚠️ 다섯 개 중 이것만 XML로 옵니다

다섯 개 중 이것만 XML로 옵니다. JSON만 다뤄봤다면 파싱에서 한 번 걸립니다.

날씨 - 마지막에 열 것

거의 실시간이라 값은 가장 큽니다. 대신 지점을 지정하는 방식이 다릅니다. 흔히 쓰는 좌표 대신 기상청이 따로 쓰는 격자 번호를 받거든요.

변환표에서 지점 값을 찾아 넣어야 합니다. 위경도를 그대로 넣으면 엉뚱한 지역이 오거나 응답이 비어 옵니다. 게다가 기온·강수확률·하늘상태가 전부 세 글자 영문 코드로 오기 때문에, 대조표를 옆에 두지 않으면 값을 받아도 못 읽습니다.

오해 교정 — "위경도만 있으면 날씨는 다 된다"는 말이 블로그에 아직 많습니다. 단기예보 조회서비스에서는 안 됩니다. 격자 변환을 먼저 거쳐야 합니다.

인증키는 몇 개나 받아야 하나

하나입니다. 다섯 개를 다 신청해도 키는 늘어나지 않아요. 늘어나는 건 그 키가 열 수 있는 목록입니다.

이 구조를 모르면 "키를 받았는데 왜 호출이 안 되지"에서 오래 멈춥니다. 키가 틀린 게 아니라 그 데이터를 아직 신청하지 않은 경우가 대부분이거든요.

제가 신청한 범위에서는 다섯 개 전부 무료였고 카드 등록도 없었습니다. 조건은 데이터마다 달라서, 각 상세 화면의 이용허락범위 항목을 보시는 게 확실합니다.

자동승인으로 분류된 데이터는 신청 클릭과 동시에 상태가 바뀝니다. 검토가 들어가는 종류도 섞여 있어서, 신청 화면의 심의 항목을 먼저 보시는 게 좋습니다.

하루 호출 한도는 데이터마다 다르게 잡혀 있습니다. 제가 조회한 상권 쪽은 개발계정에서 만 건이 한도였습니다.

솔직하게 - 반대 사례도 하나

상권 분석 자체가 목적이라면 API를 부를 이유가 없습니다. 소상공인시장진흥공단이 만든 상권정보시스템이 이미 있고, 지도에서 영역을 그리면 업종별 통계가 바로 나옵니다.

제가 API를 고른 건 분석이 목적이 아니라 데이터를 내 도구에 붙이는 방법이 목적이었기 때문입니다. 목적이 다르면 판정도 달라집니다.

같은 반경 500m 방배역 결과 1,315개
같은 반경으로 잰 방배역. 개수도 업종 구성도 달랐습니다.

정리 - 목록이 아니라 한 개를 고르세요

다섯 개를 두 축으로 재보고 남은 결론은 이겁니다. 어떤 데이터가 좋은가보다, 지금 내가 감당할 파라미터가 몇 개인가가 먼저입니다.

맨 위에서 11,915개라는 숫자로 시작했는데, 두 축으로 재고 나니 오늘 고를 후보는 다섯 개도 아니고 한 개로 줄었습니다. 목록의 크기는 선택을 도와주지 않더라고요.

그래서 순위를 매기지 않았습니다. 오늘 처음이라면 공휴일 하나만 신청해서 응답을 한 번 받아보세요. 그 한 번이 나머지 넷의 진입 비용을 거의 다 없앱니다. 넣는 값의 개수만 달라질 뿐 흐름이 같거든요.

댓글 남기기 → 목록으로