세로형
Recent Posts
Recent Comments
Link
01-13 00:01
«   2026/01   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

꿈 많은 사람의 이야기

Kipris plus API 활용하는 방법 - 특허 API 사용법과 Python 연동 예시 본문

python

Kipris plus API 활용하는 방법 - 특허 API 사용법과 Python 연동 예시

이수진의 블로그 2025. 5. 19. 08:27
반응형
728x170

포스팅 개요

Kipris plus를 사용하면 특허 분석에 필요한 각종 데이터를 제공 받을 수 있는데요. 특허청에서 제공해주는 서비스인만큼 필요한 특허 데이터를 비교적 자유롭게 사용할 수 있습니다.

따라서, 이번 포스팅은 Kipris plus API를 활용해 특허 데이터를 사용할 수 있는 방법에 대해서 알아보겠습니다. 그리고 파이썬(Python)을 활용해 특허 API를 연동하여 데이터를 가져올 수 있는 방법도 알아보겠습니다.

 

kipris plus 사이트는 아래와 같습니다.

- https://plus.kipris.or.kr/portal/main.do

 

KIPRIS Plus

“ 특허정보 활용의 새로운 패러다임 ” 특허청이 개방중인 산업재산권 정보를 Bulk Data, OPEN API 방식으로 제공하여, 이용자가 새로운 가치를 창출하도록 지원하는 서비스 133 Bulk Data 75 API(REST) -->

plus.kipris.or.kr


포스팅 본문

kipris plus는 특허청이 개방중인 사업재산권 정보를 Bulk Data, Open API 방식으로 제공하여 이용자가 새로운 가치를 창출하도록 지원하는 서비스입니다.

이때 벌크 데이터(Bulk data)라는 것은 특허 정보를 온라인 다운로드 서비스를 통하여 자체 DB로 대용량 일괄 제공하는 방식이며, Open API 방식은 특허청 DB와 네트워크 통신을 통하여 필요한 정보를 요청하고 응답 받아 자체 DB 구축 없이 이용하는 방식입니다. 

 

특허정보 활용 서비스 kipris plus의 API 비용

먼저, 특허정보를 제공하는 kipris plus의 비용 체계를 확인해보겠습니다. 특허 API인 kipris plus는 무조건 무료로 데이터를 전부 제공하는 것은 아니구요. 개인 사용자와 같이 가볍게 사용하는 사용자는 월 1000건까지 무료로 사용할 수 있습니다. 그러나, 대용량 통신을 원하시거나, 기업이 사용할 경우엔 그에 맞는 비용을 제공해야 합니다. 

 

 

Kipris plus 특허 DB API에 대한 비용을 자세히 알고 싶으시면 https://plus.kipris.or.kr/portal/use/paymentMmg.do?menuNo=200026를 참고하셔서 확인하시면 되겠습니다.

 


kipris plus API 사용하기 - 회원가입 및 API 키 발급

본격적으로 kipris plus API를 사용하는 방법에 대해서 알아보겠습니다. Kipris plus 특허 데이터를 사용하려면 API key를 발급 받아야 하는데요. 이를 위해서는 회원가입이 필요합니다.

 

 

회원가입은 어려운 것이 없으니, 독자 여러분들께서 용도에 맞게 회원가입을 진행해주시면 됩니다.

회원가입이 완료되었다고 해서 바로 특허 API를 사용할 수 있는 것은 아닙니다. 바로, 원하는 특허 서비스를 신청해야 하는데요.

특허 서비스? 이게 뭘까? 싶죠. 바로 아래 사진과 같은 특허 서비스가 있습니다.

 

예를 들어, 특허 및 실용 공개 및 등록 정보부터 시작해, 상표 출원 속보, 특허권 존속기간 연장등록, 청구항 변동 이력 정보, 등록사항, 분류코드, 대표 출원인, 출원인 법인 등 다양한 서비스로 종류가 나뉘어져 있습니다.

각 서비스 별로, 사용할 수 있는 데이터가 다르니 원하시는 특허 서비스를 자세히 살펴본 후 선택하시면 됩니다. 

 

본 포스팅에서는 일반적으로 활용될 수 있는 특허 데이터인 "특허 실용 공개 및 등록 정보 서비스"를 활용하도록 하겠습니다.

 

 

만약, 특허 서비스를 신청하게 되면 선택 목록을 장바구니에 등록 하시겠습니까?라는 팝업창이 나오는데요.

이때 확인을 눌러서 장바구니로 이동하면 아래와 같은 화면이 나오게 됩니다.

 

 

여기서 전체 선택을 하고, 서비스 신청하기를 누르면 특허 API 서비스 신청이 완료됩니다.

자! 이제 kipris plus에서 특허 데이터를 사용하기 위한 API 서비스 신청이 완료 되었습니다.

그럼 바로 사용할 수 있을까요? 네, 사용할 수 있습니다.

다만, 그 전에 나의 API Key가 무엇인지 확인해야합니다. kipris 특허 API 서비스를 사용하기 위해서, 인증키가 필요한데요. 그게 API Key라고 보시면 됩니다.

 

 

API Key 관리 메뉴에서 나의 API Key를 확인할 수 있습니다.

