Colombia
SECOP

SECOP Processes Search

Search every Colombian public procurement process from SECOP II (2015 onward) and SECOP I (2004 onward) in one place. Full-text over what is being bought, plus filters on the buying entity's NIT, department, modality, contract type, status, UNSPSC category, year, publication-date range, estimated value and whether the process was awarded. Answers in milliseconds and covers both systems at once; use secop-process when you have a noticeUID and want one process with its awards and contracts.

Dataset endpoint: answers from the whole source in milliseconds and carries as_of.

post/co/secop/processes-search/v1

Request

  • Base URL: https://api.croma.run
  • URL: https://api.croma.run/co/secop/processes-search/v1
  • Auth: HTTP bearer

Headers

Idempotency-Keystring
Example:0f8e9a42-6b7c-4d1e-9a3f-2c5d7e8f9a0b

Optional client-chosen key for this request (any string up to 255 characters, e.g. a UUID). Every Croma operation is an idempotent lookup: repeating a request with the same body returns the same result and creates nothing, so retrying after a timeout or network failure is always safe. The key is echoed back in the Idempotency-Key response header so you can correlate a retry with its first attempt. Each attempt that reaches the API counts against the rate limit.

Request body

querystring

Optional search terms matched against the free text of the record (what is being bought, the entity and the supplier). Leave empty to filter without searching.

platform'any' | 'secop_i' | 'secop_ii'

Restrict to one system: secop_ii (the transactional platform, 2015 onward), secop_i (the publication register, 2004 onward), or any for both.

entity_nitstring

Optional document filter: a NIT or a cédula, with or without dots and verification digit (900195855, 900.195.855-1 and 900195855-1 all match the same records).

departmentstring

Optional department of the contracting entity, as SECOP writes it (Antioquia, Bogotá D.C., ...). Empty for the whole country.

modalitystring

Optional modalidad de contratación, exactly as SECOP writes it (Contratación directa, Licitación pública, Mínima cuantía, ...). Empty for every modality.

contract_typestring

Optional tipo de contrato, exactly as SECOP writes it (Prestación de servicios, Obra, Suministros, ...). Empty for every type.

statusstring

Optional estado, exactly as SECOP writes it (Adjudicado, Celebrado, En ejecución, Terminado, ...). Empty for every status.

unspsc_codestring

Optional main UNSPSC category code of the purchase (V1.80101500). Empty for every category.

yearinteger

Optional calendar year. 0 searches every year.

from_datestring date

Optional date filter in yyyy-mm-dd format.

to_datestring date

Optional date filter in yyyy-mm-dd format.

min_valuenumber

Optional lower bound on the amount, in COP. 0 means no lower bound.

max_valuenumber

Optional upper bound on the amount, in COP. 0 means no upper bound.

sort'recent' | 'oldest' | 'value_desc' | 'value_asc'

Order of the results: recent (newest first, the default), oldest, value_desc (largest amount first) or value_asc.

pageinteger

1-based page number for paginated results.

per_pageinteger

Results per page (1-100).

awarded'any' | 'yes' | 'no'

Restrict to processes that reached an award (yes), that did not (no), or any. Processes whose outcome the source does not state are excluded by yes and no alike.

Response

Successful response

Changes

No recorded changes to this operation across all 1 revision of this API.