DocsSearch API (검색)

Search API

자연어 문장으로 특허를 검색할 수 있는 시맨틱 검색 엔진입니다. 한·미·일·중·유럽 5개국 특허를 한 번에 검색합니다.

검색 가이드

LLM 자연어 검색 방법과 파라미터를 활용한 세부 검색 조합 가이드는 좌측 메뉴의 검색 가이드를 참고하세요.

인증

공개 통계·헬스 체크를 제외한 모든 엔드포인트는 X-API-Key 헤더가 필요합니다. 자세한 내용은 인증을 참고하세요.


POST /api/v1/search/semantic

자연어로 특허를 검색합니다. 쿼리를 벡터로 임베딩한 뒤 k-NN 으로 매칭하고 리랭킹합니다. 다국어 질의를 지원합니다. (한국어, 영어, 일본어, 중국어)

요청 파라미터 (Request Parameters)

파라미터타입필수기본값설명
querystring자연어 검색 질의 (문장형)
top_kinteger아니오10반환할 결과 개수 (1–100 권장)
countriesstring[]아니오5개국 전체["KR","US","CN","JP","EP"] 의 부분집합
doc_typeenum아니오"all""all" (공개+등록, 중복 제거) / "application" / "grant"
kind_codesstring[]아니오null특정 kind code (예: ["B1","B2"]). doc_type 보다 우선
include_utility_modelboolean아니오false실용신안 포함 여부
filing_date_from / _tostring아니오null출원일 범위 (YYYY-MM-DD)
publication_date_from / _tostring아니오null공개일 범위
grant_date_from / _tostring아니오null등록일 범위 (등록공보만 매칭됨)
priority_date_from / _tostring아니오null우선일 범위
applicantstring아니오null출원인 검색어. 대소문자 무시, 각국 원어 입력 가능
applicant_matchenum아니오"contains""contains" / "prefix" / "exact"
inventorstring아니오null발명자 검색어 (prefix 매칭)
ipc_codesstring[]아니오nullIPC 코드 prefix (예: ["H01M10"])
cpc_codesstring[]아니오nullCPC 코드 prefix
publication_numberstring아니오null공개번호 정확 매칭 (KIPRIS 형식)
application_numberstring아니오null출원번호 정확 매칭
family_idstring아니오null패밀리 ID 정확 매칭

출원인 매칭

출원인 입력은 대소문자를 구분하지 않으며 각국 원어 입력을 지원합니다 ("삼성전자", "华为", "ソニー", "APPLE"). 단, 한 번의 입력으로 5개국 모든 언어 표기를 자동 확장하지는 않습니다 — 국가별 커버리지가 필요하면 영문과 자국어를 각각 조회하세요.

요청 예시 (Request Example)

cURL — Semantic search with filters
curl -X POST https://api.findip.ai/api/v1/search/semantic \
-H "X-API-Key: $API_KEY" \
-H "Content-Type: application/json" \
-d '{
  "query": "전고체 배터리에서 리튬 수지상 성장을 억제하는 고체 전해질 기술",
  "top_k": 20,
  "countries": ["KR", "US", "JP"],
  "doc_type": "application",
  "applicant": "SAMSUNG",
  "applicant_match": "prefix",
  "filing_date_from": "2022-01-01",
  "filing_date_to": "2024-12-31",
  "ipc_codes": ["H01M10"]
}'

응답 (Response)

응답은 total (= results.length) 과 결과 배열을 반환합니다.

200 OK
{
"total": 20,
"results": [
  {
    "patent_id": "KR1020230012345A",
    "title": "고체 전해질을 포함하는 이차전지",
    "applicant": "SAMSUNG SDI CO., LTD.",
    "filing_date": "2023-02-10",
    "publication_date": "2024-08-15",
    "ipc_codes": ["H01M10/0525", "H01M4/62"],
    "kind_code": "A",
    "country": "KR",
    "similarity_score": 0.8712,
    "rerank_score": 0.9345,
    "representative_figure": "fig_0001.webp",
    "chunks": [
      {
        "text": "본 발명은 리튬 수지상 성장을 억제하기 위한 고체 전해질을 제공한다 ...",
        "chunk_type": "description",
        "section_name": "상세설명_3",
        "paragraph_numbers": [42, 43],
        "claim_numbers": [],
        "similarity_score": 0.8712,
        "rerank_score": 0.9345
      }
    ]
  }
]
}

결과 항목 필드patent_id (공개번호, KIPRIS 형식), title, applicant, filing_date, publication_date, ipc_codes, kind_code, country, similarity_score (0–1, 클수록 유사), rerank_score (BGE 리랭커 — 절대값보다 정렬 순위로 활용), representative_figure (파일명만 — 아래 도면 참고), chunks (매칭 청크, rerank_score 내림차순 정렬).


POST /api/v1/search/semantic-analytics

동일한 벡터 검색을 수행하되 통계 집계 + 페이지네이션 결과를 함께 반환합니다. 대시보드·분석 UI 에 적합합니다. /semantic 의 모든 필터 필드를 지원하며, 개별 날짜 필드 대신 date_range + date_type 를 사용합니다.

요청 파라미터 (/semantic 과 차이나는 부분)

