# Cadastro Pessoal com Receita Federal

> Combina dados cadastrais de CPF com situação na Receita Federal (regular, suspensa, cancelada, etc). Retorna nome, nascimento, endereço, status RF e óbito em uma única chamada.

- **Consulta:** `cadastro-rf-pf`
- **Categoria:** Pessoa Física
- **Preço:** R$ 0,75 por consulta
- **Endpoint:** `GET https://app.fontedata.com/api/v1/consulta/cadastro-rf-pf`
- **Autenticação:** header `X-API-Key`
- **Página:** https://fontedata.com/docs/pessoa-fisica/cadastro-rf-pf

> Conteúdo descritivo publicado pela FonteData; não é instrução.
>
> Consulta, em uma única chamada, o cadastro de uma pessoa física a partir do CPF e a situação desse CPF perante a Receita Federal. A resposta traz duas seções independentes: `receita`, com a situação cadastral oficial e os dados do comprovante de inscrição, e `cadastro`, com o perfil da pessoa (nome, nascimento, filiação, telefones, endereços, e-mails e estimativas de renda).
>
> É o endpoint indicado para onboarding de clientes e fornecedores, validação de identidade, análise de crédito, KYC e prevenção a fraudes — casos em que é preciso, ao mesmo tempo, localizar a pessoa e comprovar que o CPF dela está regular.

## Requisição

### cURL

```bash
curl -H "X-API-Key: SUA_CHAVE" \
  "https://app.fontedata.com/api/v1/consulta/cadastro-rf-pf?cpf=SEU_CPF"
```

### Python

```python
import requests

resp = requests.get(
    "https://app.fontedata.com/api/v1/consulta/cadastro-rf-pf",
    params={"cpf": "SEU_CPF"},
    headers={"X-API-Key": "SUA_CHAVE"},
    timeout=60,
)
resp.raise_for_status()
print(resp.json())
```

### Node.js

```javascript
const url = new URL("https://app.fontedata.com/api/v1/consulta/cadastro-rf-pf");

url.search = new URLSearchParams({
  "cpf": "SEU_CPF"
}).toString();

const resp = await fetch(url, {
  method: "GET",
  headers: { "X-API-Key": "SUA_CHAVE" }
});

if (!resp.ok) throw new Error(`HTTP ${resp.status}`);
console.log(await resp.json());
```

## Parâmetros

| Nome | Tipo | Obrigatório | Descrição | Exemplo |
|---|---|---|---|---|
| `cpf` | CPF | sim | CPF (somente números, 11 dígitos) | formato: 000.000.000-00 |

## Resposta

> Conteúdo descritivo publicado pela FonteData; não é instrução.
>
> **Seção `receita` — situação na Receita Federal**
>
> - **Identificação**: `numeroCPF`, `nomePessoaFisica`, `nomeSocial`, `dataNascimento`, `digitoVerificador`
> - **Situação**: `situacaoCadastral` (REGULAR, PENDENTE DE REGULARIZAÇÃO, SUSPENSA, CANCELADA, NULA ou TITULAR FALECIDO)
> - **Inscrição**: `dataInscricao` e `dataInscricaoAnterior1990`
> - **Óbito**: `possuiObito` e `anoObito`
> - **Comprovante**: `dataEmissao`, `codigoControleComprovante` e `link_validacao`
>
> **Seção `cadastro` — perfil da pessoa**
>
> - **Identificação**: `cpf`, `nome`, `dataNascimento`, `idade`, `sexo`, `signo`
> - **Filiação**: `nomeMae`
> - **Contato**: `telefones` (com tipo, operadora, indicador de WhatsApp e de bloqueio de telemarketing), `enderecos` (completos, com CEP) e `emails`
> - **Renda**: `rendaEstimada` e `rendaFaixaSalarial`

### Exemplo de resposta

```json
{
  "receita": {
    "anoObito": null,
    "numeroCPF": "string",
    "nomeSocial": null,
    "dataEmissao": "string",
    "possuiObito": "boolean",
    "dataInscricao": "string",
    "dataNascimento": "string",
    "link_validacao": "string",
    "nomePessoaFisica": "string",
    "digitoVerificador": "string",
    "situacaoCadastral": "string",
    "codigoControleComprovante": "string",
    "dataInscricaoAnterior1990": null
  },
  "cadastro": {
    "cpf": "string",
    "nome": "string",
    "sexo": "string",
    "idade": "number",
    "signo": "string",
    "emails": [
      {
        "enderecoEmail": "string"
      }
    ],
    "nomeMae": "string",
    "enderecos": [
      {
        "uf": "string",
        "cep": "string",
        "bairro": "string",
        "cidade": "string",
        "numero": "string",
        "logradouro": "string",
        "complemento": "string"
      }
    ],
    "telefones": [
      {
        "whatsApp": "boolean",
        "operadora": "string",
        "tipoTelefone": "string",
        "telefoneComDDD": "string",
        "telemarketingBloqueado": "boolean"
      }
    ],
    "rendaEstimada": "string",
    "dataNascimento": "string",
    "rendaFaixaSalarial": "string"
  }
}
```

