Updated November 2026
This guide shows how to verify a CPF in Brazil with Verifik’s API: the endpoint, its parameters, a request you can paste into a terminal, the documented response and errors, and what to watch for when you put it in production. Everything below comes from the official endpoint documentation.
About the CPF in Brazil
The Cadastro de Pessoas Físicas (CPF) is Brazil’s individual taxpayer registry, managed by the Receita Federal. A CPF has 11 digits, the last two being check digits, and is usually written as 000.000.000-00. Almost every financial, telecom and e-commerce relationship in Brazil starts with a CPF.
Verifik’s endpoint takes the CPF and the holder’s date of birth, which must match, and returns the full name, name parts and the date of birth on record.
To follow this guide with your own integration, open a Verifik account and generate your access token.
How to call the Brazil CPF API
Endpoint: GET https://api.verifik.co/v2/br/cedula. Send your token in the Authorization: Bearer header. Parameters, as documented:
| Parameter | Required | Description |
|---|---|---|
documentType | Yes | Document type. Allowed value: CPF. |
documentNumber | Yes | CPF number (with or without separators). |
dateOfBirth | Yes | Date of birth in DD/MM/YYYY format. |
Request example with placeholder values (replace them with your user’s data):
curl --location --request GET 'https://api.verifik.co/v2/br/cedula?documentType=CPF&documentNumber=12345678909&dateOfBirth=17/02/2002' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer <token>'200 response from the docs (personal data masked):
{
"data": {
"arrayName": [
"R*****",
"L***",
"R****",
"A****",
"F*******"
],
"dateOfBirth": "2002-**-**",
"documentNumber": "01*******01",
"documentType": "CPF",
"firstName": "R***** L*** R****",
"fullName": "R***** L*** R**** A**** F*******",
"lastName": "A**** F*******"
},
"signature": {
"dateTime": "October 8, 2025 6:44 PM",
"message": "Certified by Verifik.co"
},
"id": "AMARG"
}A successful call returns HTTP 200 with a data object containing: arrayName, dateOfBirth, documentNumber, documentType, firstName, fullName, lastName. Every response also carries a signature (timestamp and “Certified by Verifik.co”) and a unique id you can store as evidence of the check.
Documented errors for /v2/br/cedula
- 401
UNAUTHORIZED(“Authentication required”): the token is missing or invalid; check the Authorization header. - 403
FORBIDDEN(“Access forbidden”): the token is valid but not allowed to use this endpoint; check your plan or permissions. - 404
NotFound(“Record not found”): no record was found; do not treat it as a match and route the case to review or ask for another document. - 409
MissingParameter(“missing documentType”): a required parameter is missing or has an invalid value; fix the request instead of retrying it as is.
Integration tips
- The CPF can be sent with or without separators, according to the docs. Validate the two check digits on your side first to avoid paying for obvious typos.
- The date of birth is required and must match the record; send it as
DD/MM/YYYY. - Processing CPF data falls under Brazil’s LGPD (Law 13.709/2018). Record the legal basis for the check and limit retention.
- For a background check rather than an identity match, use Verifik’s Brazil background check service instead of this endpoint.
Personal data and terms of use
Identity lookups process personal data. Use the API only for a lawful purpose you can document, such as onboarding, fraud prevention or contract checks, collect consent where the local law requires it, and keep only the fields you need. Usage is governed by the smartCHECK terms and conditions.
Pricing
Each successful request consumes credits from your Verifik plan. Current plans and per-endpoint costs are on the smartCHECK pricing page.
Related guides and documentation
- Brazil CNPJ company lookup API
- Argentina DNI verification API
- Endpoint documentation (English)
- Documentation in Spanish
Start testing
Create a Verifik account to get your API token, or book a meeting if you want to review coverage and volumes with the team.




