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.
Pré-requisitos
- Rust 1.70+
- Uma API Key em app.cpfhub.io
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 Rust | JSON | Exemplo |
|---|---|---|
name | name | "Fulano de Tal" |
name_upper | nameUpper | "FULANO DE TAL" |
gender | gender | "M" |
birth_date | birthDate | "15/06/1990" |
day | day | 15 |
month | month | 6 |
year | year | 1990 |
Tratamento de erros
| HTTP | error.code | Descrição |
|---|---|---|
| 404 | CPF_NOT_FOUND | CPF não consta na base |
| 422 | INVALID_CPF_DIGITS | Dígitos verificadores inválidos |
| 429 | RATE_LIMIT_EXCEEDED | Muitas requisições |
| 401 | UNAUTHORIZED | API Key inválida ou ausente |
Links
Atualizado em 17 de maio de 2026