공고 알림봇 만들기 (2편) — 인증키가 필요 없는 공공 API도 있습니다

1편에서 "봇은 10분인데 보낼 내용을 가져오는 게 본체"라고 했죠. 그 첫 관문이 인증키였어요. 그런데 여기서부터 예상이 빗나갔습니다.

지난 편 → 1편 — 손으로 찾다 지쳤습니다

공공데이터포털에 다 있는 줄 알았어요

공공 데이터는 공공데이터포털(data.go.kr) 에서 받는다고 알고 있었어요. 회원가입하고, 쓰고 싶은 API에 "활용신청"을 하면 인증키를 받는 구조죠.

실제로 임대주택 쪽은 정말 그랬어요. LH와 마이홈은 신청하니 자동승인으로 즉시 키가 나왔습니다. 심사 대기도 없었어요. 개발계정 기준으로 LH는 하루 1만 건, 마이홈은 하루 1천 건까지 호출할 수 있는데, 알림봇 하나 돌리는 데는 넘치는 양이에요.

"어, 생각보다 쉽네?" 싶었죠. 그런데 그건 네 가지 경우 중 하나였을 뿐이었어요.

키를 안 줬는데 그냥 됐어요

창업 공고를 가져오려고 K-Startup을 보는데, 아무리 찾아도 인증키 얘기가 안 나왔어요. 신청 절차를 못 찾은 건가 싶어서 한참 헤맸죠.

그래서 일단 키 없이 그냥 호출해봤어요.

되더라고요.

K-Startup API는 인증 없이 그대로 응답을 줍니다. 키 발급 절차 자체가 없는 거예요. 처음엔 제가 뭘 잘못 이해한 줄 알았는데, 몇 번 더 확인해도 계속 됐어요. "안 되는 이유"를 찾느라 쓴 시간이 "그냥 해보기"보다 길었던 셈이죠.

키 이름이 기관마다 달랐어요

문제는 키가 필요한 곳들도 서로 안 맞았다는 거예요. 파라미터 이름이 제각각이었어요.

소스인증 방식파라미터 이름발급처
K-Startup불필요
LH · 마이홈키 필요serviceKey공공데이터포털 (자동승인)
기업마당키 필요crtfcKey기업마당 자체 포털
든든전세(HUG)키 필요API_KEYHUG 자체 포털
중소벤처24심사 필요사실상 기관용

serviceKey, crtfcKey, API_KEY. 하는 일은 똑같이 "나 인증된 사용자야"인데 이름이 셋 다 달라요. 그러니 소스를 하나 붙일 때마다 문서를 새로 읽어야 했어요.

"통합 포털"이 통합이 아니었어요

여기서 이상한 걸 발견했어요. 기업마당과 든든전세는 공공데이터포털에서 키를 받을 수가 없었어요. 각자 자기 사이트에 가서 따로 발급받아야 했죠.

공공데이터포털에 목록은 올라와 있어요. 그런데 실제 API는 자기네 포털에서 운영하고, 포털엔 "여기로 가세요" 하는 링크만 걸어둔 형태였어요. 통합 포털인데 통합이 껍데기인 거죠.

기관 계열로 묶어보면 더 이상해요.

  • LH와 마이홈은 둘 다 국토교통부 계열인데 엔드포인트도 다르고 응답 형식도 달라요.
  • 기업마당과 중소벤처24는 둘 다 중소벤처기업부 계열인데 서로 따로 놉니다.

기관마다 예산 따로, 시스템 따로 만들다 보니 이렇게 된 거예요.

개인에겐 문을 안 열어주는 곳도 있어요

중소벤처24는 결국 포기했습니다. 심사를 받아야 하는데 사실상 기관 대상이라 개인이 발급받기 어려운 구조였어요.

다행히 기업마당과 공고가 상당히 겹쳐서, 없어도 큰 손실은 아니라고 판단했어요. "안 되는 건 붙이지 않는다" 도 선택이니까요. 여기에 시간을 더 쓰는 건 의미가 없었어요.

정리 — 이 마찰이 봇의 존재 이유였어요

인증키 하나만 봐도 네 갈래였어요. 없는 곳, 자동승인인 곳, 자기 포털에서 따로 주는 곳, 개인에겐 안 주는 곳.

처음엔 이게 그냥 짜증이었어요. 그런데 정리하다 보니 생각이 바뀌었어요. 통합이 잘 돼 있었으면 애초에 봇을 만들 이유가 없었겠죠. 앱 하나로 다 보였을 테니까요.

흩어져 있다는 게 불편의 원인이면서, 동시에 제가 만든 것의 존재 이유였어요.

다음 편

키는 받았는데 이번엔 주소가 없었어요. 공공데이터포털 목록에도, 안내 문서에도 없는 API를 어떻게 찾아냈는지. → 3편 — 목록에 없는 API를 직접 찾아냈습니다


(이전 편: 1편 — 손으로 찾다 지쳤습니다)

댓글