Skip to main content
A Controladoria-Geral da União mantém os cadastros federais de integridade do Brasil, que todo comprador público e a maioria das equipes de compliance consultam antes de negociar com uma empresa: o CEIS, as empresas e pessoas impedidas de contratar com a administração pública por qualquer órgão federal, estadual ou municipal; o CNEP, as empresas punidas pela Lei Anticorrupção (12.846/2013); o CEAF, os servidores públicos federais expulsos; o CEPIM, as entidades sem fins lucrativos impedidas de receber transferências federais; e os acordos de leniência que as empresas firmaram com a CGU. Cerca de 33.000 sanções no total. Uma única busca sobre os cinco cadastros, por nome, CNPJ ou CPF, cadastro, tipo de parte e estado do órgão sancionador, atualizada todos os dias. Uma sanção que a CGU retira deixa de aparecer no mesmo dia.
A fonte inteira, organizada e pronta para consultar: cada endpoint desta página responde em milissegundos. Cada resposta traz as_of: o quão atuais são os dados. Como funcionam os datasets.

Buscar sanções

POST /br/cgu/sanctions-search/v1 Dataset Busca nos cinco cadastros por qualquer combinação de nome, CNPJ ou CPF, cadastro, tipo de parte e estado do órgão sancionador.
Retorna as_of (o quão atuais são os dados), os filtros aplicados, total (correspondências em todas as páginas), page, per_page, total_pages, count e sanctions[], por nome. Uma parte com várias sanções tem várias. Cada sanção traz id (a chave, p. ex. ceis-72529), list (ceis, cnep, ceaf, cepim ou leniency), sanction_code (o código da própria CGU), party_type (individual ou company), document_type (cpf, cnpj ou foreign), document (um CNPJ completo, um CPF mascarado como a CGU o mascara, ***.456.789-**), name, names[] (todos os nomes que o cadastro dá à parte), sanction_type, start_date, end_date, publication_date, final_judgment_date, information_date (todas yyyy-mm-dd), publication, publication_detail, scope, sanctioning_body, sanctioning_body_state (o estado do órgão, não o da parte), sanctioning_body_sphere (federal, state ou municipal), legal_basis, process_number, information_source, notes, fine_amount (reais, multas do CNEP), reason (por que uma entidade sem fins lucrativos está impedida), public_servant ({ position, role, unit, act_number }, só CEAF) e agreement ({ status, terms, effects[] }, só acordos de leniência). Os campos vazios são null. Os valores ficam em português, como a CGU os escreve.
query cobre todos os nomes que o cadastro dá à parte (como foi sancionada, como o órgão sancionador a informou, e a razão social e o nome fantasia da empresa), palavra por palavra e sem stemming. document_number é uma correspondência exata sobre um CNPJ ou um CPF; os CPFs voltam mascarados. Atualizado diariamente.
Uma sanção no cadastro está vigente: a CGU a retira quando termina, e ela deixa de aparecer aqui no mesmo dia. Um end_date passado não significa que tenha terminado; uma declaração de inidoneidade, por exemplo, dura até a reabilitação da empresa.

Uma sanção

POST /br/cgu/sanction/v1 Dataset Resolve uma sanção pelo seu id e retorna o registro completo.
Retorna found, id, as_of e sanction (null quando não encontrada). Cada sanção traz id (a chave, p. ex. ceis-72529), list (ceis, cnep, ceaf, cepim ou leniency), sanction_code (o código da própria CGU), party_type (individual ou company), document_type (cpf, cnpj ou foreign), document (um CNPJ completo, um CPF mascarado como a CGU o mascara, ***.456.789-**), name, names[] (todos os nomes que o cadastro dá à parte), sanction_type, start_date, end_date, publication_date, final_judgment_date, information_date (todas yyyy-mm-dd), publication, publication_detail, scope, sanctioning_body, sanctioning_body_state (o estado do órgão, não o da parte), sanctioning_body_sphere (federal, state ou municipal), legal_basis, process_number, information_source, notes, fine_amount (reais, multas do CNEP), reason (por que uma entidade sem fins lucrativos está impedida), public_servant ({ position, role, unit, act_number }, só CEAF) e agreement ({ status, terms, effects[] }, só acordos de leniência). Os campos vazios são null. Os valores ficam em português, como a CGU os escreve.
Um id que nenhum cadastro tem retorna found: false com HTTP 200, não um erro. Essa é também a resposta para uma sanção que a CGU retirou.

Referência completa

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