OpenOpps logo
The OpenOpps API provides access to tender and contract data from a range of European government bodies. The data is formatted according to the Open Contracting Data Standard (OCDS), a data format that is focused on enabling the disclosure of data and documents at all stages of the contracting process. OCDS was initially release in November 2014, and is being adopted by the Open Contracting Partnership.

The OCDS standard was created mostly to support organisations to increase contracting transparency, and allow deeper analysis of contracting data by a wide range of users, and is very much inline with the general objectives of the TheyBuyForYou project.

Among the main data offered by the API for a given tender, you can find information about the parties involved in the contracting process, the planning about the process (including goals, budgets, projects to which the contracting process relates to), core information about the tender, information on the awards made as part of the contracting process, and details on the implementation of each contract towards completion.

All API calls return JSON, for example the response to is:

JSON code from OpenOpps API

Partial output from OpenOpps API.

The endpoint for the API is, and it is particularly deployed for the TheyBuyForYour at An account is necessary in order to make use of the API, which needs to be requested to the OpenOpps support team. Once an account is available, the API can be authenticated using JSON Web Tokens (JWT).

Main API characteristics

Identifiers. Resources are identified using an OpenOpps URI, which is composed by a base URI and the Open Contracting ID (OCID). For example click here to see the HTML record for the tender: OCID ocds-0c46vo-0009-DN337739-1 (click here to access this data in the OpenOpps API). Please note: no content negotiation is provided in these URLs.

Versioning. The API does not currently support versioning.

Pagination. Those calls returning a number of results (e.g., OCDS searches) return a paginated response. By default, 10 objects are returned (although this can be further specified with the parameter page_size), together with a link to the next page. The page parameter allows establishing the page number that we may want to return (e.g., ?page=4 to access page number 4).

Provenance. The information about every tender is obtained from a source that is specified inside the core JSON object using the parameter “source”(e.g., “source”:”td_due_north_newsite”).

Filters. Different types of filters can be applied as parameters to the search related method calls in the API: OCID, source, country name, release date (which can be also specified as a range), end date (which can be also specified as a range). Filters are case sensitive.

Search results. All method calls that return search results can be ordered by the following parameters: source, publication date, OCID and creation date.