USPTO ODP Python Client
Simple, lightweight Python client library
Access the USPTO Open Data Portal (ODP) API with ease
Overview
The USPTO ODP Python Client is a simple, easy-to-use library for accessing the USPTO Open Data Portal API. This library provides a clean, async interface to interact with all available USPTO endpoints, including:
- Patent Applications - Search, metadata, documents, assignments, and more
- Status Codes - Query patent application status codes
- Petition Decisions - Access petition decision records
- PTAB Trials - Proceedings, decisions, and documents
- PTAB Appeals - Appeal decisions
- PTAB Interferences - Interference decisions
- Bulk Datasets - Search and download bulk dataset products
Key Features
- โ 100% API Coverage - All 53 API methods fully supported
- ๐ Async/Await - Built on
aiohttpfor high-performance async operations - ๐ฆ Type Hints - Full type annotations for better IDE support
- ๐ Error Handling - Comprehensive error handling with custom exceptions
- ๐ Well Documented - Extensive docstrings and examples
- ๐งช Fully Tested - Comprehensive unit and integration tests
Quick Example
import asyncio
from uspto_odp import USPTOClient
async def main():
# Initialize the client
client = USPTOClient(api_key="your-api-key-here")
# Search for patent applications
results = await client.search_patent_applications_get(
q="applicationNumberText:14412875"
)
# Get patent metadata
metadata = await client.get_app_metadata("14412875")
print(f"Application: {metadata.application_number}")
# Clean up
await client.session.close()
asyncio.run(main())
Installation
For development:
Requirements
- Python 3.9 or higher
- USPTO API Key (Get one here)
Documentation
- Quick Start Guide - Get up and running quickly
- Installation Guide - Detailed installation instructions
- Endpoint Documentation - Comprehensive endpoint guides with detailed examples
- Examples - Comprehensive code examples
- API Reference - Complete API documentation
Endpoint Categories
Browse detailed documentation for each endpoint category:
- Patent Applications - 12 endpoints for patent application data
- Status Codes - Status code lookup
- Bulk Datasets - Access bulk data products
- Petition Decisions - Petition decision records
- PTAB Trials - Proceedings - Trial proceeding information
- PTAB Trials - Decisions - Trial decision documents
- PTAB Trials - Documents - Trial documents
- PTAB Appeals - Decisions - Appeal decision documents
- PTAB Interferences - Decisions - Interference decision documents
License
This project is licensed under the MIT License. See the LICENSE file for details.