--- 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