CPFHub.io

Rust

Consulte CPF em Rust com reqwest e tokio.

Integrando com Cursor, Lovable, v0 ou outra IA?

Copie o prompt de integração e cole direto no seu assistente de IA - ele saberá exatamente como usar a API.

Abrir no Cursor

Pré-requisitos

Dependências

Adicione ao Cargo.toml:

toml
[dependencies]
reqwest = { version = "0.12", features = ["json"] }
tokio   = { version = "1", features = ["full"] }
serde   = { version = "1", features = ["derive"] }

Exemplo

Rust
use reqwest::Client;
use serde::Deserialize;
use std::env;

#[derive(Deserialize)]
struct ApiResponse { data: CpfData }

#[derive(Deserialize)]
struct CpfData {
    name: String,
    #[serde(rename = "birthDate")]
    birth_date: String,
    gender: String,
}

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let cpf     = "12345678909";
    let api_key = env::var("CPFHUB_API_KEY")?;

    let res: ApiResponse = Client::new()
        .get(format!("https://api.cpfhub.io/cpf/{cpf}"))
        .header("x-api-key", api_key)
        .send()
        .await?
        .error_for_status()?
        .json()
        .await?;

    println!("{}", res.data.name);        // "Fulano de Tal"
    println!("{}", res.data.birth_date);  // "15/06/1990"
    println!("{}", res.data.gender);      // "M"

    Ok(())
}

Campos retornados

Campo RustJSONExemplo
namename"Fulano de Tal"
name_uppernameUpper"FULANO DE TAL"
gendergender"M"
birth_datebirthDate"15/06/1990"
dayday15
monthmonth6
yearyear1990

Tratamento de erros

HTTPerror.codeDescrição
404CPF_NOT_FOUNDCPF não consta na base
422INVALID_CPF_DIGITSDígitos verificadores inválidos
429RATE_LIMIT_EXCEEDEDMuitas requisições
401UNAUTHORIZEDAPI Key inválida ou ausente

Links


Atualizado em 17 de maio de 2026