USPTO PTAB Trial proceedings CLI — search IPR/PGR/CBM decisions from the terminal
Project description
ptab-cli
A command-line tool for querying the USPTO Patent Trial and Appeal Board (PTAB) API directly from your terminal. Search and retrieve IPR/PGR/CBM trial proceedings, decisions, documents, appeal decisions, and interference decisions.
Installation
pip install ptab-cli
# or
uv tool install ptab-cli
# or
pipx install ptab-cli
Quick Start
# 1. Save your API key
ptab configure
# 2. Search IPR proceedings
ptab proc search --q "petitionerPartyName:Apple" --type IPR
# 3. Look up a single trial
ptab proc get IPR2023-00001
# 4. List decisions for a trial
ptab decision list IPR2023-00001
API Key Setup
Priority order (highest first):
| Method | Example |
|---|---|
| CLI option | ptab proc get IPR2023-00001 --api-key KEY |
| Environment variable | export USPTO_API_KEY=KEY |
| Config file | ptab configure → ~/.ptab-cli.toml |
ptab configure # Interactive setup (saves API key + timeout)
ptab configure --show # Show current configuration
Timeout follows the same priority:
--timeout Nglobal optionREQUEST_TIMEOUTenvironment variable~/.ptab-cli.toml[http] timeout(default: 30s)
Commands
proc — Trial Proceedings (IPR/PGR/CBM)
ptab proc search [--q Q] [--type IPR|PGR|CBM] [--from DATE] [--to DATE] [--limit N] [--sort FIELD]
ptab proc get TRIAL_NUMBER
ptab proc download [--q Q] [--type IPR|PGR|CBM] [--from DATE] [--to DATE] --out FILE.zip
decision — Trial Decisions
ptab decision search [--q Q] [--type TYPE] [--petitioner NAME] [--patent NUMBER] [--from DATE] [--to DATE]
ptab decision get DOC_ID
ptab decision list TRIAL_NUMBER
ptab decision download [--q Q] --out FILE.zip
doc — Trial Documents
ptab doc search [--q Q] [--type TYPE] [--from DATE] [--to DATE]
ptab doc get DOC_ID
ptab doc list TRIAL_NUMBER
ptab doc download [--q Q] --out FILE.zip
appeal — Appeal Decisions
ptab appeal search [--q Q] [--from DATE] [--to DATE]
ptab appeal get DOC_ID
ptab appeal list APPEAL_NUMBER
ptab appeal download [--q Q] --out FILE.zip
interference — Interference Decisions
ptab interference search [--q Q] [--from DATE] [--to DATE]
ptab interference get DOC_ID
ptab interference list INTERFERENCE_NUMBER
ptab interference download [--q Q] --out FILE.zip
Options
All search commands accept:
--q TEXT Lucene query string
--from DATE Start date (YYYY-MM-DD)
--to DATE End date (YYYY-MM-DD)
--limit N Maximum results (default: 25)
--offset N Page offset (default: 0)
--sort FIELD Sort field (e.g. "filingDate desc")
--format/-f Output format: table | json | csv (default: table)
--out FILE Save output to file (csv/json)
--api-key KEY API key (one-time override)
Global options (placed immediately after ptab):
--verbose/-v Debug HTTP request/response logs (stderr)
--timeout N Request timeout in seconds
--version Show version
Output Formats
table (default) — Terminal-friendly, key fields only:
Trial No. Type Filed Status Petitioner Patent No.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
IPR2023-00001 IPR 2023-01-05 Terminated Apple Inc. US9876543
1 results (1 total)
json — Raw API response, pretty-printed (useful for piping)
csv — CSV with headers (UTF-8 BOM, for spreadsheets and data analysis)
Examples
# Search Apple IPR filings in 2023
ptab proc search --q "petitionerPartyName:Apple" --type IPR --from 2023-01-01 --to 2023-12-31
# Get a single trial as JSON
ptab proc get IPR2023-00001 --format json
# Save Final Written Decisions to CSV
ptab decision search --type "Final Written Decision" --from 2024-01-01 --format csv --out decisions.csv
# Search decisions by petitioner name
ptab decision search --petitioner Apple --format csv --out apple_decisions.csv
# Search decisions by patent number
ptab decision search --patent US9876543
# Download Samsung IPR proceedings as ZIP
ptab proc download --q "petitionerPartyName:Samsung" --type IPR --out samsung_ipr.zip
# List documents for a trial
ptab doc list IPR2023-00001
# Combine Lucene query clauses
ptab proc search --q "statusCategory:Terminated AND trialMetaData.trialTypeCode:IPR"
# Extend timeout for slow connections
ptab --timeout 60 proc search --q "petitionerPartyName:Apple"
Requirements
- Python 3.11+
- USPTO PTAB API key (obtain at developer.uspto.gov)
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ptab_cli-0.1.4.tar.gz.
File metadata
- Download URL: ptab_cli-0.1.4.tar.gz
- Upload date:
- Size: 49.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c11edc4a48b4766d304854d6eda3a49578baa240f34cab68ac15e8821d62b262
|
|
| MD5 |
5f6eb701f614080832b3e5d43cb6792e
|
|
| BLAKE2b-256 |
217f5ad5e133412d2339910f59450923e53e1a2cf290ea1e0d54ae94ecb536bf
|
File details
Details for the file ptab_cli-0.1.4-py3-none-any.whl.
File metadata
- Download URL: ptab_cli-0.1.4-py3-none-any.whl
- Upload date:
- Size: 25.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9448ef6f2708724d0968902aa238cbd7f1b0637ef7288bfcf7cad3726609fe6b
|
|
| MD5 |
1a1467d8ff57faa51ae33fb31a5612f1
|
|
| BLAKE2b-256 |
5b80504ee313e21bf650f34c492885bc2843f0e58b35ae206fddd36fa2c76640
|