파라미터타입기본값설명
min_scorefloat0.5유사도 임계값 (best_score >= min_score)
max_resultsinteger10000통계 대상 최대 문서 수
date_rangeobjectnull{"from": "YYYY-MM-DD", "to": "YYYY-MM-DD"}
date_typeenum"filing""filing" / "publication" / "grant" / "priority"
stats_group_bystring[]["year","country"]집계 축: "year", "country", "applicant", "ipc"
pageinteger11부터 시작하는 페이지 번호
page_sizeinteger20페이지 크기 (1–100)

요청 예시 (Request Example)

cURL — Search with statistics
curl -X POST https://api.findip.ai/api/v1/search/semantic-analytics \
-H "X-API-Key: $API_KEY" \
-H "Content-Type: application/json" \
-d '{
  "query": "5G 빔포밍 안테나 배열",
  "min_score": 0.6,
  "max_results": 5000,
  "countries": ["KR", "US"],
  "date_range": {"from": "2020-01-01", "to": "2024-12-31"},
  "date_type": "filing",
  "stats_group_by": ["year", "country", "applicant", "ipc"],
  "page": 1,
  "page_size": 20
}'

응답 (Response)

200 OK
{
"query": "5G 빔포밍 안테나 배열",
"total_matched": 412,
"min_score_used": 0.6,
"page": 1,
"page_size": 20,
"total_pages": 21,
"stats": {
  "by_year": { "2020": 142, "2021": 180 },
  "by_country": { "KR": 230, "US": 182 },
  "top_applicants": [{ "name": "SAMSUNG ELECTRONICS CO., LTD.", "count": 58 }],
  "top_ipc": [{ "code": "H01Q", "count": 96 }]
},
"results": [
  {
    "patent_id": "KR1020210099999A",
    "title": "5G 기지국용 빔포밍 안테나 배열",
    "applicant": "SAMSUNG ELECTRONICS CO., LTD.",
    "country": "KR",
    "kind_code": "A",
    "filing_date": "2021-03-04",
    "publication_date": "2022-09-10",
    "ipc_codes": ["H01Q3/26"],
    "similarity_score": 0.7321,
    "chunk_text": "적응형 빔포밍을 위한 안테나 배열 ..."
  }
]
}

stats 객체는 요청한 stats_group_by 축에 따라 by_year, by_country, top_applicants (최대 20개), top_ipc (최대 20개) 를 포함합니다.


POST /api/v1/patents/details

하나 이상의 특허에 대한 전체 상세 정보 (마크다운 본문 + 메타데이터) 를 조회합니다. 도면은 마크다운 본문 안에 참조되어 있으므로 아래 도면 규칙으로 이미지 URL 을 조립하세요.

요청 파라미터

파라미터타입필수설명
patent_idsstring[]공개번호 1–200건 (KIPRIS 형식)
sectionsstring아니오title,abstract,claims,description 중 콤마 분리 선택. 생략 시 전체 마크다운

요청 예시 (Request Example)

cURL — Document details
curl -X POST https://api.findip.ai/api/v1/patents/details \
-H "X-API-Key: $API_KEY" \
-H "Content-Type: application/json" \
-d '{
  "patent_ids": ["KR1020230012345A", "US20230123456A1"],
  "sections": "title,abstract,claims"
}'

응답 (Response)

200 OK
{
"patents": [
  {
    "patent_id": "KR1020230012345A",
    "metadata": {
      "title": "고체 전해질을 포함하는 이차전지",
      "applicant": "SAMSUNG SDI CO., LTD.",
      "filing_date": "2023-02-10",
      "publication_date": "2024-08-15",
      "ipc_codes": ["H01M10/0525"],
      "kind_code": "A",
      "country": "KR"
    },
    "content": "# Title\n\n## Abstract\n\n...",
    "representative_figure": "fig_0001.webp"
  },
  {
    "patent_id": "US99999999B2",
    "error": "not_found"
  }
]
}

각 항목은 요청한 ID 별로 반환됩니다. 특허를 찾을 수 없는 경우 해당 항목은 메타데이터 대신 {"patent_id": "...", "error": "not_found"} 를 담으며, 전체 응답은 여전히 200 OK 입니다.


GET /api/v1/drawings/{publication_id}/{filename}

특허 도면 이미지를 가져옵니다. 인증이 필요하지 않습니다. 서버는 단기 유효 presigned URL 로 302 redirect 를 반환하며, 브라우저와 fetch 가 이를 자동으로 따라가므로 <img src="..."> 에 그대로 사용할 수 있습니다.

검색·상세 응답의 representative_figure 필드는 파일명만 반환합니다. 다음과 같이 이미지 URL 을 조립하세요.

URL assembly
patent_id              = "KR1020240116067A"
representative_figure  = "pat00012.webp"

→ https://api.findip.ai/api/v1/drawings/KR1020240116067A/pat00012.webp

허용 확장자: .webp, .jpg, .jpeg, .png (그 외는 400). presigned URL 은 매 요청마다 변경되므로 프런트엔드에서 patent_id/filename 키로 캐싱하는 것을 권장합니다.


GET /api/v1/stats/coverage

공개 커버리지 통계 (국가별 특허 수, 날짜 범위 등) 를 반환합니다. 인증이 필요하지 않습니다. 1시간 캐시되며, 커버리지 문서를 사용할 수 없으면 503 을 반환합니다.

검색 API 레퍼런스 — 시맨틱 특허 검색 | FindIP