A Colômbia registra suas contratações públicas em dois sistemas, e os dois continuam ativos. O SECOP I, desde 2004, é um registro de publicação: a entidade publica o que fez. O SECOP II, desde 2015, é uma plataforma transacional: o processo acontece dentro dela. Eles publicam colunas diferentes, com palavras diferentes e em granularidades diferentes.
Isso transformava qualquer pergunta séria em duas. "Tudo o que esta empresa já contratou com o Estado" significava buscar duas vezes e depois conciliar dois formatos que não coincidem em um único campo.
A partir de hoje, eles são um só corpus, com um só vocabulário.
Dez datasets#
| Dataset | O que contém |
|---|---|
processes | Todos os processos de compra, dos dois sistemas |
contracts | Todos os contratos assinados, dos dois sistemas |
awards | Cada fornecedor adjudicado, não só o primeiro |
modifications | Aditivos e prorrogações posteriores à assinatura |
guarantees | As apólices que garantem os contratos |
deliveries | O cronograma de entregas: o que foi prometido e o que chegou |
bidders | Quem participou de cada processo, inclusive os que perderam |
suppliers | O cadastro de fornecedores do SECOP II |
sanctions | Multas e sanções aplicadas a contratados |
plans | O plano anual de aquisições de cada entidade |
Um contrato do SECOP I e um do SECOP II voltam com os mesmos nomes de campo. O documento do contratado é armazenado em um formato único, então tanto faz se você escreve 1234567890, 1234567890-1 ou 1.234.567.890-1: os três encontram os mesmos registros. Cada resposta traz as_of, que diz até quando os dados estão atualizados.
Um NIT, uma chamada#
A pergunta mais comum sobre contratação pública também é a mais trabalhosa de montar: o que esta empresa já fez com o Estado. Antes, eram quatro buscas e uma conciliação na mão. Agora é uma só:
curl https://api.croma.run/co/secop/profile/v1 \
-H "Authorization: Bearer $CROMA_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "document": "1234567890" }'Devolve a conta de fornecedor, se existir, quantos contratos foram assinados e os maiores deles, quantas adjudicações foram ganhas, de quantos processos participou e todas as sanções registradas. Se o documento for de uma entidade pública, responde também pelo outro lado do mercado: quanto ela comprou e quantos processos publicou.
As contagens são exatas. As listas trazem só os maiores, e o nome do campo deixa isso claro: contracts pode ser 412 enquanto largest_contracts traz cinco. Para percorrer o resto, use a busca de contratos com o mesmo documento.
O que você pode perguntar agora#
Busca por texto livre sobre o objeto do que está sendo comprado, combinável com a entidade, o departamento, a modalidade, o tipo de contrato, a categoria, o ano, um intervalo de datas e uma faixa de valores. Ordenável por valor:
curl https://api.croma.run/co/secop/contracts-search/v1 \
-H "Authorization: Bearer $CROMA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"query": "recolección de residuos",
"department": "Antioquia",
"year": 2025,
"sort": "value_desc"
}'Duas perguntas que antes não tinham resposta:
Quem mais participou. bidders é a única visão publicada dos licitantes que perderam, então dá para medir o quanto um processo foi disputado em vez de supor.
Quais contratos cresceram depois de adjudicados. modifications-search ordenado por valor, com um piso, é a forma mais direta de encontrá-los.
Tudo isso também está no MCP, com os mesmos nomes e os mesmos filtros.
Endpoints que serão desativados#
Três endpoints respondiam, cada um, a uma única pergunta sobre o SECOP II. A busca que substitui cada um deles responde à mesma pergunta nos dois sistemas, com filtros, paginação e ordenação. Eles continuam funcionando até 1º de dezembro de 2026:
| Será desativado | Use no lugar |
|---|---|
secop-contracts-by-provider | secop-contracts-search |
secop-processes-by-entity | secop-processes-search |
secop-sanctions-by-provider | secop-sanctions-search |
A documentação tem o detalhe de cada campo, e a página da fonte resume o que o SECOP publica e desde quando.