uspto-database
USPTOのAPIを通じて特許・商標の検索、審査履歴(PEDS)、権利移転、引用情報、拒絶理由通知、TSDRにアクセスし、IP分析や先行技術調査を行います。
description の原文を見る
Access USPTO APIs for patent/trademark searches, examination history (PEDS), assignments, citations, office actions, TSDR, for IP analysis and prior art searches.
SKILL.md 本文
USPTO Database
概要
USPTOは特許および商標データ用の専門的なAPIを提供しています。キーワード/発明者/譲受人で特許を検索し、PEDSを通じて審査履歴を取得し、譲渡を追跡し、引用と拒絶理由通知を分析し、商標用のTSDRにアクセスして、IP分析と先行技術調査を行うことができます。
このスキルを使用する場合
このスキルは以下の場合に使用してください:
- 特許検索: キーワード、発明者、譲受人、分類、日付で特許を検索する
- 特許詳細: クレーム、要約、引用を含む完全な特許データを取得する
- 商標検索: シリアルナンバーまたは登録番号で商標を検索する
- 商標ステータス: 商標のステータス、所有権、および審査履歴を確認する
- 審査履歴: PEDS (Patent Examination Data System) から特許審査データにアクセスする
- 拒絶理由通知: 拒絶理由通知テキスト、引用、および拒絶を取得する
- 譲渡: 特許/商標の所有権移転を追跡する
- 引用: 特許引用(前方および後方)を分析する
- 訴訟: 特許訴訟記録にアクセスする
- ポートフォリオ分析: 企業または発明者の特許/商標ポートフォリオを分析する
USPTO API エコシステム
USPTOは異なるデータニーズに対応するための複数の専門的なAPIを提供しています:
コアAPI
-
PatentSearch API - 最新のElasticSearchベースの特許検索 (2025年5月に従来のPatentsViewに置き換え)
- キーワード、発明者、譲受人、分類、日付で特許を検索
- 2025年6月30日までの特許データへのアクセス
- 45リクエスト/分のレート制限
- ベースURL:
https://search.patentsview.org/api/v1/
-
PEDS (Patent Examination Data System) - 特許審査履歴
- 1981年以降のアプリケーションステータスおよび取引履歴
- 拒絶理由通知日および審査イベント
uspto-opendata-pythonPythonライブラリを使用- 置き換え対象: PAIR Bulk Data (PBD) - サービス終了
-
TSDR (Trademark Status & Document Retrieval) - 商標データ
- 商標ステータス、所有権、審査履歴
- シリアルナンバーまたは登録番号での検索
- ベースURL:
https://tsdrapi.uspto.gov/ts/cd/
追加API
- Patent Assignment Search - 所有権記録および譲渡
- Trademark Assignment Search - 商標所有権変更
- Enriched Citation API - 特許引用分析
- Office Action Text Retrieval - 拒絶理由通知の全文
- Office Action Citations - 拒絶理由通知からの引用
- Office Action Rejection - 拒絶理由および種類
- PTAB API - 特許審判部(Patent Trial and Appeal Board)手続
- Patent Litigation Cases - 連邦地方裁判所特許訴訟データ
- Cancer Moonshot Data Set - がん関連特許
クイックスタート
APIキー登録
すべてのUSPTO APIはAPIキーが必要です。以下で登録してください: https://account.uspto.gov/api-manager/
環境変数としてAPIキーを設定します:
export USPTO_API_KEY="your_api_key_here"
ヘルパースクリプト
このスキルには共通操作用のPythonスクリプトが含まれています:
scripts/patent_search.py- 特許を検索するためのPatentSearch APIクライアントscripts/peds_client.py- 審査履歴用のPEDSクライアントscripts/trademark_client.py- 商標データ用のTSDRクライアント
タスク1: 特許検索
PatentSearch APIの使用
PatentSearch APIは、柔軟な検索のためのさまざまな演算子を備えたJSONクエリ言語を使用します。
基本的な特許検索の例
要約内のキーワードで検索:
from scripts.patent_search import PatentSearchClient
client = PatentSearchClient()
# 機械学習特許を検索
results = client.search_patents({
"patent_abstract": {"_text_all": ["machine", "learning"]}
})
for patent in results['patents']:
print(f"{patent['patent_number']}: {patent['patent_title']}")
発明者で検索:
results = client.search_by_inventor("John Smith")
譲受人/企業で検索:
results = client.search_by_assignee("Google")
日付範囲で検索:
results = client.search_by_date_range("2024-01-01", "2024-12-31")
CPC分類で検索:
results = client.search_by_classification("H04N") # ビデオ/画像技術
高度な特許検索
複数の条件を論理演算子と組み合わせます:
results = client.advanced_search(
keywords=["artificial", "intelligence"],
assignee="Microsoft",
start_date="2023-01-01",
end_date="2024-12-31",
cpc_codes=["G06N", "G06F"] # AI およびコンピューティング分類
)
直接API使用
複雑なクエリの場合、APIを直接使用します:
import requests
url = "https://search.patentsview.org/api/v1/patent"
headers = {
"X-Api-Key": "YOUR_API_KEY",
"Content-Type": "application/json"
}
query = {
"q": {
"_and": [
{"patent_date": {"_gte": "2024-01-01"}},
{"assignee_organization": {"_text_any": ["Google", "Alphabet"]}},
{"cpc_subclass_id": ["G06N", "H04N"]}
]
},
"f": ["patent_number", "patent_title", "patent_date", "inventor_name"],
"s": [{"patent_date": "desc"}],
"o": {"per_page": 100, "page": 1}
}
response = requests.post(url, headers=headers, json=query)
results = response.json()
クエリ演算子
- 等価:
{"field": "value"}または{"field": {"_eq": "value"}} - 比較:
_gt,_gte,_lt,_lte,_neq - テキスト検索:
_text_all,_text_any,_text_phrase - 文字列マッチング:
_begins,_contains - 論理:
_and,_or,_not
ベストプラクティス: テキストフィールドには_text_*演算子を使用してください(より高速)
利用可能な特許エンドポイント
/patent- 成立済み特許/publication- 出願公開/inventor- 発明者情報/assignee- 譲受人情報/cpc_subclass,/cpc_at_issue- CPC分類/uspc- 米国特許分類/ipc- 国際特許分類/claims,/brief_summary_text,/detail_description_text- テキストデータ(ベータ版)
リファレンスドキュメント
PatentSearch APIの完全なドキュメントについてはreferences/patentsearch_api.mdを参照してください:
- すべての利用可能なエンドポイント
- 完全なフィールドリファレンス
- クエリ構文と例
- レスポンス形式
- レート制限とベストプラクティス
タスク2: 特許審査データの取得
PEDS (Patent Examination Data System) の使用
PEDSは取引イベント、ステータス変更、および審査タイムラインを含む包括的な審査履歴を提供します。
インストール
uv pip install uspto-opendata-python
基本的なPEDS使用方法
アプリケーションデータを取得:
from scripts.peds_client import PEDSHelper
helper = PEDSHelper()
# アプリケーションナンバーで取得
app_data = helper.get_application("16123456")
print(f"Title: {app_data['title']}")
print(f"Status: {app_data['app_status']}")
# 特許ナンバーで取得
patent_data = helper.get_patent("11234567")
取引履歴を取得:
transactions = helper.get_transaction_history("16123456")
for trans in transactions:
print(f"{trans['date']}: {trans['code']} - {trans['description']}")
拒絶理由通知を取得:
office_actions = helper.get_office_actions("16123456")
for oa in office_actions:
if oa['code'] == 'CTNF':
print(f"Non-final rejection: {oa['date']}")
elif oa['code'] == 'CTFR':
print(f"Final rejection: {oa['date']}")
elif oa['code'] == 'NOA':
print(f"Notice of allowance: {oa['date']}")
ステータスサマリーを取得:
summary = helper.get_status_summary("16123456")
print(f"Current status: {summary['current_status']}")
print(f"Filing date: {summary['filing_date']}")
print(f"Pendency: {summary['pendency_days']} days")
if summary['is_patented']:
print(f"Patent number: {summary['patent_number']}")
print(f"Issue date: {summary['issue_date']}")
審査分析
審査パターンを分析します:
analysis = helper.analyze_prosecution("16123456")
print(f"Total office actions: {analysis['total_office_actions']}")
print(f"Non-final rejections: {analysis['non_final_rejections']}")
print(f"Final rejections: {analysis['final_rejections']}")
print(f"Allowed: {analysis['allowance']}")
print(f"Responses filed: {analysis['responses']}")
一般的な取引コード
- CTNF - Non-final rejection mailed
- CTFR - Final rejection mailed
- NOA - Notice of allowance mailed
- WRIT - Response filed
- ISS.FEE - Issue fee payment
- ABND - Application abandoned
- AOPF - Office action mailed
リファレンスドキュメント
完全なPEDSドキュメントについてはreferences/peds_api.mdを参照してください:
- すべての利用可能なデータフィールド
- 取引コードリファレンス
- Pythonライブラリの使用方法
- ポートフォリオ分析の例
タスク3: 商標の検索と監視
TSDR (Trademark Status & Document Retrieval) の使用
商標のステータス、所有権、および審査履歴にアクセスします。
基本的な商標使用方法
シリアルナンバーで商標を取得:
from scripts.trademark_client import TrademarkClient
client = TrademarkClient()
# シリアルナンバーで取得
tm_data = client.get_trademark_by_serial("87654321")
# 登録番号で取得
tm_data = client.get_trademark_by_registration("5678901")
商標ステータスを取得:
status = client.get_trademark_status("87654321")
print(f"Mark: {status['mark_text']}")
print(f"Status: {status['status']}")
print(f"Filing date: {status['filing_date']}")
if status['is_registered']:
print(f"Registration #: {status['registration_number']}")
print(f"Registration date: {status['registration_date']}")
商標の健全性をチェック:
health = client.check_trademark_health("87654321")
print(f"Mark: {health['mark']}")
print(f"Status: {health['status']}")
for alert in health['alerts']:
print(alert)
if health['needs_attention']:
print("⚠️ This mark needs attention!")
商標ポートフォリオ監視
複数の商標を監視します:
def monitor_portfolio(serial_numbers, api_key):
"""商標ポートフォリオの健全性を監視します。"""
client = TrademarkClient(api_key)
results = {
'active': [],
'pending': [],
'problems': []
}
for sn in serial_numbers:
health = client.check_trademark_health(sn)
if 'REGISTERED' in health['status']:
results['active'].append(health)
elif 'PENDING' in health['status'] or 'PUBLISHED' in health['status']:
results['pending'].append(health)
elif health['needs_attention']:
results['problems'].append(health)
return results
一般的な商標ステータス
- REGISTERED - アクティブな登録商標
- PENDING - 審査中
- PUBLISHED FOR OPPOSITION - 異議申立期間中
- ABANDONED - 出願放棄
- CANCELLED - 登録取消
- SUSPENDED - 審査中断
- REGISTERED AND RENEWED - 登録更新
リファレンスドキュメント
完全な商標APIドキュメントについてはreferences/trademark_api.mdを参照してください:
- TSDR APIリファレンス
- Trademark Assignment Search API
- すべてのステータスコード
- 審査履歴アクセス
- 所有権追跡
タスク4: 譲渡と所有権の追跡
特許と商標の譲渡
特許と商標の両方に、所有権変更を追跡するためのAssignment Search APIがあります。
特許譲渡API
ベースURL: https://assignment-api.uspto.gov/patent/v1.4/
特許番号で検索:
import requests
import xml.etree.ElementTree as ET
def get_patent_assignments(patent_number, api_key):
url = f"https://assignment-api.uspto.gov/patent/v1.4/assignment/patent/{patent_number}"
headers = {"X-Api-Key": api_key}
response = requests.get(url, headers=headers)
if response.status_code == 200:
return response.text # XMLを返す
assignments_xml = get_patent_assignments("11234567", api_key)
root = ET.fromstring(assignments_xml)
for assignment in root.findall('.//assignment'):
recorded_date = assignment.find('recordedDate').text
assignor = assignment.find('.//assignor/name').text
assignee = assignment.find('.//assignee/name').text
conveyance = assignment.find('conveyanceText').text
print(f"{recorded_date}: {assignor} → {assignee}")
print(f" Type: {conveyance}\n")
企業名で検索:
def find_company_patents(company_name, api_key):
url = "https://assignment-api.uspto.gov/patent/v1.4/assignment/search"
headers = {"X-Api-Key": api_key}
data = {"criteria": {"assigneeName": company_name}}
response = requests.post(url, headers=headers, json=data)
return response.text
一般的な譲渡タイプ
- ASSIGNMENT OF ASSIGNORS INTEREST - 所有権移転
- SECURITY AGREEMENT - 担保/担保権
- MERGER - 合併
- CHANGE OF NAME - 名義変更
- ASSIGNMENT OF PARTIAL INTEREST - 部分的な所有権
タスク5: 追加のUSPTOデータへのアクセス
拒絶理由通知、引用、および訴訟
複数の専門的なAPIが追加の特許データを提供します。
拒絶理由通知テキスト取得
アプリケーションナンバーを使用して拒絶理由通知の全文を取得します。PEDSと統合して、どの拒絶理由通知が存在するかを特定してから、全文を取得します。
Enriched Citation API
特許引用を分析します:
- 前方引用(この特許を引用する特許)
- 後方引用(引用された先行技術)
- 審査官対出願人の引用
- 引用コンテキスト
特許訴訟ケースAPI
連邦地方裁判所特許訴訟記録にアクセスします:
- 74,623以上の訴訟記録
- 主張された特許
- 当事者および管轄区
- ケース成果
PTAB API
特許審判部(Patent Trial and Appeal Board)手続:
- Inter partes review (IPR)
- Post-grant review (PGR)
- 控訴決定
リファレンスドキュメント
以下に関する包括的なドキュメントについてはreferences/additional_apis.mdを参照してください:
- Enriched Citation API
- Office Action API (Text, Citations, Rejections)
- Patent Litigation Cases API
- PTAB API
- Cancer Moonshot Data Set
- OCE Status/Event Codes
完全分析の例
包括的な特許分析
複数のAPIを組み合わせて、完全な特許インテリジェンスを取得します:
def comprehensive_patent_analysis(patent_number, api_key):
"""
複数のUSPTO APIを使用した完全な特許分析。
"""
from scripts.patent_search import PatentSearchClient
from scripts.peds_client import PEDSHelper
results = {}
# 1. 特許詳細を取得
patent_client = PatentSearchClient(api_key)
patent_data = patent_client.get_patent(patent_number)
results['patent'] = patent_data
# 2. 審査履歴を取得
peds = PEDSHelper()
results['prosecution'] = peds.analyze_prosecution(patent_number)
results['status'] = peds.get_status_summary(patent_number)
# 3. 譲渡履歴を取得
import requests
assign_url = f"https://assignment-api.uspto.gov/patent/v1.4/assignment/patent/{patent_number}"
assign_resp = requests.get(assign_url, headers={"X-Api-Key": api_key})
results['assignments'] = assign_resp.text if assign_resp.status_code == 200 else None
# 4. 結果を分析
print(f"\n=== Patent {patent_number} Analysis ===\n")
print(f"Title: {patent_data['patent_title']}")
print(f"Assignee: {', '.join(patent_data.get('assignee_organization', []))}")
print(f"Issue Date: {patent_data['patent_date']}")
print(f"\nProsecution:")
print(f" Office Actions: {results['prosecution']['total_office_actions']}")
print(f" Rejections: {results['prosecution']['non_final_rejections']} non-final, {results['prosecution']['final_rejections']} final")
print(f" Pendency: {results['prosecution']['pendency_days']} days")
# 引用を分析
if 'cited_patent_number' in patent_data:
print(f"\nCitations:")
print(f" Cites: {len(patent_data['cited_patent_number'])} patents")
if 'citedby_patent_number' in patent_data:
print(f" Cited by: {len(patent_data['citedby_patent_number'])} patents")
return results
ベストプラクティス
-
APIキー管理
- APIキーを環境変数に保存
- キーをバージョン管理にコミットしない
- すべてのUSPTO APIで同じキーを使用
-
レート制限
- PatentSearch: 45リクエスト/分
- レート制限エラーに対して指数バックオフを実装
- 可能な場合はレスポンスをキャッシュ
-
クエリ最適化
- テキストフィールドには
_text_*演算子を使用(より高速) - 必要なフィールドのみをリクエストしてレスポンスサイズを削減
- 日付範囲を使用して検索を絞る
- テキストフィールドには
-
データ処理
- すべての特許/商標にすべてのフィールドが入力されているわけではありません
- 不足データを適切に処理
- 日付を一貫して解析
-
複数APIの組み合わせ
- PatentSearchで発見
- PEDSで審査詳細を取得
- Assignment APIで所有権を追跡
- データを組み合わせて包括的な分析を実施
重要な注記
- レガシーAPI廃止: PatentsViewレガシーAPI は2025年5月1日に廃止 - PatentSearch APIを使用してください
- PAIR Bulk Data廃止: PEDSを代わりに使用してください
- データカバレッジ: PatentSearchは2025年6月30日までのデータを備えています; PEDSは1981年以降
- テキストエンドポイント: クレームおよび説明エンドポイントはベータ版でバックフィリングが継続中です
- レート制限: サービス中断を避けるためレート制限を尊重してください
リソース
APIドキュメント
- PatentSearch API: https://search.patentsview.org/docs/
- USPTO Developer Portal: https://developer.uspto.gov/
- USPTO Open Data Portal: https://data.uspto.gov/
- APIキー登録: https://account.uspto.gov/api-manager/
Pythonライブラリ
- uspto-opendata-python: https://pypi.org/project/uspto-opendata-python/
- USPTO Docs: https://docs.ip-tools.org/uspto-opendata-python/
リファレンスファイル
references/patentsearch_api.md- PatentSearch API完全リファレンスreferences/peds_api.md- PEDS APIおよびライブラリドキュメントreferences/trademark_api.md- 商標API (TSDR および Assignment)references/additional_apis.md- 引用、拒絶理由通知、訴訟、PTAB
スクリプト
scripts/patent_search.py- PatentSearch APIクライアントscripts/peds_client.py- PEDS審査データクライアントscripts/trademark_client.py- 商標検索クライアント
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- davila7
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/davila7/claude-code-templates / ライセンス: MIT
関連スキル
superfluid
Superfluidプロトコルおよびそのエコシステムに関するナレッジベースです。Superfluidについて情報を検索する際は、ウェブ検索の前にこちらを参照してください。対応キーワード:Superfluid、CFA、GDA、Super App、Super Token、stream、flow rate、real-time balance、pool(member/distributor)、IDA、sentinels、liquidation、TOGA、@sfpro/sdk、semantic money、yellowpaper、whitepaper
civ-finish-quotes
実質的なタスクが真に完了した際に、文明風の儀式的な引用句を追加します。ユーザーやエージェントが機能追加、リファクタリング、分析、設計ドキュメント、プロセス改善、レポート、執筆タスクといった実際の成果物を完成させるときに、明示的な依頼がなくても使用します。短い返信や小さな修正、未完成の作業には適用しません。
nookplot
Base(Ethereum L2)上のAIエージェント向け分散型調整ネットワークです。エージェントがオンチェーンアイデンティティを登録する、コンテンツを公開する、他のエージェントにメッセージを送る、マーケットプレイスで専門家を雇う、バウンティを投稿・請求する、レピュテーションを構築する、共有プロジェクトで協業する、リサーチチャレンジを解くことでNOOKをマイニングする、キュレーションされたナレッジを備えたスタンドアロンオンチェーンエージェントをデプロイする、またはアグリーメントとリワードで収益を得る場合に利用できます。エージェントネットワーク、エージェント調整、分散型エージェント、NOOKトークン、マイニングチャレンジ、ナレッジバンドル、エージェントレピュテーション、エージェントマーケットプレイス、ERC-2771メタトランザクション、Prepare-Sign-Relay、AgentFactory、またはNookplotが言及された場合にトリガーされます。
web3-polymarket
Polygon上でのPolymarket予測市場取引統合です。認証機能(L1 EIP-712、L2 HMAC-SHA256、ビルダーヘッダー)、注文発注(GTC/GTD/FOK/FAK、バッチ、ポストオンリー、ハートビート)、市場データ(Gamma API、Data API、オーダーブック、サブグラフ)、WebSocketストリーミング(市場・ユーザー・スポーツチャネル)、CTF操作(分割、統合、償却、ネガティブリスク)、ブリッジ機能(入金、出金、マルチチェーン)、およびガスレスリレイトランザクションに対応しています。AIエージェント、自動マーケットメーカー、予測市場UI、またはPolygraph上のPolymarketと統合するアプリケーション構築時に活用できます。
ethskills
Ethereum、EVM、またはブロックチェーン関連のリクエストに対応します。スマートコントラクト、dApps、ウォレット、DeFiプロトコルの構築、監査、デプロイ、インタラクションに適用されます。Solidityの開発、コントラクトアドレス、トークン規格(ERC-20、ERC-721、ERC-4626など)、Layer 2ネットワーク(Base、Arbitrum、Optimism、zkSync、Polygon)、Uniswap、Aave、Curveなどのプロトコルとの統合をカバーします。ガスコスト、コントラクトのデシマル設定、オラクルセキュリティ、リエントランシー、MEV、ブリッジング、ウォレット管理、オンチェーンデータの取得、本番環境へのデプロイ、プロトコル進化(EIPライフサイクル、フォーク追跡、今後の変更予定)といったトピックを含みます。
xxyy-trade
このスキルは、ユーザーが「トークン購入」「トークン売却」「トークンスワップ」「暗号資産取引」「取引ステータス確認」「トランザクション照会」「トークンスキャン」「フィード」「チェーン監視」「トークン照会」「トークン詳細」「トークン安全性確認」「ウォレット一覧表示」「マイウォレット」「AIスキャン」「自動スキャン」「ツイートスキャン」「オンボーディング」「IP確認」「IPホワイトリスト」「トークン発行」「自動売却」「損切り」「利益確定」「トレーリングストップ」「保有者」「トップホルダー」「KOLホルダー」などをリクエストした場合、またはSolana/ETH/BSC/BaseチェーンでXXYYを経由した取引について言及した場合に使用します。XXYY Open APIを通じてオンチェーン取引とデータ照会を実現します。