EPO OPS v3.2 Go Client Library

EPO OPS v3.2 Go Client Library

I've released a complete Go client for the European Patent Office's Open Patent Services API v3.2. The library provides access to patent bibliographic data, full-text documents, search capabilities, family information, and legal status data.

Building on Official Specifications


I started with EPO's official Swagger v2 specification, converted it to OpenAPI v3, and extended it with missing endpoints - notably the Data Usage Statistics endpoint absent from the official docs. The spec generates strongly-typed Go code that I've wrapped in a practical client interface.
Key functionality includes CQL-based patent search, INPADOC family retrieval, legal status queries, EPO Register access, and patent image downloads with TIFF-to-PNG conversion. OAuth2 authentication and fair use quota tracking are handled automatically.

Design Decisions

I implemented intelligent retry logic with exponential backoff for transient failures while avoiding retries on quota exceeded or authentication errors. Custom error types distinguish between different failure modes, making it straightforward to handle rate limits differently from missing patents.

Progress tracking for large downloads, automatic token refresh, and comprehensive test coverage (both unit and integration) make this suitable for production systems. Like the USPTO ODP and EPO BDDS libraries I've built, it's designed for reliability in automated workflows.

Repository: github.com/patent-dev/epo-ops
License: MIT

Need help integrating patent data APIs or building reliable data pipelines? I bring hands-on experience with EPO, USPTO, and other patent data sources. Available for consulting and technical project management.