Linked open EP data

API Overview

The EPO Linked Open EP Data service provides a web based API for querying and accessing the EP data. The API is intended for occasional light use.

The API enables data about specific resources such as an application, a publication or a vocabulary term to be retrieved. Simply use a web browser or other tool to dereference the URL that identifies the desired resource.

For example, clicking on this URL

will retrieve data about the EP patent with application number 81850042.

By default, a browser will specify to the API that it prefers to receive data in HTML format. By adding a short extension to the URL, the same data may be retrieved in a different format. For example

will retrieve the data as JSON and TURTLE formats respectively. JSON is a data format commonly used by web developers. TURTLE is a format commonly used to represent linked data. Alternatively, instead of specifying the format required in the URL, HTTP content negotiation may be used for the requester to agree the data format with the server.

Most of the features of the API are available through the features of the HTML pages returned by the API. A common way to become familiar with the API is to use the HTML pages to browse the data. Start with one of the endpoints listed in the menu bar above, and use the features of the retrieved pages to generate new requests to the API.

The API conforms to the Linked Data API specification. A list of API endpoints and example API requests can be found in the API Reference Documentation.

API Concepts

Endpoints

The API is divided into endpoints, each identified by a URI. An API request to an endpoint consists of an HTTP request, either a GET or a POST, to the endpoint's URI. The request may be modified by adding query parameters to the URI. Standard HTTP protocol features such as content negotiation are supported.

There are two kinds of endpoints. Item endpoints are used to retrieve data about a single resource such as a patent application and List endpoints are used to retrieve data about multiple resources. The resources to be selected are defined by the endpoint and can be filtered by adding query parameters.

Views

The data retrieved about each resource is determined by a view. Each endpoint has a default view, but this can be overridden by adding a query parameter to the request URL, for example:

The following views are defined in the API:

basic

This is a standard viewer. It returns minimal basic information about a resource, its URI, its type and label properties.

describe

This is also a standard viewer. It returns the values of all properties of a resource. If the value of any property is a so called anonymous resource, i.e. a resource that has no identifying URI, then the properties of that resource will also be returned. Adding the properties of anonymous resources is applied recursively. If any property of an anonymous property value itself has properties with anonymous values, then the properties of those anonymous resources are also returned, and so on. However, the properties of any anonymous resource will be returned only once in each request.

all

A standard viewer. Like the describe viewer, but also retrieves the label properties of all resources returned.

normal

A customised view for an individual endpoint. Supported by endpoints which do not return a lot of data for each resource.

short

A customised view for an individual endpoint. Supported by endpoints that return resources with a lot of properties, in which case the short view is normally the default view for a list endpoint.

full

A customised view for an individual endpoint. Supported by endpoints that return resources with a lot of properties, in which case the full view is normally the default view for for an item endpoint.

none

An empty view that returns no data. A request specifying the none view will return only data specified in request query parameters. Properties can be added to a view in the api request, so the 'none' view allows the requester complete control over what data is returned.

Query Parameters

Requests can be modified by adding query parameters to the request URL.

Filters

The resources returned by a request can be filtered. For example, the request

retrieves a list of applications. This can be restricted to EP applications by using a filter:

This request returns only applications where the authority is the EPO. In this example, the first term in the query parameter 'applicationAuthority' is a short name. A list of of short names for this api can found in the api reference page. The URL after the "=" is the URL used in the data to identify the EPO.

Short names can combined to produce a path to a property value. For example,

is an alternative API request that also returns a list of application with an applicationAuthority of the EPO.

Where the value of a property has a natural sort order, min and max filters can be used. For example:

returns applications which were filed on or after the 1st day of the millenium. To create a minimum or maximum value filter, prepend "min-" or "max-" respectively to a short name or path of short-names. Multiple filters can be specified in a request by specifying multiple parameters. This example specifies a range of filing dates:

Pagination

The number of resources that can be retrieved from a single request to a list endpoint is limited. The default limit is 10, but this can be increased up to a limit of 200 by setting the _page_size=nnn query parameter. For example, set the page size to 50

To retrieve the next 50 resources also set the _page parameter to 2

This feature can be used to page through a larger result set.

Sorting

Data retrieved from a list endpoint can be sorted by specifying an _sort query parameter. In practice, this feature can only be used if the total number of resources selected by the request is small because sorting large amounts of data takes a lot of processing. Requests to sort large amounts of data will likely time out.

This URL will retrieve EPO patent applications with an application date in the month of January 2016 sorted by application number.

Note that if a sort of the data is specified on a request, the sort occurs on all of the selected resources, not just the data in the page retrieved. Because of the length of time it would take, it is not possible to, for example, sort all the EPO applications and retrieve them page by page.