Search API
自然言語で特許を検索できるセマンティック検索エンジンです。日・韓・米・中・欧 の 5 か国の特許を 1 回の呼び出しで検索できます。
検索ガイド
LLM 自然言語検索のテクニックとパラメータを使った詳細な検索組み合わせガイドは左メニューの検索ガイドをご覧ください。
認証
公開統計・ヘルスチェックを除くすべてのエンドポイントには X-API-Key ヘッダが必要です。詳細は認証をご覧ください。
POST /api/v1/search/semantic
自然言語で特許を検索します。クエリをベクトルに埋め込み、k-NN でマッチングしてリランキングします。多言語クエリに対応(韓国語・英語・日本語・中国語)。
リクエストパラメータ
| パラメータ | 型 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|
query | string | はい | — | 自然言語検索クエリ(文形式) |
top_k | integer | いいえ | 10 | 返却件数 (1–100 推奨) |
countries | string[] | いいえ | 5 か国すべて | ["KR","US","CN","JP","EP"] の部分集合 |
doc_type | enum | いいえ | "all" | "all"(公開+登録、重複除去)/ "application" / "grant" |
kind_codes | string[] | いいえ | null | 特定の kind code(例: ["B1","B2"])。doc_type より優先 |
include_utility_model | boolean | いいえ | false | 実用新案を含めるか |
filing_date_from / _to | string | いいえ | null | 出願日範囲 (YYYY-MM-DD) |
publication_date_from / _to | string | いいえ | null | 公開日範囲 |
grant_date_from / _to | string | いいえ | null | 登録日範囲(登録公報のみ一致) |
priority_date_from / _to | string | いいえ | null | 優先日範囲 |
applicant | string | いいえ | null | 出願人検索語。大文字小文字を無視、各国の原語入力可 |
applicant_match | enum | いいえ | "contains" | "contains" / "prefix" / "exact" |
inventor | string | いいえ | null | 発明者検索語(prefix 一致) |
ipc_codes | string[] | いいえ | null | IPC コードの prefix(例: ["H01M10"]) |
cpc_codes | string[] | いいえ | null | CPC コードの prefix |
publication_number | string | いいえ | null | 公開番号の完全一致(KIPRIS 形式) |
application_number | string | いいえ | null | 出願番号の完全一致 |
family_id | string | いいえ | null | ファミリー ID の完全一致 |
出願人マッチング
出願人の入力は大文字小文字を区別せず、各国の原語入力に対応します("삼성전자"、"华为"、"ソニー"、"APPLE")。ただし、1 回の入力で 5 か国すべての言語表記へ自動展開することはできません — 国別のカバレッジが必要な場合は英語と現地語をそれぞれ検索してください。
リクエスト例
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"]
}'レスポンス
レスポンスは total(= results.length)と結果配列を返します。
{
"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_score | float | 0.5 | 類似度しきい値(best_score >= min_score) |
max_results | integer | 10000 | 統計対象の最大文書数 |
date_range | object | null | {"from": "YYYY-MM-DD", "to": "YYYY-MM-DD"} |
date_type | enum | "filing" | "filing" / "publication" / "grant" / "priority" |
stats_group_by | string[] | ["year","country"] | 集計軸: "year"、"country"、"applicant"、"ipc" |
page | integer | 1 | 1 始まりのページ番号 |
page_size | integer | 20 | ページサイズ (1–100) |
リクエスト例
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
}'レスポンス
{
"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
1 件以上の特許について、全体の詳細情報(マークダウン本文 + メタデータ)を取得します。図面はマークダウン本文内に参照されているため、下記の図面ルールで画像 URL を組み立ててください。
リクエストパラメータ
| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
patent_ids | string[] | はい | 公開番号 1–200 件(KIPRIS 形式) |
sections | string | いいえ | title,abstract,claims,description のうちカンマ区切りで選択。省略時は全文マークダウン |
リクエスト例
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"
}'レスポンス
{
"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}
特許の図面画像を取得します。認証は不要です。 サーバは短時間有効な署名付き URL への 302 リダイレクトを返し、ブラウザや fetch が自動的に追従するため、<img src="..."> にそのまま使用できます。
検索・詳細レスポンスの representative_figure フィールドはファイル名のみを返します。次のように画像 URL を組み立ててください。
patent_id = "KR1020240116067A" representative_figure = "pat00012.webp" → https://api.findip.ai/api/v1/drawings/KR1020240116067A/pat00012.webp
許可される拡張子: .webp、.jpg、.jpeg、.png(その他は 400)。署名付き URL はリクエストごとに変わるため、フロントエンドで patent_id/filename をキーにキャッシュすることを推奨します。
GET /api/v1/stats/coverage
公開カバレッジ統計(国別の特許数、日付範囲など)を返します。認証は不要です。 1 時間キャッシュされ、カバレッジ文書が利用できない場合は 503 を返します。