Skip to main content
Resolves Colombian public-procurement records from SECOP II (Sistema Electrónico de Contratación Pública), run by Colombia Compra Eficiente. Given the noticeUID of a process, it returns the process header, the per-provider award list, and every contract awarded under it. Companion endpoints search by provider or entity, drill into one contract (with its additions, guarantees, and delivery plan), and list fines and sanctions against a contractor. The data comes from Colombia Compra Eficiente’s official publication of the SECOP II records. The awarded contracts come from the official contract records, which are authoritative for who actually won (the process record’s own award fields can lag).

Process by notice

POST /co/secop/process/v1
The noticeUID is the process’s notice identifier, formatted like CO1.NTC.<number> (e.g. CO1.NTC.9458505).

Contracts by provider

POST /co/secop/contracts-by-provider/v1 Lists the contracts awarded to one provider (cédula or NIT) across every contracting entity: the contractor profile.
Returns document_number, the echoed filters (entity_nit, from_date, to_date), count, capped, contracts[] (same contract shape as below), and a pagination object (total, page_size, total_pages, page). Pages of 500, newest first; when capped is true the page is full, so request the next page or narrow the search.

Processes by entity

POST /co/secop/processes-by-entity/v1 Lists the procurement processes published by one contracting entity (by NIT), optionally within a publication-date window: the audit population for an entity. Returns lean summaries; drill into one with the by-notice lookup above.
Returns document_number, from_date, to_date, count, capped, processes[] (each with notice_uid, process_id, name, entity, entity_nit, modality, contract_type, base_price, phase, procedure_status, published_date, and url), and a pagination object (total, page_size, total_pages, page). Pages of 500, newest first; when capped is true the page is full, so request the next page.

Contract by id

POST /co/secop/contract/v1 Resolves one electronic contract by its id and attaches its satellite history: registered additions/modifications, insurance policies (garantías), and the delivery plan with planned vs actual progress.
Returns found, contract_id, contract (same shape as contracts[] below), and three lists, each capped at 200 with a matching *_capped flag:

Sanctions by provider

POST /co/secop/sanctions-by-provider/v1 Lists the fines and sanctions (multas y sanciones) recorded against one state contractor. Records span 2010 to the present.
Returns document_number, count, capped, and sanctions[], each with entity, entity_nit, entity_level, entity_order, municipality, resolution_number, provider, contract_number, sanction_value, published_date, final_date (fecha de firmeza), and url.

Response

process

awards[]

One row per awarded provider (framework agreements award many):

contracts[]

Empty and placeholder values are normalized to null. Monetary and count fields are numbers; dates are yyyy-mm-dd.
A process also has sections available only on SECOP’s own site (Documentos Tipo, Cuestionario, Observaciones, document downloads) or in other SECOP records (plan anual de adquisiciones, presupuesto detail). Those are not part of these responses.

Full reference

Schemas, response fields, and an interactive playground.