Validar CPF em marketplaces de usados como OLX e Enjoei é a forma mais direta de combater vendedores fantasma, compradores fraudulentos e contas múltiplas. Com a API do CPFHub.io, a plataforma confirma em ~900ms que o CPF informado corresponde a uma pessoa real — retornando nome, gênero e data de nascimento —, permitindo emitir selos de identidade verificada que aumentam a confiança entre compradores e vendedores.
Introdução
Marketplaces de produtos usados movimentam bilhões de reais no Brasil. Plataformas como OLX, Enjoei, Mercado Livre e outras conectam milhões de compradores e vendedores todos os dias. Porém, o ambiente de compra e venda entre pessoas físicas é terreno fértil para fraudes -- desde anúncios falsos até golpes elaborados envolvendo identidades fictícias.
A validação de CPF é uma das formas mais eficazes de combater esse tipo de fraude. Ao confirmar que o CPF de um vendedor ou comprador é válido e corresponde a uma pessoa real, a plataforma adiciona uma camada essencial de segurança que protege todos os participantes da transação.
Os principais golpes em marketplaces de usados
Antes de abordar a solução, é importante entender os golpes mais comuns:
Vendedor fantasma
O golpista cria uma conta com dados falsos, anuncia produtos atraentes a preços baixos, recebe o pagamento e desaparece. Sem validação de CPF, a plataforma não tem como rastrear o responsável.
Comprador fraudulento
O golpista simula um pagamento (via comprovante falso ou estorno posterior), recebe o produto e some. Com CPF validado, a plataforma pode identificar e bloquear reincidentes.
Múltiplas contas
Usuários banidos criam novas contas com CPFs diferentes -- às vezes inventados ou de terceiros. A validação via API impede o uso de CPFs inexistentes e dificulta a criação de contas falsas.
Roubo de identidade
Golpistas utilizam CPFs roubados para criar contas e aplicar golpes, prejudicando tanto as vítimas quanto a reputação da plataforma.
Fluxo de validação para marketplaces
Um fluxo seguro de validação de CPF em marketplaces deve incluir:
- O usuário se cadastra informando CPF, nome completo e outros dados.
- O sistema válida o formato do CPF.
- A API do CPFHub é consultada para confirmar a existência do CPF.
- O nome retornado pela API é comparado com o nome informado.
- Se houver correspondência, a conta é ativada e o usuário recebe um selo de "identidade verificada".
- Se houver divergência, o cadastro fica pendente até verificação manual.
Para vendedores, a validação pode ser obrigatória antes da publicação do primeiro anúncio. Para compradores, pode ser exigida antes da primeira compra acima de determinado valor.
Implementação com Node.js
O exemplo a seguir mostra como implementar a validação de CPF em um marketplace de usados utilizando Node.js.
const axios = require("axios");
const CPFHUB_API_KEY = "sua_api_key_aqui";
const CPFHUB_BASE_URL = "https://api.cpfhub.io/cpf";
async function validarUsuarioMarketplace(cpf, nomeInformado, tipoUsuario) {
const cpfLimpo = cpf.replace(/\D/g, "");
if (cpfLimpo.length !== 11) {
return { verificado: false, motivo: "CPF inválido" };
}
// Verificar se CPF já está associado a outra conta
const contaExistente = await verificarCpfDuplicado(cpfLimpo);
if (contaExistente) {
return {
verificado: false,
motivo: "CPF já associado a outra conta na plataforma"
};
}
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 { verificado: false, motivo: "CPF não encontrado na base" };
}
const dados = resultado.data;
const nomeApi = dados.nameUpper;
const nomeComparacao = nomeInformado.toUpperCase().trim();
if (nomeApi !== nomeComparacao) {
return {
verificado: false,
motivo: "Nome não confere com o CPF informado"
};
}
return {
verificado: true,
usuario: {
cpf: dados.cpf,
nome: dados.name,
genero: dados.gender,
tipo: tipoUsuario,
selo: "identidade_verificada",
verificadoEm: new Date().toISOString()
}
};
} catch (error) {
if (error.code === "ECONNABORTED") {
return { verificado: false, motivo: "Timeout na verificação" };
}
return { verificado: false, motivo: `Erro: ${error.message}` };
}
}
async function verificarCpfDuplicado(cpf) {
// Simula verificação no banco de dados da plataforma
// Em produção, consulte sua base de usuários
return false;
}
// Exemplo de uso
(async () => {
const resultado = await validarUsuarioMarketplace(
"123.456.789-09",
"Ana Paula Ferreira",
"vendedor"
);
if (resultado.verificado) {
console.log(`Usuário verificado: ${resultado.usuario.nome}`);
console.log(`Selo: ${resultado.usuario.selo}`);
} else {
console.log(`Verificação falhou: ${resultado.motivo}`);
}
})();
Consulta via cURL
Para testes de integração:
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:
{
"success": true,
"data": {
"cpf": "123.456.789-09",
"name": "Ana Paula Ferreira",
"nameUpper": "ANA PAULA FERREIRA",
"gender": "F",
"birthDate": "03/11/1992",
"day": "03",
"month": "11",
"year": "1992"
}
}
Validação condicional por valor da transação
Para não impor barreiras desnecessárias a transações de baixo valor, a validação de CPF pode ser condicional:
import requests
CPFHUB_API_KEY = "sua_api_key_aqui"
CPFHUB_BASE_URL = "https://api.cpfhub.io/cpf"
TIMEOUT_SECONDS = 10
LIMITE_SEM_VERIFICACAO = 200.00 # R$ 200,00
def verificar_transacao(cpf_comprador: str, valor_transacao: float,
usuario_verificado: bool) -> dict:
"""
Verifica se a transação pode prosseguir com base no valor
e no status de verificação do comprador.
"""
if usuario_verificado:
return {"permitido": True, "motivo": "Usuário já verificado"}
if valor_transacao <= LIMITE_SEM_VERIFICACAO:
return {"permitido": True, "motivo": "Valor abaixo do limite"}
# Transação acima do limite requer verificação de CPF
cpf_limpo = cpf_comprador.replace(".", "").replace("-", "")
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 {"permitido": False, "motivo": "Timeout na verificação"}
except requests.exceptions.RequestException as e:
return {"permitido": False, "motivo": f"Erro: {str(e)}"}
if resultado.get("success"):
return {
"permitido": True,
"motivo": "CPF verificado com sucesso",
"nome": resultado["data"]["name"]
}
return {"permitido": False, "motivo": "CPF não pôde ser verificado"}
# Exemplo de uso
resultado = verificar_transacao("123.456.789-09", 850.00, False)
if resultado["permitido"]:
print(f"Transação permitida: {resultado['motivo']}")
else:
print(f"Transação bloqueada: {resultado['motivo']}")
Estratégias adicionais de segurança
Selo de identidade verificada
Exibir um selo de "identidade verificada" no perfil de vendedores e compradores aumenta a confiança entre os usuários e incentiva a verificação voluntária.
Score de confiança
Combine a validação de CPF com outros fatores -- como tempo de cadastro, histórico de transações e avaliações -- para criar um score de confiança que ajude os usuários a decidir com quem negociar.
Bloqueio de CPFs irregulares
Mantenha uma lista interna de CPFs associados a fraudes anteriores e bloqueie automaticamente tentativas de cadastro com esses números.
Notificação ao titular
Quando um CPF for utilizado para criar uma conta, considere enviar uma notificação ao e-mail ou telefone associado para confirmar que o próprio titular está realizando o cadastro.
Boas práticas para marketplaces
- Validação obrigatória para vendedores -- Exigir CPF validado antes de permitir a publicação de anúncios.
- Verificação progressiva -- Permitir compras de baixo valor sem verificação, mas exigir CPF validado para transações maiores.
- Um CPF por conta -- Impedir que o mesmo CPF seja usado em múltiplas contas.
- Revalidação periódica -- Solicitar revalidação para contas inativas há mais de 12 meses.
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 ~900ms, 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 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.
Conclusão
A validação de CPF é uma arma essencial no combate a fraudes em marketplaces de produtos usados. Ao verificar a identidade de vendedores e compradores antes de permitir transações, a plataforma protege seus usuários, reduz chargebacks e fortalece a confiança no ecossistema. Com a API do CPFHub.io, a integração leva menos de 30 minutos e o retorno em segurança é imediato. Cadastre-se em cpfhub.io — 50 consultas mensais gratuitas, sem cartão de crédito — e comece hoje mesmo.
CPFHub.io
Pronto para integrar a API?
50 consultas gratuitas para testar agora. Sem cartão de crédito. Acesso imediato à documentação.
Sobre a redação
Redação CPFHub.io
Time editorial especializado em APIs de CPF, identidade digital e compliance no mercado brasileiro. Produzimos guias técnicos, análises regulatórias e tutoriais sobre LGPD e KYC para desenvolvedores e líderes de produto.



