# brdata Batch CPF/CNPJ Validation

> brdata Batch CPF/CNPJ Validation is a paid API for AI agents from brdata.thomenz.me, paid per call via x402, $0.001/call, status unknown (last checked 2026-09-15).

Validates one or more Brazilian CPF (individual) or CNPJ (company) tax identifiers in a single batch call, returning validity status and normalized formats

## Facts

- Endpoint: POST https://brdata.thomenz.me/validate/batch
- Price: $0.001/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/brdata-batch-cpf-cnpj-validation-b2e88ef2
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_Xlu1SmzksxDCw3-S_NNDy

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability brdata-batch-cpf-cnpj-validation-b2e88ef2 -d '<json body>'
```

Example prompt: Can you validate these Brazilian tax IDs for me — I have a mix of CPFs and CNPJs: 529.982.247-25 and 12.ABC.345/01DE-35 — tell me which ones are valid and give me their normalized values.

## When to prefer this

Use this endpoint when you need to validate Brazilian CPF or CNPJ identifiers in bulk before KYB onboarding, data import, or compliance screening. It handles both classic numeric and the newer alphanumeric CNPJ formats and normalizes output — ideal when you have raw user-submitted strings of uncertain format. Prefer this over a single-record lookup endpoint when processing lists.

## Known failure modes

- Malformed input array returns validation errors
- Unrecognized identifier format may return valid:false rather than an error
- Payment failure (x402) blocks the request entirely
- Empty batch body returns an error or empty results
- Very large batches may time out or require chunking

## How this service works

Batch-validate Brazilian identifiers: CPF, CNPJ (incl. new alphanumeric format), PIS, license plates, Pix keys. Up to 100 per call.

## Output

A JSON object with a 'results' array (one entry per input) containing: the identifier type (cpf or cnpj), a boolean 'valid' field, a 'value_normalized' string with the canonical form, and optional 'details' (e.g. format type, formatted string for CNPJ). A 'summary' object reports total, valid, and invalid counts across the batch.

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "results": [
   {
    "type": "cpf",
    "valid": true,
    "details": {},
    "value_normalized": "52998224725"
   },
   {
    "type": "cnpj",
    "valid": true,
    "details": {
     "format": "alphanumeric",
     "formatted": "12.ABC.345/01DE-35"
    },
    "value_normalized": "12ABC34501DE35"
   }
  ],
  "summary": {
   "total": 2,
   "valid": 2,
   "invalid": 0
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/brdata-batch-cpf-cnpj-validation-b2e88ef2/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from brdata.thomenz.me](https://www.zero.xyz/host/brdata.thomenz.me/llms.txt)
