USPTO Open Data Portal 3.0: PTAB data now available via ODP API
USPTO Open Data Portal 3.0 brings full API access to Patent Trial and Appeal Board data - IPR proceedings, trial decisions, appeal outcomes, and interference records going back to 1997. The uspto-odp Go client library has been updated to support all 19 new endpoints.
The USPTO Open Data Portal team did a great job with this release.
A few weeks ago, I reached out about some fixes I'd made to their OpenAPI specification while building the uspto-odp Go client library. The official swagger had type mismatches between the spec and actual API responses, so I'd patched them in my repo. They responded, reviewed the changes, and integrated the fixes into their official spec.
Shortly after, on November 21, 2025, USPTO released Open Data Portal version 3.0 with a major addition: full API access to Patent Trial and Appeal Board (PTAB) data.
All PTAB proceedings data has been migrated from the old Developer Hub to ODP, covering everything from 1997 to present day.
What's new
The 3.0 release adds 19 new API endpoints covering:
- Trial Proceedings - IPRs, PGRs, CBMs, and derivation proceedings
- Trial Decisions - Institution decisions, final written decisions, terminations
- Trial Documents - Petitions, patent owner responses, expert declarations
- Appeals - Ex parte appeal decisions
- Interferences - Historical interference proceedings data
You can now search across all three proceeding types (Trials, Appeals, Interferences) simultaneously using global search parameters.
What you can do with the API
Here are some practical examples based on the actual API:
Search for IPR proceedings
POST /api/v1/patent/trials/proceedings/search
{"q": "trialMetaData.trialTypeCode:IPR"}
Find all inter partes review proceedings. You can also filter by patent number with patentOwnerData.patentNumber:11646472.
Get a specific trial by number
GET /api/v1/patent/trials/proceedings/IPR2023-00001
Retrieve full details for a specific proceeding including status, filing date, patent owner data, and petitioner information.
Search trial decisions
POST /api/v1/patent/trials/decisions/search
Search across all trial decisions. The response includes document titles, filing dates, and decision outcomes.
Get all documents for a trial
GET /api/v1/patent/trials/IPR2023-00001/documents
Retrieve all documents filed in a proceeding - petitions, patent owner responses, expert declarations, and more.
Search appeal decisions
POST /api/v1/patent/appeals/decisions/searchSearch ex parte appeal decisions. Results include appeal numbers, document names, and filing dates.
Search historical interferences
POST /api/v1/patent/interferences/decisions/search
Access interference decisions going back to 1997. Useful for researching priority disputes in pre-AIA cases.
Client library updated
I've already updated the uspto-odp Go client library to support all 19 new PTAB endpoints. The library now covers all 38 ODP API endpoints:
- 13 Patent Application endpoints
- 3 Bulk Data endpoints
- 3 Petition endpoints
- 19 PTAB endpoints (new)
As always, the library includes fixes to the official OpenAPI spec to handle type mismatches between the swagger definition and actual API responses. It provides idiomatic Go wrappers with retry logic and proper error handling.
// Search for IPR proceedings
result, err := client.SearchTrialProceedings(ctx, "trialMetaData.trialTypeCode:IPR", 0, 10)
// Get a specific trial
proceeding, err := client.GetTrialProceeding(ctx, "IPR2023-00001")
// Get all documents for a trial
docs, err := client.GetTrialDocumentsByTrialNumber(ctx, "IPR2023-00001")
Transition timeline
The old Developer Hub PTAB interface will remain available until USPTO announces a decommission date. If you're currently using DH-PTAB, check the transition guide for mapping your existing queries to the new ODP endpoints.
Want PTAB tools in the patent MCP server?
I'm considering adding the new PTAB endpoints as tools in the Patent Connector MCP server. This would let you query PTAB data directly from Claude or ChatGPT while researching patents.
Imagine asking your AI assistant: "Has this patent been challenged in an IPR? What was the outcome?"and getting a direct answer pulled from the USPTO database.
If there's interest, reach out at info@patent.dev. Let me know which PTAB queries would be most useful for your workflow.