mirror of
https://github.com/K-Dense-AI/claude-scientific-skills.git
synced 2026-01-26 16:58:56 +08:00
Add patentsview api key for patent search api
This commit is contained in:
@@ -66,12 +66,16 @@ The USPTO provides multiple specialized APIs for different data needs:
|
|||||||
|
|
||||||
### API Key Registration
|
### API Key Registration
|
||||||
|
|
||||||
All USPTO APIs require an API key. Register at:
|
USPTO APIs require an API key. Register at:
|
||||||
**https://account.uspto.gov/api-manager/**
|
**https://account.uspto.gov/api-manager/**
|
||||||
|
|
||||||
|
API key for **PatentSearch API** is provided by PatentsView. Register at:
|
||||||
|
**https://patentsview.org/api-v01-information-page**
|
||||||
|
|
||||||
Set the API key as an environment variable:
|
Set the API key as an environment variable:
|
||||||
```bash
|
```bash
|
||||||
export USPTO_API_KEY="your_api_key_here"
|
export USPTO_API_KEY="your_api_key_here"
|
||||||
|
export PATENTSVIEW_API_KEY="you_api_key_here"
|
||||||
```
|
```
|
||||||
|
|
||||||
### Helper Scripts
|
### Helper Scripts
|
||||||
@@ -98,7 +102,7 @@ client = PatentSearchClient()
|
|||||||
|
|
||||||
# Search for machine learning patents
|
# Search for machine learning patents
|
||||||
results = client.search_patents({
|
results = client.search_patents({
|
||||||
"patent_abstract": {"_text_all": ["machine", "learning"]}
|
"_text_all": {"patent_abstract": "machine learning"}
|
||||||
})
|
})
|
||||||
|
|
||||||
for patent in results['patents']:
|
for patent in results['patents']:
|
||||||
|
|||||||
@@ -31,11 +31,11 @@ class PatentSearchClient:
|
|||||||
Initialize client with API key.
|
Initialize client with API key.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
api_key: USPTO API key (if not provided, uses USPTO_API_KEY env var)
|
api_key: PatentsView API key (if not provided, uses PATENTSVIEW_API_KEY env var)
|
||||||
"""
|
"""
|
||||||
self.api_key = api_key or os.getenv("USPTO_API_KEY")
|
self.api_key = api_key or os.getenv("PATENTSVIEW_API_KEY")
|
||||||
if not self.api_key:
|
if not self.api_key:
|
||||||
raise ValueError("API key required. Set USPTO_API_KEY environment variable or pass to constructor.")
|
raise ValueError("API key required. Set PATENTSVIEW_API_KEY environment variable or pass to constructor.")
|
||||||
|
|
||||||
self.headers = {
|
self.headers = {
|
||||||
"X-Api-Key": self.api_key,
|
"X-Api-Key": self.api_key,
|
||||||
@@ -101,15 +101,15 @@ class PatentSearchClient:
|
|||||||
"""
|
"""
|
||||||
if fields is None:
|
if fields is None:
|
||||||
fields = [
|
fields = [
|
||||||
"patent_number", "patent_title", "patent_date",
|
"patent_id", "patent_title", "patent_date",
|
||||||
"patent_abstract", "assignee_organization",
|
"patent_abstract", "assignees",
|
||||||
"inventor_name", "cpc_subclass_id"
|
"inventors"
|
||||||
]
|
]
|
||||||
|
|
||||||
if sort is None:
|
if sort is None:
|
||||||
sort = [{"patent_date": "desc"}]
|
sort = [{"patent_date": "desc"}]
|
||||||
|
|
||||||
options = {"page": page, "per_page": min(per_page, 1000)}
|
options = {"size": 100}
|
||||||
|
|
||||||
return self._request("patent", query, fields, sort, options)
|
return self._request("patent", query, fields, sort, options)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user