uspto_odp

uspto_odp_python_logo

Python wrapper for the Beta USPTO Open Data Portal (ODP)

Simple, lightweight python client library to support access to the USPTO Open Data Portal (ODP)

Python Version Build Status
3.9 Python 3.9
3.10 Python 3.10
3.11 Python 3.11
3.12 Python 3.12
3.13 Python 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.

API Endpoint Support Status

Patent Application Endpoints

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

Other Endpoints

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 -

Coverage Summary

Legend

Installation

Prerequisites

pip install uspto_odp

From Source

  1. Clone the repository:
    git clone https://github.com/KennethThompson/uspto_odp.git
    cd uspto_odp
    
  2. Install the package in development mode:
    pip install -e .
    

Development Installation

If you plan to contribute or modify the code, install with development dependencies:

pip install -e ".[dev]"

API Key Required

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.

Verify Installation

You can verify the installation by running:

import uspto_odp
print(uspto_odp.__version__)

Usage

To be completed at a later date.

License

This project is licensed under the MIT License. See the LICENSE file for details.