Consulta de CPF em lote
POST/v1/cpf/batch
Envia até 1.000 CPFs de uma vez. O processamento é assíncrono: a API responde 202 com um batch_id e você acompanha o andamento ou aguarda o webhook.
Corpo da requisição
- []arrayobrigatório
- Lista de 1 a 1.000 itens. CPFs repetidos contam uma vez.
- [].cpfstringobrigatório
- CPF com ou sem pontuação.
- [].birthdatestringobrigatório
- Data de nascimento,
AAAA-MM-DD.
1 crédito por item encontrado.
- O saldo precisa cobrir o lote inteiro, a menos que o seu plano permita excedente. Sem saldo, a resposta é 402 e o lote não começa.
- Itens inválidos, não encontrados e falhas do provedor não cobram. Você pode reenviar apenas os que falharam.
Como o lote é processado
Você envia a lista
A API valida cada item e reserva o processamento. A resposta 202 traz o
batch_id.Respostas rápidas
O que já foi consultado recentemente é resolvido imediatamente. O restante segue para a fonte oficial em segundo plano.
Você acompanha
Consulte o
GET /v1/cpf/batch/{id}até o status sercompleted, ou receba o eventobatch.completedno seu webhook.Você lê os resultados
Os resultados saem paginados e ficam disponíveis por 24 horas.
Campos da resposta 202
- batch_idstring
- Identificador do lote. Use-o para acompanhar.
- statusstring
processingoucompleted.- totalnumber
- Quantidade de itens do lote.
- processednumber
- Itens já resolvidos.
- found / not_found / invalid / errorsnumber
- Contadores por resultado até o momento.
- status_urlstring
- Caminho para acompanhar o lote. Também vem no cabeçalho
Location. - credits_remainingnumber
- Saldo após os itens já cobrados. Pode ser ocultado no painel.
cURL
1curl -X POST https://api.brazid.com/v1/cpf/batch \2 -H "x-api-key: $BRAZID_API_KEY" \3 -H "Content-Type: application/json" \4 -d '[{"cpf":"529.982.247-25","birthdate":"1982-11-26"},{"cpf":"11144477735","birthdate":"1990-05-02"}]'
1const res = await fetch('https://api.brazid.com/v1/cpf/batch', {2 method: 'POST',3 headers: {4 'x-api-key': process.env.BRAZID_API_KEY,5 'Content-Type': 'application/json',6 },7 body: JSON.stringify([8 {9 "cpf": "529.982.247-25",10 "birthdate": "1982-11-26"11 },12 {13 "cpf": "11144477735",14 "birthdate": "1990-05-02"15 }16 ]),17});18 19const data = await res.json();20console.log(res.status, data);
1import os2import requests3 4res = requests.post(5 "https://api.brazid.com/v1/cpf/batch",6 headers={"x-api-key": os.environ["BRAZID_API_KEY"]},7 json=[8 {9 "cpf": "529.982.247-25",10 "birthdate": "1982-11-26"11 },12 {13 "cpf": "11144477735",14 "birthdate": "1990-05-02"15 }16 ],17)18 19print(res.status_code, res.json())
1$ch = curl_init("https://api.brazid.com/v1/cpf/batch");2curl_setopt_array($ch, [3 CURLOPT_RETURNTRANSFER => true,4 CURLOPT_CUSTOMREQUEST => "POST",5 CURLOPT_HTTPHEADER => [6 "x-api-key: " . getenv("BRAZID_API_KEY"),7 "Content-Type: application/json",8 ],9 CURLOPT_POSTFIELDS => '[{"cpf":"529.982.247-25","birthdate":"1982-11-26"},{"cpf":"11144477735","birthdate":"1990-05-02"}]',10]);11 12$data = json_decode(curl_exec($ch), true);13$status = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
202 Accepted
1{2 "success": true,3 "batch_id": "0c1e7f3a-5b2d-4e8a-9c41-6d3f0a8b7e12",4 "status": "processing",5 "total": 2,6 "processed": 1,7 "found": 1,8 "not_found": 0,9 "invalid": 0,10 "errors": 0,11 "status_url": "/v1/cpf/batch/0c1e7f3a-5b2d-4e8a-9c41-6d3f0a8b7e12",12 "credits_remaining": 1913}