Skip to content
jatorre edited this page Sep 14, 2010 · 3 revisions

The OpenProcurement API allows developers to build applications to access Procurement processes such as construction works, services, etc. that are published in Government Procurement websites, like contrataciondelestado.es.

Vocabularies and standard

The OpenProcurement API is based on the CODICE 2.0 standard created by the spanish government. Read more about it

Why is OpenProcurement API necessary if we already have CODICE?

The CODICE standard defines a set of XML documents and vocabularies to describe the whole Procurement process, from the Call for tenders to the Contract Award Notice. It allows the different actors on the procurement process to “speak” in the same language. But what it does not describe is how this language should be used. If you go for example to contrataciondelestado.es you will be able to download CODICE XML documents for almost all processes within the Procurement process, but the way to get to this information is not standard. Some procurement websites have RSS feeds, some allow download dumps… etc. At the end of the day if you want to access multiple Procurement websites programmatically there is no standard way to do it, and therefore specific parsers and scraping tools had to be developed for each platform.

The OpenProcurement API defines a set of standard web services calls that can be used to access to the information. The data transfered on those web services will be using the vocabularies and schemas, when possible, of the CODICE standard. Therefore CODICE is the language and OpenProcurement API is the way to talk this language.

Right now there is no Procurement Government website that support OpenProcurementAPI, but we hope to find departments interested in supporting it. If you have any question write us at jatorre@vizzuality.com

Road map of OpenProcurementAPI

This API was created after the first version of gastopublico.es was created. After dealing with tenths of procurement websites, all talking about the same thing, but all implemented in a different way, we realize the need to work on standardization. The website gastopublico.es only deals with Contracts awarded, because its main purpose is to understand how the government spends its money and which companies get it. Therefore the first version of the OpenProcurement API is only focus on the Contract Award notices, but this should be expanded to cover the whole Procurement process if possible.

Internationalization and Encoding

Date/time format

All date/time fields must be formatted in a common subset of ISO 8601 as per the [http://www.w3.org/TR/NOTE-datetime w3 note].
Timezone information (either Z meaning UTC, or an HH:MM offset from UTC) ’’’must’’’ be included.

Examples:

  • 1994-11-05T08:15:30-05:00 corresponds to November 5, 1994, 8:15:30 am, US Eastern Standard Time.
  • 1994-11-05T13:15:30Z corresponds to the same instant.

Encoding

UTF-8 is required everywhere.

All text returned by the service, whether in XML, JSON, or any other text-based content-type, MUST be encoded as UTF-8. Appropriate HTTP headers must be set, and the XML root element must contain the appropriate encoding=“UTF-8” attribute. All text received by the service from the client will be assumed to be UTF-8 and must be decoded accordingly.

Definitions

  • Call for tenders
  • Tender
  • Awarded Notification