# Como validar CPF em plataformas de marketplace de usados (OLX, Enjoei)

> Aprenda como marketplaces de produtos usados podem validar CPF de vendedores e compradores via API para reduzir fraudes e golpes.

**Publicado:** 29/08/2025
**Autor:** Redação CPFHub.io
**URL:** https://cpfhub.io/blog/como-validar-cpf-em-plataformas-de-marketplace-de-usados

---


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:

1. O usuário se cadastra informando CPF, nome completo e outros dados.
2. O sistema válida o formato do CPF.
3. A API do CPFHub é consultada para confirmar a existência do CPF.
4. O nome retornado pela API é comparado com o nome informado.
5. Se houver correspondência, a conta é ativada e o usuário recebe um selo de "identidade verificada".
6. 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.

```javascript
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:

```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": "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:

```python
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](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

- [Como evitar chargebacks usando validação de CPF no checkout](https://cpfhub.io/blog/como-evitar-chargebacks-usando-validacao-de-cpf-no-checkout)
- [Como pedir CPF no checkout sem espantar o cliente](https://cpfhub.io/blog/como-pedir-cpf-no-checkout-sem-espantar-o-cliente)
- [Golpe do CPF clonado em compras online: como detectar e prevenir](https://cpfhub.io/blog/golpe-cpf-clonado-compras-online-detectar-prevenir)
- [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)

---

## 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**](https://www.cpfhub.io/), a integração leva menos de 30 minutos e o retorno em segurança é imediato. Cadastre-se em [cpfhub.io](https://www.cpfhub.io/) — 50 consultas mensais gratuitas, sem cartão de crédito — e comece hoje mesmo.

