클로드로 KIPRIS 특허 수집 자동화
좋아요 · 후기 쓰기
이 글의 목차 · 8개 항목
클로드(Claude)로 KIPRIS 특허 수집을 자동화해 86개 회사의 특허 5,434건을 엑셀 한 파일로 받았어요. 2026년 10월 19일 기준으로 국내 3,042건, 해외 2,392건입니다.
처음엔 "사업자등록번호로는 특허 검색이 안 된다"는 AI의 말을 믿고 한참 돌아갔어요. 화면 캡처 한 장으로 그 판단을 뒤집은 뒤에야 길이 열렸습니다. 막힌 순서와 푼 방법을 그대로 적어 둘게요.
사업자번호로 특허 수집 시작하기
지피터스 24기 업무자동화 멤버 재은이에요. 평범한 직장인인데, 엑셀에 사업자등록번호가 줄줄이 적힌 리스트가 있었습니다. 이 번호를 KIPRIS(특허정보 검색 서비스) 검색창에 붙여넣고, 나오는 특허 목록을 엑셀로 내려받아야 하는 일이었어요.
전에는 이걸 손으로 했고, 사업자등록번호 기반 일일이 등록시도한 모든 특허 건을 엑셀로 체크해서 다운받고, 그 리스트들을 정리해야하는 일이었습니다. 다운 받는 시간만 최소 1건당 3분(사업자자정보 복사-> 붙여넣기 -> 검색 -> 결과 모두 선택 클릭 -> 엑셀다운 ) + 그 후에 다운받은 자료로 소팅하는 작업까지 생각하면 (등록, 취소, 소멸 등 분리 구분, 회사 검증 등) 최소 1~2일 이 작업에만 써야하는 일이었습니다.
올 해 처음으로 하는 작업인데, 손으로 반복하기엔 너무 많았어요.
그래서 클로드 코워크(Claude Cowork)에 이렇게 물었습니다.
나에게 엑셀로 사업자등록번호 리스트가 있어 그걸 복사해서 KIPRIS 검색 화면에 붙여넣어서 특허 리스트를 엑셀로 다운 받으려고 하는데 자동화하는 방안이 있을까? (일부)
클로드는 웹 조사를 한 뒤 KIPRIS 검색창에 번호를 붙여넣는 방식은 작동하지 않는다고 답했어요. 대신 KIPRIS Plus 오픈API를 쓰는 두 단계 방식을 제안했습니다. 먼저 사업자등록번호로 특허고객번호를 찾고, 그 번호로 특허 목록을 가져오는 순서였어요. 방식은 파이썬(Python) 스크립트, 기업 수는 100건 정도, 결과는 등록건과 출원건, 국내와 해외를 나눠 담기로 정했습니다.
클로드 코워크로 첫 수집기 만들기
첫 결과물은 API 방식의 파이썬 수집기와 입력용 엑셀 템플릿이었어요. 모의 응답으로 237건 페이징, 하이픈이 섞인 번호 정리, 중복 제거까지 통과시켜 본 상태였습니다. 이제 진짜 키만 넣으면 된다고 생각했어요.
여기서 준비할 게 많았습니다. 인증키는 공공데이터포털에서 발급받는 쪽이 빠르다고 해서 거기서 받았고, 서비스별로 따로 활용 신청을 해야 한다는 것도 알게 됐어요. 초당 호출 제한은 처음 설정이 너무 보수적이라 초당 2회에서 8회로 올렸습니다.
더블클릭용으로 만든 윈도우 실행 파일(.bat)도 말썽이었어요. 눌러도 아무 창이 안 떴거든요. "실행 윈도우 .bat을 눌렀는데 아무것도 안떠"라고 알렸더니, 줄바꿈 방식이 윈도우와 달라 창이 바로 닫힌 거였어요. 줄바꿈과 한글 인코딩을 윈도우에 맞게 고치고, 오류가 나도 창이 남도록 끝에 멈춤 명령을 넣었습니다.
수집 결과가 0건일 때 대처법
드디어 돌렸는데 결과가 이상했어요.
이상해 kipris에는 있는데 다 없다고 나와
특허현황 엑셀을 올려 보니 86개 회사가 전부 "미매칭"이었고 국내와 해외 시트는 빈 상태였어요. 1단계인 사업자등록번호 조회에서 전부 막혀 2단계는 실행도 못 한 겁니다. 클로드는 참고한 자료에 "미검증" 표시가 있었는데, 인증키가 없어서 실제로 확인하지 못한 채 기본값으로 넣었다고 밝혔어요.
그래서 "출원인에서 찾으면 안돼? 사업자등록번호를?"이라고 물었습니다. 돌아온 답은 "안 된다"였어요. 특허출원서에는 특허고객번호만 적히고 사업자등록번호는 공보에 실리지 않는다는 근거까지 붙었습니다.
화면 캡처로 문제 해결하기
그런데 KIPRIS 화면에서 직접 번호를 치면 결과가 잘 나왔어요. 그래서 이렇게 되받았습니다.
엥? 근데 kipris는 사업자등록증만 치면 나와
한 회사의 번호를 입력해 3건이 나온 검색 결과 화면도 캡처해서 보냈어요. 클로드는 판단이 틀렸다고 인정하고, 번호를 검색창에 그대로 넣는 방식으로 방향을 바꿨습니다.
그래도 결과는 한동안 "계속 영건으로 나와"였습니다. 추측을 멈추고 응답 원문을 직접 보기로 해서, 설정에서 외부 네트워크 접속을 허용했어요. 그러자 클로드가 플레이라이트(Playwright)라는 도구로 KIPRIS 웹을 직접 구동해 화면이 서버로 보내는 요청을 잡아냈습니다.
원인은 이랬어요. KIPRIS 웹 검색에는 사업자등록번호가 들어 있는 색인이 있는데, 오픈API에는 그 항목이 아예 없었습니다. 출원인, 권리자, 최종권리자 사업자번호 세 칸이 웹 쪽에만 있었던 거예요. API로는 무엇을 해도 0건이 나올 수밖에 없었고, 그동안 씨름한 인증키와 활용 신청은 전부 필요 없는 일이었습니다. 웹 화면이 보내는 요청을 그대로 따라 하면 인증키도 필요 없었어요.
처음부터 이렇게 시켰다면 한 번에 갔을 겁니다. 바꿀 부분은 대괄호로 표시했어요.
엑셀 [파일명]의 사업자등록번호로 KIPRIS 웹 검색 결과를 수집해 줘.KIPRIS Plus API 말고, 웹 화면이 서버로 보내는 검색 요청을 따라 해 줘.
먼저 번호 1개로 시험해서 화면에 보이는 건수 [3건]과 같은지 확인하고,
같으면 전체 번호를 돌려 줘.
클로드 코워크로 국내 특허 수집하기
새 수집기는 인증키 없이 KIPRIS 웹 요청을 그대로 보냅니다. 엑셀에서 사업자등록번호 86개를 뽑아 돌렸더니 국내 특허와 실용신안 3,042건이 모였어요. 화면에서 3건으로 확인했던 그 번호도 똑같이 3건이 나왔습니다.
3,042건의 내역은 다음과 같아요. 등록 1,662건, 소멸 446건, 거절 437건, 취하 286건, 공개 171건, 포기 40건입니다. 특허가 2,986건, 실용신안이 56건이에요. 결과가 0건인 회사는 9곳이었습니다.
요약 시트는 제가 원하는 열 구성으로 맞췄어요. 사업자등록번호, 확인된 출원인명, 상태, 전체, 체크필요, 합계, 등록, 취하, 거절, 소멸, 포기, 공개, 국내 특허, 국내 실용신안, 해외 출원건수, 해외 등록건수까지 한 줄에 보입니다. 합계와 전체가 86개 회사 모두에서 같은지도 검증했어요.
- 전 : 번호를 하나씩 검색해 엑셀로 내려받기, 한두 시간
- 후 : 번호가 든 엑셀을 골라 실행하면 86개 회사분이 한 파일로
수집 건마다 사업자번호가 출원인 칸과 실제로 일치하는지도 표시합니다. 2,731건은 "일치", 311건은 "확인필요"예요. 확인필요는 본문에만 번호가 걸렸을 수 있어서, 성과 지표로 쓸 때는 "일치"만 걸러 쓰는 게 좋아요.
해외 특허 수집의 어려움과 해결
"해외도 돌려줘"라고 했을 때가 가장 손이 많이 갔습니다. 해외 특허 DB에는 한국 사업자등록번호가 없어서, 영문 상호로 검색하는 방식으로 바꿔야 했어요.
처음엔 영문명을 그냥 검색했더니 'DURING'이나 'GREEN OPTICS' 같은 흔한 단어가 명세서 본문에 걸려 21,005건이 쏟아졌어요. 검색을 출원인 칸으로 한정하자 3,520건으로 줄었습니다. 그다음엔 공동출원인인 한국과학기술연구원 이름이 대표로 잡히는 문제가 있어서, 사업자번호가 일치하는 자리의 영문명을 고르도록 고쳤어요. 4글자 이하 약어는 과다매칭이 심해 검색에서 뺐습니다.
최종 결과는 해외 2,392건, 51개 회사예요. 다만 해외분은 국내분보다 정확도가 낮습니다. 한국과학기술연구원이 1,000건, 한 회사가 595건으로 잡혀서 "과다매칭 의심"으로 표시해 두었고, 이 두 곳은 직접 확인해야 해요. 입력 목록에도 깨진 번호가 하나 있었는데, 원본 엑셀로 다시 돌리면 바로잡힐 걸로 보고 있습니다.
파이썬으로 수집기 실행하기
마지막은 제 PC에서 돌리는 일이었어요. 여기서도 몇 번 막혔습니다.
- .py 파일을 더블클릭하면 창이 바로 닫혀서, 폴더의 엑셀 목록을 보여 주고 번호로 고르는 대화형 모드를 넣었어요.
- "'pip'은(는) 내부 또는 외부 명령"이라는 오류는 경로 설정이 안 된 탓이라
py -m pip로 바꿔 실행했습니다. - 13/86에서 멈춘 것처럼 보일 때는 창을 클릭해 생긴 선택 모드가 원인일 수 있어서 엔터나 Esc를 누르면 돼요.
설치는 한 번만 하면 됩니다.
py -m pip install requests pandas openpyxl그다음에는 수집기 파일을 더블클릭해 엑셀을 고르고 해외 수집 여부를 선택하면 끝이에요. 중간에 끊겨도 회사 단위로 저장해 두어서 다시 실행하면 이어서 진행합니다.
"에러가 난건지 확인할 수 있게, 타임도 확인할 수 있을까? 소요시간이라던가"라고 부탁해서 기업별 소요시간과 남은 예상 시간이 화면에 나오게 했어요. 엑셀에는 실행로그 시트가 생기고, 정상, 결과 0건, 오류, 캐시 재사용으로 구분됩니다. 오류 난 회사는 저장하지 않아서, 같은 명령을 다시 실행하면 실패한 곳만 자동으로 재시도해요.
아직 안 된 것도 있습니다. KIPRIS 웹이 쓰는 내부 요청을 그대로 보내는 방식이라, KIPRIS가 구조를 바꾸면 동작하지 않을 수 있어요. 해외분 정확도도 영문 상호에 기대고 있어서 수기 확인이 필요합니다.
출처
- 원문: https://www.gpters.org/nocode/post/claude-kipris-patent-collection-srT75PuOJ2ipG0V (2026-10-19 · 이재은)
자료 표지 보기
