Files

144 lines
3.5 KiB
Markdown

---
title: "USPTO Public APIs"
task: ""
lineage_type: import
upstream_source: https://github.com/K-Dense-AI/scientific-agent-skills/blob/9c9bd2e9/skills/database-lookup/references/uspto.md
upstream_sha: 9c9bd2e9
imported_at: 2026-06-26
prompt_class: prompt
upstream_changes: accepted
author: upstream
validated: false
---
# USPTO Public APIs
## 1. PatentsView API (Primary Patent Search)
The newer Elasticsearch-based API is the recommended endpoint.
### Base URL
```
https://search.patentsview.org/api/v1/
```
**API key required** — register at `https://patentsview.org/apis/keyrequest`
Pass as query parameter: `?api_key=YOUR_KEY`
### Key Endpoints
#### Search patents
```
GET or POST /patent/
```
Query parameter `q` accepts a JSON query object.
Operators: `_eq`, `_neq`, `_gt`, `_gte`, `_lt`, `_lte`, `_begins`, `_contains`, `_text_any`, `_text_all`, `_text_phrase`, `_and`, `_or`, `_not`
Parameters:
- `q` — JSON query
- `f` — fields to return (JSON array)
- `o` — options: `{"size": 25}` for pagination
- `s` — sort: `[{"patent_date": "desc"}]`
#### Search by keyword
```
GET /patent/?q={"_text_any":{"patent_abstract":"autonomous vehicle"}}&f=["patent_id","patent_title","patent_date"]&o={"size":5}&api_key=KEY
```
#### Search by inventor
```
GET /patent/?q={"inventors.inventor_name_last":"Tesla"}&f=["patent_id","patent_title","patent_date"]&api_key=KEY
```
#### Search by assignee
```
GET /patent/?q={"assignees.assignee_organization":"Google LLC"}&f=["patent_id","patent_title","patent_date","assignees"]&api_key=KEY
```
#### Lookup by patent number
```
GET /patent/{patent_number}/?api_key=KEY
```
#### Other entity endpoints
```
/inventor/
/assignee/
/cpc_group/
```
### Response Structure
```json
{
"patents": [
{
"patent_id": "11234567",
"patent_title": "...",
"patent_date": "2022-03-15",
"patent_abstract": "...",
"assignees": [{"assignee_organization": "..."}],
"inventors": [{"inventor_name_first": "...", "inventor_name_last": "..."}]
}
],
"count": 1,
"total_hits": 8923
}
```
### Rate Limits
~45 requests per minute per API key.
### Important Note
The user must have a PatentsView API key for this endpoint. If they don't have one, let them know they need to register at `https://patentsview.org/apis/keyrequest`. Load the key from `.env` as `PATENTSVIEW_API_KEY`.
**Note:** The legacy API at `api.patentsview.org` has been decommissioned (returns 410 Gone). Only the new API above works.
## 3. PEDS — Patent Examination Data System
**URL**: `https://ped.uspto.gov/api/queries`
**Method**: POST
For patent prosecution data (application status, filing dates, examiner info).
```json
{
"searchText": "applicationNumberText:16123456",
"fl": "*",
"mm": "100%",
"df": "patentTitle",
"facet": "false",
"sort": "applId asc",
"start": 0
}
```
No API key required but heavily rate limited. Availability can be unreliable.
## 4. TSDR — Trademark Status & Document Retrieval
For trademark lookup by serial or registration number (not full-text search).
```
GET https://tsdr.uspto.gov/documentxml/status/{serial_number}
GET https://tsdr.uspto.gov/documentxml/status/rn{registration_number}
```
Returns XML with mark details, status, owner, goods/services, prosecution history.
No API key. Rate limited. No JSON endpoint — responses are XML.
## 5. Limitations
- **No public REST API for trademark full-text search** (TESS is web-only)
- PatentsView new API requires registration for an API key
- PEDS availability is inconsistent
- TSDR requires knowing the serial/registration number already