Skip to main content
A Colômbia conduziu a contratação pública em dois sistemas. O SECOP I (desde 2004) é um registro de publicação: a entidade envia o que fez. O SECOP II (desde 2015) é uma plataforma transacional: o processo acontece dentro dela. Ambos são administrados pela Colombia Compra Eficiente, ambos continuam recebendo registros, e publicam colunas diferentes, com palavras diferentes e em granularidades diferentes. A Croma serve ambos como um único corpus. Sete conjuntos de dados (processos, contratos, modificações de contratos, proponentes, fornecedores, sanções e planos anuais de aquisições) estão completos, mantidos em dia e respondidos com um vocabulário único, de modo que uma pergunta como “tudo o que esta empresa contratou com o Estado” é uma única chamada e não duas buscas em duas formas distintas. Cada resposta inclui as_of, até quando os dados estão em dia. Dois endpoints ainda leem a fonte ao vivo, porque respondem sobre um registro e não sobre o corpus: secop-process retorna um processo do SECOP II com suas adjudicações por fornecedor e seus contratos, e secop-contract retorna um contrato com suas adições, garantias e plano de entregas.

Processo por noticeUID

POST /co/secop/process/v1
O noticeUID é o identificador do aviso do processo, com o formato CO1.NTC.<number> (p. ex. CO1.NTC.9458505).

Contrato por id

POST /co/secop/contract/v1 Resolve um contrato eletrônico pelo seu id e anexa seu histórico satélite: adições/modificações registradas, apólices de garantia e o plano de entregas com avanço planejado vs real.
Retorna found, contract_id, contract (a mesma estrutura que contracts[] abaixo) e três listas, cada uma limitada a 200 com seu indicador *_capped:

Buscar processos

POST /co/secop/processes-search/v1 Dataset Busca todos os processos de contratação publicados no SECOP II e SECOP I como um único corpus. Os filtros se combinam livremente; query busca no nome, na descrição, na entidade e na referência do processo.
Retorna as_of (até quando os dados estão em dia), total, page, per_page, total_pages, count, os filtros como foram aplicados e results[]. Cada resultado é um registro de processo: seu id com prefixo de plataforma, a entidade compradora, o objeto, a modalidade e o tipo de contrato, os valores estimado e adjudicado, as datas, as contagens de competição que o SECOP II publica (invited_providers, unique_responding_providers, …) e a URL do processo. Use o id de um resultado com secop-process-record para lê-lo isoladamente, ou seu notice_uid com secop-process para a visão ao vivo com adjudicações e contratos.

Buscar contratos

POST /co/secop/contracts-search/v1 Dataset Busca todos os contratos assinados através do SECOP II e SECOP I como um único corpus. provider_document aceita um NIT ou cédula com ou sem pontos e dígito verificador: 900195855, 900.195.855-1 e 900195855-1 correspondem ao mesmo contratado.
Retorna as_of, os metadados de página, os filtros aplicados e results[]. Cada resultado é um registro de contrato com a entidade, o contratado e seu representante legal, o objeto, os valores (assinado, com adições, faturado, pago, pendente), a composição das fontes de financiamento, as datas, os marcadores de pós-conflito e Acordo de Paz, e quem o supervisiona. value é o valor na assinatura; value_with_additions é o valor pelo qual convém ordenar o gasto. Use o id de um resultado com secop-contract-record, ou seu contract_id com secop-contract para a visão ao vivo com adições, garantias e plano de entregas.

Buscar modificações de contratos

POST /co/secop/modifications-search/v1 Dataset Lista o que aconteceu com os contratos depois de assinados. Ordenar por value_desc com um piso em min_value é a forma mais direta de encontrar os contratos que mais cresceram após a adjudicação.
Retorna as_of, os metadados de página, os filtros aplicados e results[] com contract_id, kind, description, added_value, added_days e registered_date. O SECOP I registra suas adições contra a adjudicação e não contra a linha do contrato, portanto elas trazem contract_reference (o id de adjudicação, que um contrato reporta como award_id) em vez de contract_id.

Buscar fornecedores

POST /co/secop/suppliers-search/v1 Dataset O registro de fornecedores do SECOP II. query busca no nome, no documento e na descrição da categoria registrada.
Retorna as_of, os metadados de página, os filtros aplicados e results[] com o document do fornecedor, name, categoria, localização, dados de contato, representante legal e is_active. O SECOP I não tem registro de fornecedores próprio; um contratado do SECOP I aparece em secop-contracts-search mas não aqui.

Buscar proponentes

POST /co/secop/bidders-search/v1 Dataset Quem apresentou proposta em qual processo. O SECOP I também publica a nota e se o proponente venceu; o SECOP II publica apenas a participação, então lá score e awarded são nulos em vez de inferidos.
Retorna as_of, os metadados de página, os filtros aplicados e results[] com process_id, bidder, bidder_document, score, awarded e published_date.

Buscar sanções

POST /co/secop/sanctions-search/v1 Dataset Todo o registro de multas e sanções, consultável através de contratados e entidades em vez de um contratado por vez.
Retorna as_of, os metadados de página, os filtros aplicados e results[] com a entidade sancionadora, o contratado, o número da resolução, o contrato, o valor em COP, a data de publicação e a data em que a sanção transitou em julgado.

