EPO API

Patent / OAuth Advanced HTTPS
Varies by plan (check documentation)

Overview

The European Patent Office (EPO) Open Patent Services (OPS) API provides access to millions of European patent documents, bibliographic data, and legal status information. It uses OAuth 2.0 for authentication — you register for a free consumer key and secret, then exchange them for a bearer token. Beginners should start with the bibliographic data endpoint to retrieve patent titles and abstracts.

Beginner Tip

Register for a free OPS account at developers.epo.org to get your consumer key and secret. The token endpoint is https://ops.epo.org/3.2/auth/accesstoken — use HTTP Basic Auth with your key:secret to obtain a bearer token valid for 20 minutes.

Available Data

EPO data via REST API

Example Response

JSON Response
{
  "status": "success",
  "data": {
    "result": "Data from EPO",
    "description": "European patent search system api",
    "timestamp": "2025-01-15T10:00:00Z"
  }
}

Field Reference

access_token Bearer token to include as Authorization: Bearer <token> in subsequent API requests
token_type Always "Bearer" — the token type used for API authorization headers
expires_in Token lifetime in seconds (typically 1200 = 20 minutes); re-authenticate before expiry
bibliographic-data Contains patent title, abstract, inventors, applicants, and publication date when querying patent data endpoints
publication-reference Structured patent number with country, document number, and kind code identifying the specific document version

Implementation Example

Request
const url = "https://developers.epo.org/";
// Replace headers or query params with the values required by this API.
const response = await fetch(url, {
  headers: {
  "Authorization": "Bearer YOUR_API_KEY"
  }
});
if (!response.ok) throw new Error(`Request failed: ${response.status}`);
const data = await response.json();
console.log(data);

What Can You Build?

Note: These code examples are AI-generated and unverified. Always refer to the official API documentation for accurate usage.

Common Errors & Troubleshooting

403 CLIENT_ID_INVALID The consumer key or secret is wrong, or the credentials have not been activated yet
Log into developers.epo.org, confirm your app is approved, and copy the consumer key/secret exactly — avoid extra spaces
401 Unauthorized on data requests The access token has expired (tokens are valid for only 20 minutes)
Re-request a new token before each session or implement a refresh mechanism that re-authenticates when a 401 is received
404 on patent number lookup The patent number format is incorrect — EPO uses a specific format like EP1000000A1
Use the correct format: {country-code}{number}{kind-code} (e.g., EP1000000A1); refer to EPO OPS documentation for number formatting rules

Metadata Score Breakdown

Estimated from metadata — endpoint not independently tested

This score is estimated from observable metadata — HTTPS support, authentication model, declared CORS, and documentation reachability — because the API requires authentication or exposes no publicly testable endpoint. The five-signal breakdown is only shown for live-tested APIs.

Metadata estimate · endpoint not independently tested

Technical Specifications

Auth OAuth
HTTPS REQUIRED
CORS UNKNOWN
Category Patent
Difficulty Advanced
Verified: 2026-04-04

Similar APIs

View All →