CPF na Receita Federal
Nossa API permite consultar dados cadastrais completos de pessoas físicas diretamente na Receita Federal do Brasil. Obtenha informações como nome completo, situação cadastral, data de nascimento e data de inscrição no CPF, com possibilidade de utilizar cache ou realizar consultas online em tempo real.
Custos
| Consulta | Créditos consumidos |
|---|---|
| CPF atendido diretamente pelo cache, sem tentativa online | 1 crédito |
| CPF na modalidade online | 10 créditos |
| Retorno com erro, sem resultado utilizável | 0 créditos |
Os valores são o total por requisição, não créditos adicionais. A consulta online custa 10 créditos no total, e não 11. A estratégia padrão, SO_CACHE, utiliza apenas o cache; se não houver resultado, retorna erro sem consumo de créditos.
Na estratégia ONLINE_PREFERENCIAL, uma tentativa online pode terminar com a entrega de dados em cache após falha da fonte e manter o custo de 10 créditos. Para consultar exclusivamente pelo custo de cache, utilize SO_CACHE.
Crédito é a unidade de consumo do plano. Consulte o valor dos planos e a tabela de Consumo por consulta.
Informações de entrada
Para consultar um CPF, utilize os seguintes parâmetros:
CPF: O número do Cadastro de Pessoa Física (CPF) que deseja consultar.
Data de Nascimento: Informação opcional e recomendada. Quando uma estratégia exigir consulta online, a API usará a data informada pelo cliente ou tentará obter uma data previamente armazenada em cache para o CPF.
Cache: define o tempo máximo, em dias, para reutilização de uma resposta previamente obtida pela plataforma. O cache é mantido de forma centralizada pela Sintegrapi para otimizar desempenho, reduzir custos e evitar consultas repetidas às fontes de dados. O uso do cache não concede a nenhum cliente acesso a informações de outro cliente, nem permite identificar quem realizou consultas anteriores.
Cache Strategy: Define o comportamento da consulta (prioridade entre cache e online). Este é o parâmetro que determina o modo de execução da consulta.
Parâmetros Obrigatórios
- Name
cpf- Type
- string
- Description
CPF que será consultado - pode ser informado em qualquer padrão de formatação contanto que esteja completo e seja válido.
Exemplo:
12345678901
Parâmetros Opcionais
- Name
data_nascimento- Type
- string
- Description
Data de nascimento no formato
yyyyMMdd.Exemplo:
19910807Observações importantes:
- É opcional, mas recomendada para aumentar a taxa de sucesso em estratégias que podem consultar online.
- Quando houver necessidade de consulta online, a API tentará usar primeiro a data enviada na requisição.
- Se não for enviada, a API tentará utilizar uma data previamente armazenada em cache para o CPF.
- Se nenhuma data estiver disponível, a consulta online não poderá ser realizada.
- Name
cache- Type
- number
- Description
Tempo máximo de idade do cache em dias. O valor padrão é 36500 dias (100 anos).
- Name
cache_strategy- Type
- string
- Description
Estratégia de utilização do cache. O valor padrão é
SO_CACHE.Observação: O comportamento da consulta é definido por
cache_strategy. Em estratégias com possibilidade de consulta online, a API utilizará a data enviada ou tentará obter a data de nascimento em cache para o CPF.
Formato das datas da resposta
O mesmo endpoint aceita o parâmetro opcional date_format na query string. Escolha o formato esperado pela sua integração:
date_format | nascimento | data_inscricao | updated_at, quando informado |
|---|---|---|---|
ddMMyyyy (padrão) | 10082005 | 06112013 | 15092026 |
yyyy-MM-dd | 2005-08-10 | 2013-11-06 | 2026-09-15 |
Sem date_format, a resposta utiliza ddMMyyyy. A escolha vale para as datas disponíveis nas respostas online, em cache e em fallback. Campos sem informação continuam ausentes ou nulos. Outros valores de date_format retornam HTTP 400, sem executar a consulta ou consumir créditos.
O parâmetro format continua definindo a estrutura da resposta: SINTEGRAPI (padrão) inclui os dados em serpro_result; SERPRO retorna os dados diretamente, sem esse envelope. O parâmetro date_format funciona com os dois layouts. O campo updated_at é apresentado somente no layout SINTEGRAPI, quando disponível.
A data de nascimento enviada no caminho da requisição permanece em yyyyMMdd, independentemente do formato escolhido para a resposta.
Resposta com datas yyyy-MM-dd
curl -G "https://api.sintegrapi.com.br/consultas/v2/cpf-rfb/12345678901/19910807" \
--data-urlencode "cache_strategy=SO_CACHE" \
--data-urlencode "date_format=yyyy-MM-dd" \
-H "x-api-key: {apiKey}"
Estratégias de Cache
A API oferece diferentes estratégias para balancear entre performance, custo e atualização dos dados:
| Estratégia | Prioridade | Fallback | Descrição |
|---|---|---|---|
CACHE_SE_EXISTIR | Cache | Online | Utiliza o cache caso exista. Em caso de cache miss, tenta consulta online usando a data informada ou uma data disponível em cache para o CPF. |
CACHE_PREFERENCIAL | Cache válido | Online | Utiliza o cache quando estiver dentro da validade definida. Caso contrário, tenta consulta online com a data informada ou recuperada do cache. Recomendado para a maioria dos cenários. |
SO_ONLINE | Online | Nenhum | Sempre tenta consulta online na Receita Federal, utilizando a data informada ou uma data disponível em cache. Possui custo superior às consultas em cache. Consulte a página de preços em /preços. |
SO_CACHE | Cache | Nenhum | Utiliza apenas registros armazenados em cache. Nunca realiza consulta online. Caso o CPF não exista em cache, retorna não encontrado. |
ONLINE_PREFERENCIAL | Online | Cache | Prioriza a consulta online usando a data informada ou recuperada do cache. Caso a consulta online falhe, poderá utilizar o cache como fallback. |
Quando usar a estratégia SO_CACHE
- Ideal para validações rápidas.
- Pode ser utilizada quando a data de nascimento não está disponível.
- Indicada para cenários de alto volume com foco em redução de custos.
- Nunca realiza consultas online junto à Receita Federal.
- Retorna apenas registros previamente armazenados em cache.
- Caso o CPF não exista em cache, retorna não encontrado.
Observações Importantes
- Recomendamos sempre informar a data de nascimento nas consultas de CPF. Essa é a melhor prática para aumentar a taxa de sucesso nas estratégias que podem consultar a Receita Federal online.
- A presença ou ausência da data de nascimento não define sozinha se a consulta será em cache ou online. Quem define o comportamento é o parâmetro
cache_strategy. - Quando a estratégia envolver consulta online (
SO_ONLINE,ONLINE_PREFERENCIAL,CACHE_PREFERENCIALouCACHE_SE_EXISTIRem caso de cache miss), a API tentará usar a data de nascimento enviada na requisição. - Se a data de nascimento não for informada pelo cliente, a API tentará utilizar uma data de nascimento previamente armazenada em cache para o CPF consultado.
- Se existir uma data de nascimento válida em cache, a consulta online será executada normalmente.
- Se não houver data de nascimento disponível em cache e ela também não tiver sido informada na requisição, a consulta online não poderá ser realizada e a API retornará erro informando que a data de nascimento é obrigatória para consulta online.
- Consultas online possuem custo superior às consultas em cache.
- Consulte a página /preços para verificar os valores atualizados.
- Para cenários de alto volume, recomenda-se utilizar cache sempre que possível.
- A situação cadastral retornada pela Receita Federal permite validar a regularidade do CPF consultado.
- A API retorna informações como CPF, nome completo, situação cadastral, data de nascimento e data de inscrição no CPF.
Consulta CPF Receita Federal
Este endpoint permite consultar dados cadastrais de CPF diretamente na Receita Federal do Brasil, com suporte a diferentes estratégias de cache.
A data de nascimento é opcional. O comportamento da consulta é definido por cache_strategy.
Quando for necessário consultar online, a API seguirá esta ordem:
- tenta usar a data de nascimento enviada na requisição
- se não houver data na requisição, tenta usar uma data previamente armazenada em cache para o CPF
- se nenhuma data estiver disponível, a consulta online não poderá ser realizada
Retorno da Consulta
A consulta retorna os seguintes dados:
- CPF (ni): Número de Inscrição do contribuinte
- Nome completo: Nome completo da pessoa física
- Situação cadastral: Código e descrição da situação (ex: REGULAR)
- Data de nascimento (
nascimento): Data no formato escolhido emdate_format - Data de inscrição (
data_inscricao): Data de inscrição no CPF no formato escolhido, quando disponível - Data de atualização (
updated_at): Data de atualização do cadastro no formato escolhido, quando informada no layoutSINTEGRAPI
O padrão é ddMMyyyy. Para receber datas como 2005-08-10, envie date_format=yyyy-MM-dd. Consulte Formato das datas da resposta para exemplos nos dois formatos.
Atributos opcionais
- Name
cache- Type
- number
- Description
Tempo máximo de idade do cache em dias. O valor default é 365 dias.
- Name
cache_strategy- Type
- string
- Description
Estratégia de cache a ser utilizada. O valor default é
SO_CACHE.Valores aceitos:
CACHE_SE_EXISTIR,CACHE_PREFERENCIAL,SO_ONLINE,SO_CACHE,ONLINE_PREFERENCIAL.
- Name
format- Type
- string
- Description
Layout da resposta:
SINTEGRAPI(padrão, com envelope) ouSERPRO(dados diretamente no corpo).
- Name
date_format- Type
- string
- Description
Formato das datas da resposta:
ddMMyyyy(padrão) ouyyyy-MM-dd. Aplica-se anascimento,data_inscricaoeupdated_at, quando presentes, independentemente da estratégia de cache e do layout escolhido.
Requisição
curl -G https://api.sintegrapi.com.br/consultas/v2/cpf-rfb/12345678901/19910807?cache_strategy=CACHE_PREFERENCIAL \
-H "x-api-key: {apiKey}"
Resposta - Sucesso
{
"serpro_result": {
"ni": "12345678901",
"nome": "JOAO DA SILVA",
"situacao": {
"codigo": "0",
"descricao": "REGULAR"
},
"nascimento": "07081991",
"data_inscricao": "16122024",
"updated_at": "15092026"
},
"request_id": "63cae3c7-21b1-4735-b689-7300af6813e1",
"success": true,
"error": false
}
Retornos Possíveis no Campo situacao (Situações Cadastrais)
| Código | Descrição |
|---|---|
0 | Regular |
2 | Suspensa |
3 | Titular Falecido |
4 | Pendente de Regularização |
5 | Cancelada por Multiplicidade |
8 | Nula |
9 | Cancelada de Ofício |
Respostas de Erro
A API retorna diferentes tipos de resposta dependendo da situação encontrada:
CPF Não Encontrado
Quando o CPF não é localizado (seja em cache ou online):
CPF Não Encontrado
{
"request_id": "f1bba1c4-fc11-44e6-a9f9-8a816d3df148",
"success": false,
"error": false,
"error_message": {
"message": "CPF Não localizado",
"code": "404"
}
}
CPF Inválido
Quando o CPF informado possui formato inválido ou dígitos verificadores incorretos:
CPF Inválido
{
"request_id": "73975659-b432-4ef4-a461-f654b2143776",
"success": false,
"error": true,
"error_message": {
"message": "CPF inválido."
}
}
Códigos de Erro Comuns
| Código HTTP | Código Interno | Descrição | Solução Recomendada |
|---|---|---|---|
400 | CPF_INVALIDO | CPF mal formatado, incompleto ou dígitos verificadores incorretos. | Verifique se o CPF possui 11 dígitos e está formatado corretamente (com ou sem pontuação). |
400 | DATA_NASCIMENTO_INVALIDA | Data de nascimento mal formatada ou inválida. | Utilize o formato yyyyMMdd. Exemplo: 19910807. |
400 | Validação de date_format | Formato de datas da resposta não suportado. | Utilize ddMMyyyy ou yyyy-MM-dd. A mensagem de validação é retornada em errors.date_format. |
401 | API_KEY_INVALIDA | Chave de API ausente, expirada ou inválida. | Verifique sua chave de API no painel ou entre em contato com o suporte. |
404 | CPF_NAO_ENCONTRADO | CPF não existe na base da Receita Federal ou não está em cache. | Confira o número digitado e revise a estratégia de consulta (cache_strategy) utilizada. |
429 | LIMITE_EXCEDIDO | Limite de requisições por minuto/dia atingido. | Reduza a frequência de consultas ou atualize para um plano com maior limite. |
500 | ERRO_INTERNO | Falha temporária no servidor ou na conexão com a Receita Federal. | Tente novamente após alguns minutos. Persistindo, reporte ao suporte. |
503 | SERVICO_INDISPONIVEL | Serviço da Receita Federal fora do ar ou em manutenção. | Aguarde e tente mais tarde. Consulte o status oficial da Receita Federal. |
Integração com CRMs e ERPs
Integre a consulta de CPF na Receita Federal ao cadastro de pessoas físicas para conferir o documento, o nome e a situação cadastral retornados. O fluxo é implementado com chamadas HTTPS no servidor da integração.
Consulta CPF no TOTVS Protheus, SAP e Dynamics 365
Em projetos com TOTVS Protheus, TOTVS RM, SAP S/4HANA, SAP Business One, Oracle Fusion Cloud ou Microsoft Dynamics 365, associe a resposta ao cadastro da pessoa física pelo CPF. A equipe de integração adapta os campos e as permissões à versão contratada do sistema.
| Campo da resposta | Uso na integração |
|---|---|
serpro_result.ni | Associar o CPF à pessoa cadastrada, preservando zeros à esquerda. |
serpro_result.nome | Conferir o nome retornado pela fonte. |
serpro_result.situacao.codigo e serpro_result.situacao.descricao | Apoiar a validação cadastral segundo as regras da empresa. |
serpro_result.nascimento e serpro_result.data_inscricao | Complementar as datas, quando disponíveis. |
cache e request_id | Registrar a origem indicada e a operação consultada. |
Validação de contatos no Salesforce, HubSpot e Zoho CRM
No Salesforce, HubSpot, Pipedrive ou Zoho CRM, a consulta pode compor uma etapa de conferência do contato antes de avançar o processo comercial. Restrinja o acesso aos dados pessoais às pessoas e rotinas autorizadas e mantenha a API key fora do navegador.
Escolha a estratégia de consulta considerando os custos de cache e online descritos na seção Custos. O resultado cadastral não representa uma análise de crédito. Use o JSON Schema da resposta e trate a ausência de serpro_result antes de mapear campos.
JSON Schema da Resposta
O schema usa JSON Schema Draft 2020-12.
Os campos de negócio podem ser omitidos ou nulos quando não há informação disponível
ou quando ocorre um erro. Valide também success e error antes de atualizar
o cadastro. Propriedades adicionais são aceitas para permitir evolução compatível.
O schema descreve o corpo JSON; o código HTTP deve ser tratado separadamente.
Este schema representa o layout padrão format=SINTEGRAPI. As três propriedades de data aceitam ddMMyyyy ou yyyy-MM-dd, conforme o date_format escolhido na requisição; o padrão é ddMMyyyy. Com format=SERPRO, os campos de serpro_result ficam diretamente no corpo e updated_at não é incluído.
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "CPF Receita Federal — Resposta",
"type": "object",
"properties": {
"request_id": { "type": "string", "format": "uuid" },
"success": {
"type": "boolean",
"description": "Resultado funcional da consulta; avalie junto com error."
},
"error": {
"type": "boolean",
"description": "Indica falha técnica ou de validação."
},
"error_message": {
"type": ["object", "null"],
"properties": {
"message": {
"type": ["string", "null"],
"description": "Mensagem pública da consulta."
},
"code": {
"type": ["string", "null"],
"description": "Código público, quando informado."
}
}
},
"serpro_result": {
"type": ["object", "null"],
"description": "Dados cadastrais retornados pela Receita Federal. Presente apenas quando success=true.",
"properties": {
"ni": {
"type": ["string", "null"],
"description": "Número de Inscrição (CPF) do contribuinte, sem formatação."
},
"nome": {
"type": ["string", "null"],
"description": "Nome completo da pessoa física."
},
"situacao": {
"type": ["object", "null"],
"description": "Situação cadastral do CPF.",
"properties": {
"codigo": {
"type": ["string", "null"],
"description": "Código da situação: 0=Regular, 2=Suspensa, 3=Titular Falecido, 4=Pendente de Regularização, 5=Cancelada por Multiplicidade, 8=Nula, 9=Cancelada de Ofício."
},
"descricao": {
"type": ["string", "null"],
"description": "Descrição textual da situação cadastral."
}
}
},
"nascimento": {
"type": ["string", "null"],
"pattern": "^([0-9]{8}|[0-9]{4}-[0-9]{2}-[0-9]{2})$",
"description": "Data de nascimento em ddMMyyyy (padrão) ou yyyy-MM-dd, conforme date_format."
},
"data_inscricao": {
"type": ["string", "null"],
"pattern": "^([0-9]{8}|[0-9]{4}-[0-9]{2}-[0-9]{2})$",
"description": "Data de inscrição no CPF em ddMMyyyy (padrão) ou yyyy-MM-dd, conforme date_format."
},
"code": { "type": ["string", "null"] },
"message": { "type": ["string", "null"] },
"description": { "type": ["string", "null"] },
"updated_at": {
"type": ["string", "null"],
"pattern": "^([0-9]{8}|[0-9]{4}-[0-9]{2}-[0-9]{2})$",
"description": "Data de atualização do cadastro em ddMMyyyy (padrão) ou yyyy-MM-dd, conforme date_format, quando informada."
}
}
},
"cache": {
"type": ["boolean", "null"],
"description": "Indicação de cache apresentada pela consulta."
}
},
"required": ["request_id", "success", "error"],
"additionalProperties": true
}
