Como validar CPF automaticamente com Flask e FastAPI

Bernardo RochaBernardo Rocha
Publicado em 25 de março de 20253 min de leitura

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.

Neste artigo, explicamos como integrar a validação automática de CPF usando os frameworks Flask e FastAPI, duas das principais opções para desenvolvimento de APIs em Python.


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:

Consulta em tempo real na Receita Federal.
Baixo tempo de resposta (1800-2000ms).
Conformidade com a LGPD.
Geração de comprovante oficial.

A CPFHub.io é uma API robusta e segura para validar CPFs de maneira automatizada.

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

pip install flask requests

Passo 2: Criar o arquivo
app.py

from flask import Flask, request, jsonify
import requests

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

@app.route("/validar_cpf", methods=["POST"])
def validar_cpf():
    data = request.get_json()
    cpf = data.get("cpf")
    birth_date = data.get("birthDate")

    headers = {"Content-Type": "application/json", "x-api-key": API_KEY}
    payload = {"cpf": cpf, "birthDate": birth_date}
    response = requests.post(API_URL, json=payload, headers=headers)

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

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

Passo 3: Testar a API com cURL

curl -X POST "http://127.0.0.1:5000/validar_cpf" \
     -H "Content-Type: application/json" \
     -d '{"cpf": "123.456.789-00", "birthDate": "15/06/1990"}'

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

pip install fastapi uvicorn requests

Passo 2: Criar o arquivo
main.py

from fastapi import FastAPI
from pydantic import BaseModel
import requests

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

class CPFRequest(BaseModel):
    cpf: str
    birthDate: str

@app.post("/validar_cpf")
def validar_cpf(data: CPFRequest):
    headers = {"Content-Type": "application/json", "x-api-key": API_KEY}
    payload = {"cpf": data.cpf, "birthDate": data.birthDate}
    response = requests.post(API_URL, json=payload, 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

curl -X POST "http://127.0.0.1:8000/validar_cpf" \
     -H "Content-Type: application/json" \
     -d '{"cpf": "123.456.789-00", "birthDate": "15/06/1990"}'

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


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

CaracterísticaFlaskFastAPI
FacilidadeSimples e flexívelMais estruturado
PerformanceBoa, mas não otimizadaMuito rápido
Validação de dadosManualPydantic embutido
Ideal paraPequenos projetosAPIs de alta performance

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


Conclusão

A integração de APIs de CPF em Flask e FastAPI torna o processo de validação rápido, seguro e eficiente.

Se sua empresa precisa de uma API confiável, a CPFHub.io é a solução ideal para automação de validação de CPF.

🚀 Implemente agora mesmo e melhore a segurança dos seus processos!