O CEPIM (Cadastro de Entidades Privadas Sem Fins Lucrativos Impedidas) é um banco de dados mantido pela Controladoria-Geral da União (CGU) que reúne informações sobre entidades privadas sem fins lucrativos (ONGs, OSCIPs, associações, fundações, etc.) que estão impedidas de celebrar convênios, contratos de repasse ou termos de parceria com a Administração Pública Federal.
O impedimento decorre, em geral, de:
Inadimplência na prestação de contas de convênios anteriores
Irregularidades na execução de recursos federais
Omissão no dever de prestar contas no prazo legal
O CEPIM é uma ferramenta fundamental para evitar que entidades com histórico de irregularidades continuem recebendo recursos públicos. Dado que o terceiro setor é frequentemente utilizado como canal de repasse de recursos de emendas parlamentares, esse cadastro é especialmente relevante para investigações sobre desvio de verbas.
def verificar_entidade(cnpj: str): """ Verifica se uma entidade sem fins lucrativos está impedida. Args: cnpj: CNPJ da entidade (apenas números) Returns: True se a entidade estiver impedida, False caso contrário """ resultado = consultar_cepim(cnpj=cnpj) if resultado: print(f"ALERTA: Entidade {cnpj} encontrada no CEPIM!") for r in resultado: print(f" Nome: {r.get('nomeSancionado', 'N/A')}") print(f" Motivo: {r.get('motivoImpedimento', 'N/A')}") print(f" Convênio: {r.get('convenio', 'N/A')}") print(f" Órgão concedente: {r.get('orgaoConcedente', 'N/A')}") return True else: print(f"Entidade {cnpj} NÃO consta no CEPIM.") return Falseverificar_entidade("00000000000191")
import requestsimport pandas as pdAPI_KEY = "SEU_TOKEN_AQUI"BASE_URL = "https://api.portaldatransparencia.gov.br/api-de-dados"headers = {"chave-api-dados": API_KEY, "Accept": "application/json"}# 1. Obter entidades impedidasresp_cepim = requests.get( f"{BASE_URL}/cepim", headers=headers, params={"pagina": 1})impedidas = pd.DataFrame(resp_cepim.json())if not impedidas.empty: print(f"Entidades impedidas: {len(impedidas)}") # 2. Os CNPJs das entidades impedidas podem ser cruzados com # dados de emendas parlamentares e convênios para verificar # se há repasses irregulares cnpjs_impedidos = impedidas["cnpjSancionado"].unique() print(f"CNPJs únicos impedidos: {len(cnpjs_impedidos)}") # 3. Próximo passo: verificar na Receita Federal quem são os # dirigentes dessas entidades e cruzar com dados do TSE print("Próximo passo: consultar QSA na Receita Federal")