Brazil Tax Registration Verification API (CPF/CNPJ)
Validate Brazil tax identification against CPF/CNPJ in real time, billed only on conclusive results. Endpoint, parameters, response schema, pricing, and integration.

Onboarding users in Brazil means confirming they are who they claim to be. Verifies against the CPF/CNPJ database. A document or a typed-in detail only proves the data exists — not that it is genuine or belongs to the person in front of you. Brazil Tax Registration Verification (CPF/CNPJ) closes that gap by checking the data against CPF/CNPJ. This guide explains what the check does, the exact technical details, and how to integrate it in minutes.
Key takeaways:
- What it checks — Brazil Tax Registration Verification (CPF/CNPJ) validates tax identification against CPF/CNPJ.
- What you get back — a normalized
match_typeplus field-level results you can route straight into approve / review / reject logic. - Why it matters — Tax-ID validation ties an applicant to a verifiable fiscal identity, reducing synthetic-identity and first-party fraud.
- How to use it — one
POSTto Didit's database-validation endpoint, or a no-code workflow module. $0.08 per conclusive query, results in seconds.
What Brazil Tax Registration Verification (CPF/CNPJ) validates
Verifies against the CPF/CNPJ database. Didit exposes it through a single endpoint so you can verify the submitted data against the national tax authority and receive a structured, normalized result — not a raw registry dump you have to parse yourself.
A conclusive response returns the matched source_data and a per-field validation block, so your risk engine gets a clear, machine-readable verdict.
Why it matters
Tax-ID validation ties an applicant to a verifiable fiscal identity, reducing synthetic-identity and first-party fraud.
For regulated businesses in Brazil — fintechs, crypto platforms, lenders, marketplaces, and gaming operators — checking against an authoritative source produces a defensible, auditable record that identity was confirmed at the source, not merely captured from a form or a photo.
Technical details
Didit exposes this service through the unified database-validation endpoint. It is a single POST — no SDK required.
Endpoint
POST /v3/database-validation/
Request parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
issuing_state | string | Yes | ISO 3166-1 alpha-3 country code. Use BRA. |
services | string | Yes | Service identifier. Use bra_tax_registration. |
first_name | string | Yes | First name. |
last_name | string | Yes | Last name. |
date_of_birth | string | Yes | Date of birth. |
tax_number | string | Yes | Tax number. |
Example request
curl -X POST "https://verification.didit.me/v3/database-validation/" \
-H "x-api-key: YOUR_API_KEY" \
-F "issuing_state=BRA" \
-F "services=bra_tax_registration" \
-F "first_name=John" \
-F "last_name=Doe" \
-F "date_of_birth=1990-01-01" \
-F "tax_number=1111111"
Example response (conclusive match)
{
"request_id": "req_01H...",
"status": "Approved",
"issuing_state": "BRA",
"match_type": "full_match",
"validations": [
{
"outcome_code": "MATCH",
"service_id": "bra_tax_registration",
"service_name": "Brazil Tax Registration (CPF/CNPJ)",
"source_data": {
"date_of_birth": "1990-01-01",
"identification_number": "SAMPLE-ID-12345",
"name_match_score": "1.000",
"verifications": {
"date_of_birth": true,
"identification_number": true
}
},
"validation": {
"date_of_birth": "full_match",
"identification_number": "full_match"
}
}
]
}
Performance and billing
- Latency: typically a couple of seconds.
- Cost: $0.08 per conclusive query. You are billed only on conclusive results — no charge for source downtime, missing fields, or pre-source rejections.
- Reliability: runs on Didit's infrastructure with a 99.9% quarterly uptime target.
Use cases
- Fintech & neobanks — confirm a real, verifiable account holder before opening a wallet or extending credit in Brazil.
- Crypto & Web3 — meet VASP onboarding requirements with authoritative-source identity proof.
- Lending — reduce synthetic-identity and first-party fraud with source-verified data.
- Marketplaces & gig platforms — verify users against authoritative data, not just a self-reported form.
- iGaming — satisfy identity and eligibility checks for Brazil players with an auditable trail.
How to integrate with Didit
You can run Brazil Tax Registration Verification (CPF/CNPJ) two ways:
- No-code workflow. In the Didit Business Console, open the Workflow Builder, add the Database Validation module, select Brazil → Brazil Tax Registration Verification (CPF/CNPJ), and activate it. Matching users are routed automatically — no engineering required.
- Direct API. Call the
/v3/database-validation/endpoint shown above withservices=bra_tax_registration. Readmatch_typeand the per-fieldvalidationblock to drive your approve / review / reject logic.
Every Didit account includes 500 free verifications per month, so you can test the full flow end-to-end before you pay for a single query.
Frequently asked questions
What does the Brazil Tax Registration Verification (CPF/CNPJ) check confirm?
It validates the submitted data against CPF/CNPJ and returns a normalized match result, so you learn whether the tax identification exists at the authoritative source and which fields matched.
What happens if the source is temporarily unavailable?
You are not charged. Billing applies only to conclusive results — source downtime, missing fields, and pre-source rejections are free.
How fast is the check?
Database validation typically returns in a couple of seconds, so it fits inside a real-time onboarding flow.
Do I need an SDK?
No. The check is a single HTTPS POST to one endpoint. You can also wire it into a no-code workflow in the Business Console.
Ready to get started?
Validate your first Brazil tax identification today.
- Read the API reference: Brazil Tax Registration Verification (CPF/CNPJ)
- See all database validations: Database Validation pricing & coverage
- Start building: Create a free Didit account — 500 verifications a month, free.