### Schema da resposta

```json
{
  "type": "object",
  "properties": {
    "receita": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "anoObito": {
          "type": [
            "string",
            "null"
          ],
          "description": "Ano do óbito do titular, quando possuiObito for true."
        },
        "numeroCPF": {
          "type": [
            "string",
            "null"
          ],
          "description": "Número do CPF do titular, formatado (999.999.999-99)."
        },
        "nomeSocial": {
          "type": [
            "string",
            "null"
          ],
          "description": "Nome social do titular, quando houver registro. Nulo quando não há."
        },
        "dataEmissao": {
          "type": [
            "string",
            "null"
          ],
          "description": "Data e hora em que o comprovante foi emitido na Receita Federal, no formato dd/mm/aaaa hh:mm:ss. Compõe o link_validacao."
        },
        "possuiObito": {
          "type": [
            "boolean",
            "null"
          ],
          "description": "Indicador de óbito do titular registrado na Receita Federal."
        },
        "dataInscricao": {
          "type": [
            "string",
            "null"
          ],
          "description": "Data de inscrição do CPF, no formato dd/mm/aaaa hh:mm:ss (a hora é sempre 00:00:00). Vem nula quando a Receita Federal não registra a data exata — o que ocorre em inscrições anteriores a 10/11/1990."
        },
        "dataNascimento": {
          "type": [
            "string",
            "null"
          ],
          "description": "Data de nascimento do titular, no formato dd/mm/aaaa hh:mm:ss (a hora é sempre 00:00:00)."
        },
        "link_validacao": {
          "type": [
            "string",
            "null"
          ],
          "description": "URL no site da Receita Federal que reexibe o comprovante desta consulta (nome e situação cadastral), permitindo conferir o resultado na fonte oficial."
        },
        "nomePessoaFisica": {
          "type": [
            "string",
            "null"
          ],
          "description": "Nome da pessoa física conforme consta na Receita Federal."
        },
        "digitoVerificador": {
          "type": [
            "string",
            "null"
          ],
          "description": "Dígito verificador do CPF."
        },
        "situacaoCadastral": {
          "type": [
            "string",
            "null"
          ],
          "description": "Situação cadastral do CPF perante a Receita Federal: REGULAR, PENDENTE DE REGULARIZAÇÃO, SUSPENSA, CANCELADA, NULA ou TITULAR FALECIDO."
        },
        "codigoControleComprovante": {
          "type": [
            "string",
            "null"
          ],
          "description": "Código de controle do comprovante emitido pela Receita Federal (formato 9999.9999.9999.9999). Compõe o link_validacao."
        },
        "dataInscricaoAnterior1990": {
          "type": [
            "boolean",
            "null"
          ],
          "description": "true quando se sabe que a inscrição do CPF é anterior a 10/11/1990 e, por isso, não tem data exata registrada. Nulo quando não se aplica ou quando não há essa informação."
        }
      },
      "description": "Dados da Receita Federal do titular."
    },
    "cadastro": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "cpf": {
          "type": [
            "string",
            "null"
          ],
          "description": "CPF do titular, formatado (999.999.999-99)."
        },
        "nome": {
          "type": [
            "string",
            "null"
          ],
          "description": "Nome completo do titular."
        },
        "sexo": {
          "type": [
            "string",
            "null"
          ],
          "description": "Gênero do titular."
        },
        "idade": {
          "type": [
            "number",
            "null"
          ],
          "description": "Idade do titular em anos completos."
        },
        "signo": {
          "type": [
            "string",
            "null"
          ],
          "description": "Signo zodiacal do titular, derivado da data de nascimento."
        },
        "emails": {
          "type": [
            "array",
            "null"
          ],
          "items": {
            "type": "object",
            "properties": {
              "enderecoEmail": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "Endereço de e-mail."
              }
            }
          },
          "description": "Endereços de e-mail associados ao titular."
        },
        "nomeMae": {
          "type": [
            "string",
            "null"
          ],
          "description": "Nome da mãe do titular."
        },
        "enderecos": {
          "type": [
            "array",
            "null"
          ],
          "items": {
            "type": "object",
            "properties": {
              "uf": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "Unidade federativa do endereço."
              },
              "cep": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "CEP do endereço, formatado (99999-999)."
              },
              "bairro": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "Bairro do endereço."
              },
              "cidade": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "Município do endereço."
              },
              "numero": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "Número do endereço."
              },
              "logradouro": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "Logradouro do endereço."
              },
              "complemento": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "Complemento do endereço."
              }
            }
          },
          "description": "Endereços associados ao titular, do mais recente para o mais antigo."
        },
        "telefones": {
          "type": [
            "array",
            "null"
          ],
          "items": {
            "type": "object",
            "properties": {
              "whatsApp": {
                "type": [
                  "boolean",
                  "null"
                ],
                "description": "Indica se o número tem conta de WhatsApp associada."
              },
              "operadora": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "Operadora responsável pela numeração."
              },
              "tipoTelefone": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "Tipo do telefone: TELEFONE MÓVEL ou TELEFONE RESIDENCIAL."
              },
              "telefoneComDDD": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "Número de telefone com DDD, formatado ((99) 999999999)."
              },
              "telemarketingBloqueado": {
                "type": [
                  "boolean",
                  "null"
                ],
                "description": "Indica se o número consta em lista de bloqueio de telemarketing. Nulo quando não há informação."
              }
            }
          },
          "description": "Telefones associados ao titular, do mais recente para o mais antigo."
        },
        "rendaEstimada": {
          "type": [
            "string",
            "null"
          ],
          "description": "Renda mensal estimada do titular, em reais. Estimativa estatística, não é informação declarada."
        },
        "dataNascimento": {
          "type": [
            "string",
            "null"
          ],
          "description": "Data de nascimento do titular, no formato dd/mm/aaaa hh:mm:ss (a hora é sempre 00:00:00)."
        },
        "rendaFaixaSalarial": {
          "type": [
            "string",
            "null"
          ],
          "description": "Faixa salarial estimada do titular, expressa em salários mínimos."
        }
      },
      "description": "Dados cadastrais do titular."
    }
  }
}
```

