# APIs de CPF para empresas de distribuição de energia elétrica

> Veja como distribuidoras de energia elétrica podem usar APIs de CPF para validar titulares, prevenir fraudes e agilizar processos comerciais.

**Publicado:** 13/10/2025
**Autor:** Redação CPFHub.io
**URL:** https://cpfhub.io/blog/apis-de-cpf-para-empresas-de-distribuicao-de-energia-eletrica

---


Distribuidoras de energia elétrica usam APIs de CPF para confirmar a identidade do titular no momento da ligação nova, da transferência de titularidade e da negociação de débitos — prevenindo fraudes como cadastros falsos e transferências irregulares. A CPFHub.io fornece essa verificação via chamada GET simples, retornando nome e data de nascimento em ~900ms, com plano gratuito de 50 consultas mensais sem cartão.

## Introdução

As distribuidoras de energia elétrica atendem milhões de unidades consumidoras em todo o Brasil. Cada uma dessas unidades está vinculada a um titular -- pessoa física ou jurídica -- responsável pelo pagamento das faturas e pelo cumprimento das obrigações contratuais. A correta identificação desse titular é fundamental para a operação comercial da distribuidora.

A validação de CPF via API permite que distribuidoras confirmem a identidade de novos titulares no momento da ligação ou transferência de titularidade, reduzam fraudes no fornecimento de energia e mantenham cadastros atualizados e consistentes. A [**CPFHub.io**](https://www.cpfhub.io/) integra-se a sistemas comerciais existentes e retorna dados validados em tempo real, sem bloquear o fluxo de atendimento.

---
## O CPF nos processos comerciais de distribuidoras

O CPF do titular é utilizado em diversos processos:

- **Ligação nova** -- Quando um consumidor solicita uma nova ligação de energia, a distribuidora precisa do CPF para criar o cadastro do titular.
- **Transferência de titularidade** -- Quando o imóvel muda de proprietário ou locatário, a transferência da conta de energia exige a identificação do novo titular.
- **Negociação de débitos** -- A negociação de faturas em atraso exige a confirmação da identidade do titular para evitar fraudes.
- **Segunda via de conta** -- A emissão de segunda via online ou presencial pode exigir a confirmação do CPF do titular.
- **Geração distribuída** -- Consumidores que instalam painéis solares e se tornam micro ou minigeradores precisam ter o CPF validado para o cadastro junto à distribuidora.

---

## Fraudes comuns no setor elétrico

### Gato de energia com cadastro falso

Golpistas solicitam ligações de energia usando CPFs falsos ou de terceiros, consomem energia por meses sem pagar e abandonam o imóvel, deixando a dívida para a distribuidora.

### Transferência fraudulenta de titularidade

Para escapar de dívidas, consumidores inadimplentes transferem a titularidade para CPFs de terceiros (muitas vezes familiares ou pessoas desavisadas), zerando o histórico de débitos.

### Cadastro fantasma para geração distribuída

Fraudes em programas de geração distribuída envolvem a criação de cadastros com CPFs inexistentes para obter créditos de energia de forma irregular.

---

## Implementação com Python

O exemplo a seguir mostra como validar o CPF de um novo titular durante o processo de ligação nova.

```python
import requests
from datetime import datetime

CPFHUB_API_KEY = "sua_api_key_aqui"
CPFHUB_BASE_URL = "https://api.cpfhub.io/cpf"
TIMEOUT_SECONDS = 10

def solicitar_ligacao_nova(cpf: str, nome: str,
 endereco: str, classe: str) -> dict:
 """
 Processa uma solicitação de ligação nova após validar o CPF do titular.
 classe: residencial, comercial, industrial, rural
 """
 cpf_limpo = cpf.replace(".", "").replace("-", "")

 if len(cpf_limpo) != 11 or not cpf_limpo.isdigit():
 return {"aprovado": False, "motivo": "CPF com formato inválido"}

 headers = {
 "x-api-key": CPFHUB_API_KEY,
 "Accept": "application/json"
 }

 try:
 response = requests.get(
 f"{CPFHUB_BASE_URL}/{cpf_limpo}",
 headers=headers,
 timeout=TIMEOUT_SECONDS
 )
 response.raise_for_status()
 resultado = response.json()
 except requests.exceptions.Timeout:
 return {"aprovado": False, "motivo": "Timeout na validação"}
 except requests.exceptions.RequestException as e:
 return {"aprovado": False, "motivo": f"Erro: {str(e)}"}

 if not resultado.get("success"):
 return {"aprovado": False, "motivo": "CPF não encontrado na base"}

 dados = resultado["data"]
 nome_api = dados.get("nameUpper", "").strip()
 nome_titular = nome.strip().upper()

 if nome_api != nome_titular:
 return {
 "aprovado": False,
 "motivo": "Nome divergente do CPF informado",
 "nome_base": nome_api,
 "nome_informado": nome_titular
 }

 solicitacao = {
 "protocolo": f"LN-{datetime.now().strftime('%Y%m%d%H%M%S')}",
 "titular": {
 "cpf": dados["cpf"],
 "nome": dados["name"],
 "genero": dados["gender"],
 "data_nascimento": dados["birthDate"]
 },
 "endereco": endereco,
 "classe": classe,
 "data_solicitacao": datetime.now().isoformat(),
 "status": "em_analise"
 }

 return {"aprovado": True, "solicitacao": solicitacao}

# Exemplo de uso
resultado = solicitar_ligacao_nova(
 cpf="123.456.789-09",
 nome="Fernanda Costa Lima",
 endereco="Rua das Flores, 123, Bairro Centro, Cidade/UF",
 classe="residencial"
)

if resultado["aprovado"]:
 s = resultado["solicitacao"]
 print(f"Protocolo: {s['protocolo']}")
 print(f"Titular: {s['titular']['nome']}")
 print(f"Classe: {s['classe']}")
else:
 print(f"Solicitação negada: {resultado['motivo']}")
```

---

## Consulta via cURL

```bash
curl -X GET "https://api.cpfhub.io/cpf/12345678909" \
 -H "x-api-key: sua_api_key_aqui" \
 -H "Accept: application/json" \
 --max-time 10
```

Resposta:

```json
{
 "success": true,
 "data": {
 "cpf": "123.456.789-09",
 "name": "Fernanda Costa Lima",
 "nameUpper": "FERNANDA COSTA LIMA",
 "gender": "F",
 "birthDate": "20/09/1988",
 "day": "20",
 "month": "09",
 "year": "1988"
 }
}
```

---

## Transferência de titularidade com validação

A transferência de titularidade é um processo frequente em distribuidoras. A validação de CPF garante que o novo titular é uma pessoa real.

```javascript
const axios = require("axios");

const CPFHUB_API_KEY = "sua_api_key_aqui";
const CPFHUB_BASE_URL = "https://api.cpfhub.io/cpf";

async function transferirTitularidade(cpfNovoTitular, nomeNovoTitular,
 unidadeConsumidora) {
 const cpfLimpo = cpfNovoTitular.replace(/\D/g, "");

 try {
 const response = await axios.get(`${CPFHUB_BASE_URL}/${cpfLimpo}`, {
 headers: {
 "x-api-key": CPFHUB_API_KEY,
 Accept: "application/json"
 },
 timeout: 10000
 });

 const resultado = response.data;

 if (!resultado.success) {
 return {
 transferido: false,
 motivo: "CPF do novo titular não encontrado"
 };
 }

 const dados = resultado.data;
 const nomeApi = dados.nameUpper;
 const nomeComparacao = nomeNovoTitular.toUpperCase().trim();

 if (nomeApi !== nomeComparacao) {
 return {
 transferido: false,
 motivo: "Nome do novo titular diverge do CPF"
 };
 }

 return {
 transferido: true,
 unidadeConsumidora: unidadeConsumidora,
 novoTitular: {
 cpf: dados.cpf,
 nome: dados.name,
 dataNascimento: dados.birthDate
 },
 dataTransferencia: new Date().toISOString()
 };
 } catch (error) {
 if (error.code === "ECONNABORTED") {
 return { transferido: false, motivo: "Timeout na validação" };
 }
 return { transferido: false, motivo: error.message };
 }
}

// Exemplo de uso
(async () => {
 const resultado = await transferirTitularidade(
 "123.456.789-09",
 "Fernanda Costa Lima",
 "UC-0012345678"
 );

 if (resultado.transferido) {
 console.log(`Titularidade transferida para: ${resultado.novoTitular.nome}`);
 console.log(`UC: ${resultado.unidadeConsumidora}`);
 } else {
 console.log(`Transferência negada: ${resultado.motivo}`);
 }
})();
```

---

## Regulamentação do setor elétrico

Distribuidoras de energia são reguladas pela ANEEL (Agência Nacional de Energia Elétrica), que estabelece normas para a relação com os consumidores. A Resolução Normativa ANEEL 1.000/2021 define os procedimentos para ligação, desligamento e transferência de titularidade, e exige a correta identificação do titular da unidade consumidora.

A validação de CPF via API contribui para o cumprimento dessas normas ao garantir que os dados cadastrais dos consumidores são consistentes e verificáveis.

---

## Boas práticas para distribuidoras

- **Validação obrigatória em ligações novas** -- Nunca crie uma unidade consumidora sem validar o CPF do titular.
- **Verificação em transferências** -- Confirme a identidade do novo titular antes de efetivar a transferência.
- **Atualização cadastral periódica** -- Realize campanhas de atualização cadastral validando CPFs da base existente.
- **Integração com sistemas comerciais** -- Conecte a validação de CPF aos sistemas SAP, TOTVS ou outros ERPs utilizados pela distribuidora.
- **Canal de atendimento presencial** -- Em agências de atendimento, integre a validação ao fluxo do atendente para que a consulta seja feita em tempo real.

---

## Perguntas frequentes

### O que é necessário para implementar validação de CPF neste contexto?
A validação de CPF exige uma chamada à API com o número do documento e a chave de autenticação. A CPFHub.io retorna o status do CPF, nome do titular e data de nascimento em menos de 200ms, permitindo a verificação em tempo real durante o cadastro ou transação.

### A API CPFHub.io funciona para todos os volumes de consulta?
Sim. O plano gratuito oferece 50 consultas por mês sem cartão de crédito — ideal para testes e projetos pequenos. Para volumes maiores, o plano Pro inclui 1.000 consultas mensais por R$149. Se o limite for ultrapassado, a API não bloqueia: cobra R$0,15 por consulta adicional.

### Como garantir conformidade com a LGPD ao usar uma API de CPF?
Use o CPF apenas para a finalidade declarada ao titular, armazene apenas o necessário (não guarde o CPF cru se um token bastar), implemente controle de acesso aos logs de consulta e documente a base legal para o tratamento. A [ANPD](https://www.gov.br/anpd/) orienta que dados de identificação devem ser tratados com o princípio da necessidade.

### Quanto tempo leva para integrar a API CPFHub.io?
A integração básica leva menos de 30 minutos: crie uma conta em cpfhub.io, gere a API key no painel e faça uma chamada GET para `https://api.cpfhub.io/cpf/{CPF}` com o header `x-api-key`. A documentação inclui exemplos em Python, Node.js, PHP, Java e outras linguagens.

### Leia também

- [Diferença entre validação de CPF e consulta de CPF: quando usar cada uma](https://cpfhub.io/blog/diferenca-entre-validacao-de-cpf-e-consulta-de-cpf-quando-usar-cada-uma)
- [API de CPF grátis para desenvolvedores: como começar em 5 minutos](https://cpfhub.io/blog/api-cpf-gratis-desenvolvedores-comecar-5-minutos)
- [Onboarding digital em fintechs: como validar CPF em menos de 30 segundos](https://cpfhub.io/blog/onboarding-digital-em-fintechs-como-validar-cpf-em-menos-de-30-segundos)
- [KYC no Brasil: quais setores são obrigados a validar CPF por lei](https://cpfhub.io/blog/kyc-no-brasil-quais-setores-sao-obrigados-a-validar-cpf-por-lei)

---

## Conclusão

A validação de CPF via API é uma ferramenta essencial para distribuidoras de energia elétrica que buscam reduzir fraudes, manter cadastros consistentes e cumprir as normas da ANEEL.

Cadastre-se em [cpfhub.io](https://www.cpfhub.io/) — 50 consultas mensais gratuitas, sem cartão de crédito — e comece hoje mesmo.

