CNPJ validation API

One GET, one JSON body, no registry fee and no rate limit: the Brazilian company registry number (Brazil) verified against its own check digits - two mod-11 check digits with cyclic weights 2-9.

Request

curl -H "Authorization: Bearer $API_KEY" \
  "https://autorev.rohnelt.dev/v1/identity/validate?type=cnpj&value=11.222.333/0001-81"

Response

{
  "type": "cnpj",
  "valid": true,
  "formatted": "11.222.333/0001-81",
  "details": { ... }
}

valid is a boolean you can branch on at the form boundary; formatted is the canonical rendering to store, so your database stops holding six spellings of the same number.

Try the response without a key

Result appears here.

Important limitation, stated plainly

A checksum proves the number is well-formed. It does not prove the number was ever issued, nor that it belongs to the person presenting it. Any vendor claiming otherwise from a checksum alone is overselling. Use this to reject the ~90% of bad input that is simply mistyped, then use an official registry for the rest.

Verify at scale, not one at a time

The same checks over a REST API: 250 calls per period free, no credit card, no sales call.

Get an API key Read the docs