CPFHub.io

Consulta em Tempo Real

Envie o CPF e a data de nascimento e receba nome, data de nascimento, ano do óbito, situação cadastral, código de controle e comprovante, direto da Receita Federal. Custa 1,5 crédito por consulta.

Usando Cursor, Lovable, v0 ou outra IA? Copie o prompt da Consulta em Tempo Real e cole no seu assistente.

Abrir no Cursor

Não é essa? Compare as consultas.

Endpoint

POSThttps://api.cpfhub.io/cpf/realtime

Parâmetros

OndeNomeObrigatórioDescrição
Headerx-api-keySimSua API Key, a mesma da Consulta Simples. Veja Autenticação.
HeaderContent-TypeSimapplication/json
BodycpfSimCPF com ou sem formatação: 12345678909 ou 123.456.789-09
BodybirthDateSimData de nascimento, 8 dígitos (dia, mês, ano): DD/MM/AAAA ou DDMMAAAA. Separadores são ignorados. Ano entre 1900 e o atual.

Exemplo

Os exemplos leem a chave de CPFHUB_API_KEY, usam timeout de 60 s e tratam os erros pelo status HTTP.

curl --max-time 60 -X POST "https://api.cpfhub.io/cpf/realtime" \
  -H "x-api-key: $CPFHUB_API_KEY" \
  -H "content-type: application/json" \
  -d '{
    "cpf": "12345678909",
    "birthDate": "15/06/1990"
  }'

Resposta

HTTP 200 OK

JSON
{
  "success": true,
  "data": {
    "cpf": "12345678909",
    "name": "FULANO DE TAL",
    "birthDate": "15/06/1990",
    "deathYear": null,
    "situation": "REGULAR",
    "emissionDate": "02/10/2026",
    "emissionTime": "14:15:16",
    "controlCode": "ABCD.1234.EFGH.5678",
    "validationUrl": "https://servicos.receita.fazenda.gov.br/Servicos/CPF/ca/ResultadoAut.asp?cp=12345678909&cc=ABCD1234EFGH5678&de=02102026&he=141516&dv=09&em=01",
    "validationHtmlUrl": "https://api.cpfhub.io/cpf/proof/12345678909/1790950516000"
  }
}
CampoTipoDescrição
data.cpfstringCPF consultado, 11 dígitos sem máscara
data.namestringNome como consta na Receita Federal, em maiúsculas
data.birthDatestringData de nascimento, DD/MM/AAAA
data.deathYearinteger | nullAno do óbito. Sempre presente: null quando não há óbito registrado ou quando o valor recebido é inválido. Um valor válido tem 4 dígitos, fica entre 1900 e o ano atual e não pode ser anterior ao ano de nascimento.
data.situationstringSituação cadastral (tabela abaixo)
data.emissionDatestringData de emissão do comprovante, DD/MM/AAAA. Opcional.
data.emissionTimestringHora de emissão, HH:MM:SS. Opcional.
data.controlCodestringCódigo de controle do comprovante (XXXX.XXXX.XXXX.XXXX). Opcional.
data.validationUrlstringLink de conferência no site da Receita Federal (destino do QR code). Opcional.
data.validationHtmlUrlstringComprovante guardado pela CPFHub.io (HTML com QR code). Opcional.

Campos opcionais podem não vir: dependem do que a Receita Federal devolve e da geração do comprovante. deathYear não é opcional: o campo sempre vem, com um inteiro válido ou null.

Situação cadastral

situationSignificado
REGULARCPF em ordem, sem pendências
PENDENTE DE REGULARIZAÇÃOFalta entregar declaração ou atualizar o cadastro
SUSPENSACadastro incorreto ou incompleto
CANCELADAInscrição encerrada (decisão administrativa, judicial ou multiplicidade)
NULAInscrição anulada por fraude
TITULAR FALECIDOÓbito registrado no cadastro

Só REGULAR indica CPF sem pendências. Todas as situações vêm com 200 e consomem crédito.

Erros

StatusQuando aconteceO que fazer
400CPF sem 11 dígitos, ou birthDate ausente ou inválidaCorrija o body. Não repita.
401API Key ausente, inválida ou inativa (error string)Confira o header x-api-key.
403Créditos insuficientes sem overage (error.message: "Limite de créditos excedido") ou conta inativa/bloqueada (error string)Recarregue créditos ou fale com o suporte. Não repita.
422Dígito verificador inválido, ou a Receita Federal recusou a consulta (ex.: data de nascimento divergente)Corrija o CPF ou a data. Não consome crédito. Trate pelo status, não pelo texto (vem da Receita).
429Limite por minuto excedido (5/min no padrão)Espere os segundos do header Retry-After. Não consome crédito.
500Erro internoReporte se persistir.
502, 503Falha passageira na Receita Federal ou na reserva de créditosRepita com espera crescente (2 s, 4 s, 8 s). Não consome crédito.

Formato do erro, retentativas e como testar sem gastar créditos: Códigos de Erro. Limite por minuto e créditos: Limites de Uso.

Detalhes

  • Custo: 1,5 crédito por consulta com 200, em qualquer situação cadastral. Alguns planos têm custo próprio: consulte o do seu plano no dashboard.
  • Tempo de resposta: cerca de 1 segundo (tempo típico, não um SLA). Use timeout de pelo menos 60 s. Se o fluxo não pode esperar, chame de forma assíncrona.
  • Sem lote: a consulta é feita CPF a CPF.
  • Não repita depois de timeout local: o POST não é idempotente. A consulta pode ter sido concluída e cobrada. Confira o saldo em GET /quota antes de tentar de novo.
  • Dados de exemplo: o CPF 12345678909 e os dados acima são fictícios.
⚠

O link do comprovante é público

Qualquer pessoa com o link de validationHtmlUrl abre o comprovante (nome, CPF e situação). Trate como dado pessoal: guarde só no back-end, não registre em logs e não exponha no front-end.


Atualizado em 4 de outubro de 2026