Simple, lightweight python client library to support access to the USPTO Open Data Portal (ODP)
| Python Version | Build Status | 
|---|---|
| 3.9 | |
| 3.10 | |
| 3.11 | |
| 3.12 | |
| 3.13 | 
From the USPTO as of November 27, 2024: βThe new Open Data Portal (ODP) is launching soon, informed by the Developer Hub (Open Data Portal beta) and real customer feedback. The first iteration will include patent data and improved functionality previously found on Patent Examination Data System (PEDS).β
This library is designed to support access to the ODP and is built on top of the existing USPTO Developer Hub API.
This library is not designed to be a full-featured ORM or database mapper. It is designed to be a simple, easy-to-use library for accessing the USPTO API with limited dependencies.
Currently, the ODP is in beta and this library is subject to change as the API evolves.
However, this library will seek to maintain backwards compatibility as much as possible as the ODP evolves.
Note: You must have an API key to use this library. You can learn more about how to get an API key at getting-started. For up-to-date USPTO information regarding the Open Data Portal, please visit USPTO Open Data Portal.
| Endpoint | API Methods | Support | Library Method | 
|---|---|---|---|
| .../search | GET, POST | β GET, POST | search_patent_applications()(POST)search_patent_applications_get()(GET) | 
| .../search/download | GET, POST | π§ None | - | 
| .../{appNumber} | GET | β GET | get_patent_wrapper() | 
| .../{appNumber}/meta-data | GET | β οΈ Workaround | get_app_metadata_from_patent_number() | 
| .../{appNumber}/adjustment | GET | π§ None | - | 
| .../{appNumber}/assignment | GET | β GET | get_patent_assignments() | 
| .../{appNumber}/attorney | GET | π§ None | - | 
| .../{appNumber}/continuity | GET | β GET | get_continuity() | 
| .../{appNumber}/foreign-priority | GET | β GET | get_foreign_priority() | 
| .../{appNumber}/transactions | GET | β GET | get_patent_transactions() | 
| .../{appNumber}/documents | GET | β GET | get_patent_documents() | 
| .../{appNumber}/associated-documents | GET | π§ None | - | 
Note: All endpoints begin with /api/v1/patent/applications
| Endpoint | API Methods | Support | Library Method | 
|---|---|---|---|
| /api/v1/patent/status-codes | GET, POST | π§ None | - | 
| /api/v1/datasets/products/search | GET | π§ None | - | 
| /api/v1/datasets/products/{productId} | GET | π§ None | - | 
| /api/v1/petition/decisions/search | GET, POST | π§ None | - | 
| /api/v1/petition/decisions/search/download | GET, POST | π§ None | - | 
| /api/v1/petition/decisions/{decisionId} | GET | π§ None | - | 
pip install uspto_odp
git clone https://github.com/KennethThompson/uspto_odp.git
cd uspto_odp
pip install -e .
If you plan to contribute or modify the code, install with development dependencies:
pip install -e ".[dev]"
Before using the library, youβll need to obtain an API key from the USPTO Developer Hub. Visit USPTO Developer Hub to request your API key.
You can verify the installation by running:
import uspto_odp
print(uspto_odp.__version__)
To be completed at a later date.
This project is licensed under the MIT License. See the LICENSE file for details.