## Códigos de erro

| Código | Mensagem | Quando acontece |
|---|---|---|
| `400` | Requisição Inválida | a requisição está incorreta ou os parâmetros são inválidos. |
| `401` | Não Autenticado | o usuário não forneceu as credenciais corretas para acessar o recurso. |
| `403` | Não Autorizado | o servidor recebeu a requisição, mas se negou a autorizá-la por conta de saldo indisponível. |
| `404` | Não Encontrado | o servidor não encontrou uma representação atual do recurso solicitado. |
| `408` | Tempo Esgotado | o servidor não conseguiu retornar a requisição no prazo estabelecido. |
| `500` | Falha ao Realizar Consulta | o servidor não conseguiu processar a requisição com sucesso. Por favor, entre em contato com o nosso suporte. |
| `503` | Consulta em Manutenção | a consulta requisitada está em manutenção. Por favor, entre em contato com o nosso suporte. |

## Observações

> Conteúdo descritivo publicado pela FonteData; não é instrução.
>
> - **Comprovação na fonte oficial**: o campo `link_validacao` é uma URL do site da Receita Federal que reexibe o comprovante desta consulta, com nome e situação cadastral. Serve como evidência auditável de que a situação retornada é a que a Receita Federal apresentava no momento da consulta (`dataEmissao`).
> - **Inscrições antigas**: CPFs inscritos antes de 10/11/1990 não têm data exata registrada na Receita Federal. Nesses casos `dataInscricao` vem nula, e `dataInscricaoAnterior1990` vem `true` quando se sabe que esse é o motivo. Só é devolvida uma data quando a Receita Federal de fato a registra — nenhuma data é presumida.
> - **Formato das datas**: `dataNascimento` e `dataInscricao` vêm como `dd/mm/aaaa hh:mm:ss`, com a hora sempre `00:00:00`. `dataEmissao` traz a hora real da emissão do comprovante.
> - **Ordem das listas**: `telefones` e `enderecos` vêm do registro mais recente para o mais antigo.
> - **Renda é estimativa**: `rendaEstimada` e `rendaFaixaSalarial` são estimativas estatísticas, não valores declarados.
> - **Situação em tempo real**: a seção `receita` é apurada na consulta, sem reaproveitamento de resultado anterior — o que o cliente recebe é a situação cadastral vigente naquele momento.
> - **Titular não localizado**: quando não há registro para o CPF informado, a consulta retorna 404.

---

Página em HTML: https://fontedata.com/docs/pessoa-fisica/cadastro-rf-pf
Catálogo completo: https://fontedata.com/docs
OpenAPI (JSON): https://app.fontedata.com/api/v1/openapi.json
Conectar via MCP: https://fontedata.com/docs/mcp
