# Como validar CPF automaticamente com Flask e FastAPI

> Aprenda como validar CPF automaticamente usando Flask e FastAPI com integração à API da CPFHub.io.

**Publicado:** 13/12/2025
**Autor:** Redação CPFHub.io
**URL:** https://cpfhub.io/blog/validar-cpf-automaticamente-flask-fastapi

---


Validar CPF automaticamente com Flask ou FastAPI é direto: basta criar um endpoint que repassa o CPF para a CPFHub.io via `GET https://api.cpfhub.io/cpf/{CPF}` com o header `x-api-key`, e a API retorna nome, gênero e data de nascimento em ~900ms. Flask é ideal para projetos simples; FastAPI se destaca quando você precisa de async nativo e validação automática com Pydantic.

## Introdução

A validação de CPF é um processo essencial para garantir **segurança e conformidade** em sistemas que exigem identificação de usuários. Com o uso de **APIs de consulta de CPF**, é possível automatizar essa validação de forma eficiente e segura.

---
## 1. Escolhendo a API de CPF correta

Antes de iniciar a implementação, é importante escolher uma **API confiável** para validação de CPF. Os critérios principais incluem:

* **Dados padronizados e atualizados diariamente**.

* **Baixo tempo de resposta (~900ms)**.

* **Conformidade total com a LGPD**.

* **Documentação completa com exemplos em Python**.

A [**CPFHub.io**](https://www.cpfhub.io/) atende a todos esses requisitos e oferece um plano gratuito de 50 consultas mensais — sem cartão de crédito — para que você possa testar a integração antes de escalar.

---

## 2. Como validar CPF com Flask

O **Flask** é um microframework leve e fácil de usar para criar APIs em Python. Vamos construir uma API simples para validar CPF.

### Passo 1: Instalar dependências

```bash
pip install flask requests
```

### Passo 2: Criar o arquivo `app.py`

```python
from flask import Flask, request, jsonify
import requests

app = Flask(__name__)
API_URL = "https://api.cpfhub.io/cpf"
API_KEY = "SUA_CHAVE_DE_API"

@app.route("/validar_cpf/<cpf>", methods=["GET"])
def validar_cpf(cpf):
 headers = {
 "x-api-key": API_KEY,
 "Accept": "application/json"
 }
 response = requests.get(f"{API_URL}/{cpf}", headers=headers)

 if response.status_code == 200:
 return jsonify(response.json())
 else:
 return jsonify({"error": "Falha na consulta", "status_code": response.status_code})

if __name__ == "__main__":
 app.run(debug=True)
```

### Passo 3: Testar a API com cURL

```bash
curl -X GET "http://127.0.0.1:5000/validar_cpf/12345678900"
```

**Se tudo estiver correto, a API retornará os dados do CPF validado!**

---

## 3. Como validar CPF com FastAPI

O **FastAPI** é um framework moderno e otimizado para alta performance em APIs.

### Passo 1: Instalar dependências

```bash
pip install fastapi uvicorn httpx
```

### Passo 2: Criar o arquivo `main.py`

```python
from fastapi import FastAPI
import httpx

app = FastAPI()
API_URL = "https://api.cpfhub.io/cpf"
API_KEY = "SUA_CHAVE_DE_API"

@app.get("/validar_cpf/{cpf}")
async def validar_cpf(cpf: str):
 headers = {
 "x-api-key": API_KEY,
 "Accept": "application/json"
 }
 async with httpx.AsyncClient() as client:
 response = await client.get(f"{API_URL}/{cpf}", headers=headers)
 return response.json()

if __name__ == "__main__":
 import uvicorn
 uvicorn.run(app, host="127.0.0.1", port=8000)
```

### Passo 3: Testar a API com cURL

```bash
curl -X GET "http://127.0.0.1:8000/validar_cpf/12345678900"
```

**Se tudo estiver correto, o FastAPI responderá com os dados validados!**

---

## 4. Exemplo de resposta da API

Ambos os frameworks retornarão a resposta da CPFHub.io no seguinte formato:

```json
{
 "success": true,
 "data": {
 "cpf": "12345678900",
 "name": "João da Silva",
 "nameUpper": "JOÃO DA SILVA",
 "gender": "M",
 "birthDate": "15/06/1990",
 "day": 15,
 "month": 6,
 "year": 1990
 }
}
```

---

## 5. Comparação entre Flask e FastAPI para validação de CPF

| Característica | Flask | FastAPI |
| --- | --- | --- |
| **Facilidade** | Simples e flexível | Mais estruturado |
| **Performance** | Boa, mas não otimizada | Muito rápido (async nativo) |
| **Validação de dados** | Manual | Pydantic embutido |
| **Ideal para** | Pequenos projetos | APIs de alta performance |

**Conclusão:** Se você busca **simplicidade**, use Flask. Se precisa de **alta performance**, prefira FastAPI.

---

## 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

- [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)
- [API de CPF grátis para desenvolvedores: como começar em 5 minutos](https://cpfhub.io/blog/api-cpf-gratis-desenvolvedores-comecar-5-minutos)
- [Onboarding digital em fintechs: como validar CPF em menos de 30 segundos](https://cpfhub.io/blog/onboarding-digital-em-fintechs-como-validar-cpf-em-menos-de-30-segundos)
- [KYC no Brasil: quais setores são obrigados a validar CPF por lei](https://cpfhub.io/blog/kyc-no-brasil-quais-setores-sao-obrigados-a-validar-cpf-por-lei)

---

## Conclusão

A integração de APIs de CPF em **Flask e FastAPI** torna o processo de validação **rápido, seguro e eficiente**. Com a [**CPFHub.io**](https://www.cpfhub.io/), você conecta qualquer um dos dois frameworks em menos de 30 minutos e passa a validar CPFs em tempo real com resposta em ~900ms e conformidade total com a LGPD.

Cadastre-se em [cpfhub.io](https://www.cpfhub.io/) — 50 consultas mensais gratuitas, sem cartão de crédito — e comece hoje mesmo.