Buscar planos anuais de aquisições

POST /co/secop/plans-search/v1 Dataset A metade prospectiva da contratação colombiana: o que as entidades dizem que vão comprar, antes de os processos existirem.
Retorna as_of, os metadados de página, os filtros aplicados e results[] com a entidade, o ano, o orçamento total anunciado, os limites de menor e mínima quantia, a missão e perspectiva estratégica declaradas e o contato registrado.

Perfil por documento

POST /co/secop/profile/v1 Dataset Um documento, os dois lados do mercado. Um NIT pode ser contratado, entidade compradora ou ambos, e isto responde por tudo de uma vez.
As contagens são exatas; as listas são as maiores. as_contractor.contracts é o número real de contratos mesmo que largest_contracts traga cinco. Para percorrer o resto, use o document e chame secop-contracts-search. contracts_value é a soma dos contratos efetivamente retornados e nada mais. Não é um total histórico: um total sobre todos os contratos não é algo que este endpoint possa calcular, e um número inferido de uma página estaria errado na direção que ninguém verificaria. found: false significa que não há nada para esse documento. É uma resposta, não um erro: a maioria das cédulas nunca contratou com o Estado.

Buscar adjudicações

POST /co/secop/awards-search/v1 Dataset Cada fornecedor adjudicado em cada processo do SECOP II, na granularidade em que a fonte os publica. Uma linha do SECOP I já é uma adjudicação, com contratado e valor, portanto as adjudicações do SECOP I estão em secop-contracts-search.
Retorna as_of, os metadados de página, os filtros aplicados e results[] com process_id, notice_uid, a entidade, o fornecedor e seu documento, value e awarded_at. Use o process_id de um resultado com secop-process-record, ou seu notice_uid com secop-process para o processo com todas as suas adjudicações e contratos.

Ler um processo

POST /co/secop/process-record/v1 Dataset Retorna um único registro de processo pelo id que uma busca devolveu.
Retorna as_of, found, o record_id consultado e process. Um record_id que não corresponde a nada responde found: false com process nulo; isso é uma resposta, não um erro.

Ler um contrato

POST /co/secop/contract-record/v1 Dataset Retorna um único registro de contrato pelo id que uma busca devolveu.
Retorna as_of, found, o record_id consultado e contract. Um record_id que não corresponde a nada responde found: false com contract nulo.

Contratos por fornecedor

Este endpoint está descontinuado desde 2026-08-30 e deixará de responder em 2026-12-01. Use o seu sucessor, POST /co/secop/contracts-search/v1, no lugar.
POST /co/secop/contracts-by-provider/v1 Lista os contratos adjudicados a um fornecedor (cédula ou NIT) através de cada entidade contratante: o perfil do contratista.
Retorna document_number, os filtros aplicados (entity_nit, from_date, to_date), count, capped, contracts[] (a mesma estrutura de contrato que abaixo) e um objeto pagination (total, page_size, total_pages, page). Páginas de 500, os mais recentes primeiro; quando capped é true a página está cheia, então solicite a próxima page ou restrinja a busca.

Processos por entidade

Este endpoint está descontinuado desde 2026-08-30 e deixará de responder em 2026-12-01. Use o seu sucessor, POST /co/secop/processes-search/v1, no lugar.
POST /co/secop/processes-by-entity/v1 Lista os processos de contratação publicados por uma entidade contratante (por NIT), opcionalmente dentro de uma janela de data de publicação: a população a auditar de uma entidade. Retorna resumos leves; aprofunde em um deles com a consulta por noticeUID acima.
Retorna document_number, from_date, to_date, count, capped, processes[] (cada um com notice_uid, process_id, name, entity, entity_nit, modality, contract_type, base_price, phase, procedure_status, published_date e url) e um objeto pagination (total, page_size, total_pages, page). Páginas de 500, os mais recentes primeiro; quando capped é true a página está cheia, então solicite a próxima page.

Sanções por fornecedor

Este endpoint está descontinuado desde 2026-08-30 e deixará de responder em 2026-12-01. Use o seu sucessor, POST /co/secop/sanctions-search/v1, no lugar.
POST /co/secop/sanctions-by-provider/v1 Lista as multas e sanções registradas contra um contratista do Estado. Os registros cobrem desde 2010 até o presente.
Retorna document_number, count, capped e sanctions[], cada uma com entity, entity_nit, entity_level, entity_order, municipality, resolution_number, provider, contract_number, sanction_value, published_date, final_date (data de firmeza) e url.

Resposta

process

awards[]

Uma linha por fornecedor adjudicado (os acordos-quadro adjudicam a muitos):

contracts[]

Os valores vazios ou de preenchimento são normalizados para null. Os campos monetários e de contagem são números; as datas são yyyy-mm-dd.
Um processo também tem seções disponíveis apenas no próprio site do SECOP (Documentos Tipo, Cuestionario, Observaciones, downloads de documentos) ou em outros registros do SECOP (plano anual de aquisições, detalhe do orçamento). Essas não fazem parte destas respostas.

Referência completa

Esquemas, todos os campos de resposta e um playground interativo.