해당 정보는 꼭 외부로 유출되지 않도록 조심해서 사용해주시고, 위 키를 이용해 이제 특허 API를 호출해서 실제 결과를 받아보겠습니다.


Kipris 특허 API 사용하기 - 웹에서 간단하게 사용해보기

kipris plus 사이트에서는 API를 사용해볼 수 있는 환경을 잘 제공해주고 있습니다.

개인적으로 정말 마음에 들었던 것은, 각 서비스에서 제공해주는 다양한 기능별로, API url과 입력 값(request parameter) 그리고 response로 돌아오는 출력값(response parameter)들이 잘 명시되어 있다는 점입니다.

 

위 사진은 제가 신청한 특허 서비스인 "특허 실용 공개 및 등록 정보 서비스"에 있는 일반 검색, 항목별 검색의 세부 서비스 내용에 대한 설명입니다. 일반 검색의 경우 폐기 예정이라고 명시되어 있는 것으로 보아, 곧 서비스가 종료될 것으로 보입니다.

항목별 검색을 확인하면 전체 검색이나, 발명의 명칭 등으로 검색을 할 수 있도록 제공해주며 각각의 요청 주소(Request URL)도 명시해주고 있습니다. 그리고 화면 하단으로 내리면 어떤 응답(Response)가 넘어오는 지도 잘 보여주고 있습니다.

 

무엇보다, Kipris plus API는 API 샘플을 제공해줍니다. 예를 들어, 아래와 같은 샘플을 제공해주죠.

http://plus.kipris.or.kr/kipo-api/kipi/patUtiModInfoSearchSevice/getAdvancedSearch?astrtCont=발명&inventionTitle=센서&ServiceKey=write your service key

 

여기서 ServiceKey에다가 아까 회원가입 후 받았던 각자의 API Key를 넣으시면 됩니다. 

이것을 web url에 그대로 넣어도 결과를 볼 수 있는데요. 크롬이나 엣지 등에 넣어서 실행하면 아래와 같은 결과를 확인할 수 있습니다.

 

이렇게 결과가 나오면 정상적으로 특허 API 서비스를 이용할 수 있는 상태가 되는 것입니다.


Python을 활용해 Kipris 특허 API 사용하기

웹에서도 데이터를 받을 수 있지만, 매번 저렇게 데이터를 호출하고 받는 것은 불편한 일입니다. 이때, 파이썬(Python)과 같은 프로그래밍 언어를 활용하면 쉽게 API와 통신할 수 있죠. 

아래는 파이썬을 활용한 kipris plus 특허 API 통신 예제입니다.

 

ADVANCED_SEARCH_URL = "https://plus.kipris.or.kr/kipo-api/kipi/patUtiModInfoSearchSevice/getAdvancedSearch"

MAX_ROWS_PER_PAGE = 10
DEFAULT_TOTAL_TARGET = 10

def advanced_search_bulk(
    word_query: str,
    service_key: str,
    total_target: int = DEFAULT_TOTAL_TARGET,
    rows_per_page: int = MAX_ROWS_PER_PAGE
) -> List[Dict]:
    """
    KIPRIS AdvancedSearch API를 반복 호출해 다건 조회

    Args:
        word_query (str): 검색어 
        service_key (str): 인증 키
        total_target (int): 가져올 총 개수
        rows_per_page (int): 페이지당 건수 (최대 500)

    Returns:
        List[Dict]: 특허 항목 전체 리스트
    """
    results = []
    total_pages = (total_target + rows_per_page - 1) // rows_per_page

    for page in range(1, total_pages + 1):
        # 직접 URL 문자열로 구성 (params 사용하지 않음)
        url = (
            f"{ADVANCED_SEARCH_URL}"
            f"?word={word_query}"
            f"&numOfRows={rows_per_page}"
            f"&pageNo={page}"
            f"&ServiceKey={service_key}"
        )

        response = requests.get(url)
        response.raise_for_status()

        root = ET.fromstring(response.content)
        items = root.findall(".//item")

        for item in items:
            results.append({
                "applicationNumber": item.findtext("applicationNumber", default=""),
                "inventionTitle": item.findtext("inventionTitle", default=""),
                "astrtCont": item.findtext("astrtCont", default="").strip(),
                "applicantName": item.findtext("applicantName", default=""),
                "registerStatus": item.findtext("registerStatus", default=""),
                "drawing": item.findtext("drawing", default=""),
                "bigDrawing": item.findtext("bigDrawing", default=""),
                "applicationDate": item.findtext("applicationDate", default=""),
                "openDate": item.findtext("openDate", default=""),
            })

        if len(items) < rows_per_page:
            break

    return results[:total_target]

 

kipris plus의 전체 검색 API를 활용했습니다. 입력 단어를 제공 받으면, url에 따라 request parameter들이 구성되고 그 파라미터에 따라 API request를 보내게 됩니다. 그리고 만약, 정상적으로 값이 받아와졌다면 xml 형태로 받아와지기 때문에 파이썬의 xml 파싱 라이브러리를 활용해서 값을 가져오도록 합니다.

 

 

예를 들어서, 추천 시스템이라는 단어를 제공하였을 때 추천 시스템과 관련된 여러 특허 정보가 정상적으로 검색되어서 API response가 된 것을 확인할 수 있습니다.

반응형
그리드형
Comments