Skip to main content
La Controladoria-Geral da União lleva los registros federales de integridad de Brasil, que todo comprador público y la mayoría de los equipos de cumplimiento consultan antes de tratar con una empresa: CEIS, las empresas y personas impedidas de contratar con el Estado por cualquier órgano federal, estatal o municipal; CNEP, las empresas sancionadas bajo la Ley Anticorrupción (12.846/2013); CEAF, los servidores públicos federales expulsados; CEPIM, las entidades sin fines de lucro impedidas de recibir transferencias federales; y los acuerdos de lenidad que las empresas firmaron con la CGU. Unas 33.000 sanciones en total. Una sola búsqueda sobre los cinco registros, por nombre, CNPJ o CPF, registro, tipo de parte y estado del órgano sancionador, actualizada cada día. Una sanción que la CGU retira deja de aparecer ese mismo día.
La fuente entera, organizada y lista para consultar: cada endpoint de esta página responde en milisegundos. Cada respuesta incluye as_of: qué tan actualizados están los datos. Cómo funcionan los datasets.

Buscar sanciones

POST /br/cgu/sanctions-search/v1 Dataset Busca en los cinco registros por cualquier combinación de nombre, CNPJ o CPF, registro, tipo de parte y estado del órgano sancionador.
Devuelve as_of (qué tan actualizados están los datos), los filtros aplicados, total (coincidencias en todas las páginas), page, per_page, total_pages, count y sanctions[], por nombre. Una parte con varias sanciones tiene varias. Cada sanción incluye id (la clave, p. ej. ceis-72529), list (ceis, cnep, ceaf, cepim o leniency), sanction_code (el código de la propia CGU), party_type (individual o company), document_type (cpf, cnpj o foreign), document (un CNPJ completo, un CPF enmascarado como lo enmascara la CGU, ***.456.789-**), name, names[] (todos los nombres que el registro da a la 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 (el estado del órgano, no el de la parte), sanctioning_body_sphere (federal, state o municipal), legal_basis, process_number, information_source, notes, fine_amount (reales, multas del CNEP), reason (por qué una entidad sin fines de lucro está impedida), public_servant ({ position, role, unit, act_number }, solo CEAF) y agreement ({ status, terms, effects[] }, solo acuerdos de lenidad). Los campos vacíos son null. Los valores quedan en portugués, como los escribe la CGU.
query cubre todos los nombres que el registro da a la parte (como fue sancionada, como la reportó el órgano sancionador, y la razón social y el nombre comercial de la empresa), palabra por palabra y sin lematización. document_number es una coincidencia exacta sobre un CNPJ o un CPF; los CPF vuelven enmascarados. Se actualiza a diario.
Una sanción en el registro está vigente: la CGU la retira cuando termina, y deja de aparecer aquí ese mismo día. Un end_date pasado no significa que haya terminado; una declaración de inidoneidad, por ejemplo, dura hasta que la empresa se rehabilita.

Una sanción

POST /br/cgu/sanction/v1 Dataset Resuelve una sanción por su id y devuelve el registro completo.
Devuelve found, id, as_of y sanction (null cuando no se encuentra). Cada sanción incluye id (la clave, p. ej. ceis-72529), list (ceis, cnep, ceaf, cepim o leniency), sanction_code (el código de la propia CGU), party_type (individual o company), document_type (cpf, cnpj o foreign), document (un CNPJ completo, un CPF enmascarado como lo enmascara la CGU, ***.456.789-**), name, names[] (todos los nombres que el registro da a la 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 (el estado del órgano, no el de la parte), sanctioning_body_sphere (federal, state o municipal), legal_basis, process_number, information_source, notes, fine_amount (reales, multas del CNEP), reason (por qué una entidad sin fines de lucro está impedida), public_servant ({ position, role, unit, act_number }, solo CEAF) y agreement ({ status, terms, effects[] }, solo acuerdos de lenidad). Los campos vacíos son null. Los valores quedan en portugués, como los escribe la CGU.
Un id que ningún registro tiene devuelve found: false con HTTP 200, no un error. Esa es también la respuesta para una sanción que la CGU retiró.

Referencia completa

Esquemas, todos los campos de respuesta y un playground interactivo.