LogoLogo
Useful links
  • Home
  • Product guides
  • APIs
  • SDKs
  • Overview
  • CORE API
    • Authentication
    • Available resources
      • Transaction
      • Onboarding
      • Profile
      • Synchronous services
        • OCR Sync
        • Basic Data Sync (Individual)
    • Transaction details
      • Services
        • Document OCR
        • Documentscopy
        • Face Liveness
        • Facematch
        • Facial Biometrics
        • Private Faceset
        • Shared Faceset
        • Document Liveness
      • Background check
        • Data structure
        • KYC
          • Driver
          • Financial
          • Labor
          • Register data
          • Relationships
          • Risk
        • KYB
          • Financial
          • Labor
          • Register data
          • Risk
        • Vehicle
          • Register data
      • Validation rules
      • Manual reprovals
    • Webhooks
      • Transaction
      • Profile
      • Face authentication
  • MOBILE API
    • Authentication
    • Available resources
      • Face liveness (deprecated)
      • Face registration (deprecated)
      • Face authentication (deprecated)
    • Response signature
  • GLOBAL API
    • Authentication
    • Available resources
      • Services
        • Company search
        • Company record
        • Basic Data Sync (Individual)
        • Sanctions
      • Orchestrations
        • Transactions
          • Services
            • KYB
              • Credit Report
              • Business Identity
            • KYC
              • Adverse Media
              • PEPs
              • Sanctions
              • Warnings
              • Global identity verification
              • Global identity double verification
            • DOC ID
              • Global Document Verification
      • Onboardings
        • Links
    • Webhooks
  • SMART AUTH API
    • Authentication
    • Available resources
      • Authentications
      • Create identity
  • Joint resolution 6 API
    • Authentication
    • Available resources
      • Suspected fraud creation
      • Suspected fraud query
      • Suspected fraud update
      • Suspected fraud deletion
    • Using mTLS
    • Changelog
LogoLogo

2025 © Caf. - All rights reserved

On this page
  • Consultation at Receita Federal
  • Consultation at Receita Federal - NEW (PF2)
  • Basic Data (PF1.1)
  • Consultation at Receita Federal - NEW (PF1.2)
  • Emails (PF11)
  • Addresses (PF12)
  • Phone numbers (PF13)
  • ANTT
  • Site Data (PF32)
  • Addresses - NEW (PF77)
  • Phone numbers - NEW (PF14)
  • Zip code details - NEW (PF15)
  • CURP Check (PF18)
  1. CORE API
  2. Transaction details
  3. Background check
  4. KYC

Register data

Consultation at Receita Federal

Returns if the consulted CPF is Regular, Irregular, Death and other information from the Receita Federal.

Section: cpf

Required parameters: cpf, birthDate

Attribute
Type
Description

cpf

Object

Object with CPF query details

cpf.statusCode

String

Status Code

cpf.name

String

Name of the person at the IRS

cpf.socialName

String

Social name of the person

cpf.birthDate

String

Date of birth at the Federal Inland Revenue

cpf.registrationStatusCode

String

Cadastral situation code

cpf.registrationStatusMessage

String

Message Cadastral situation

cpf.issueDate

String

Date of issuance of the document at the Federal Inland Revenue Service

cpf.deathYear

String

Death year (if existent)

cpf.deathMessage

String

Message of death

{
  "cpf": {
    "statusCode": "00",
    "registrationStatusCode": "00",
    "registrationStatusMessage": "REGULAR",
    "name": "JOHN DOE",
    "socialName": "JANE DOE",
    "birthDate": "08/05/1987",
    "issueDate": "14/02/2012",
    "deathYear": "",
    "deathMessage": ""
  }
}
Rule
Description

cpf_query

Check if it was possible to consult the CPF at the Receita Federal.

cpf_error_code

Checks that the CPF is in order.

cpf_equal_name

Checks that the name found in the run (parameter/OCR) is the same as the official database.

cpf_has_not_dead

The rule will be invalid if the consulted CPF is in a deceased status according to the Basic PF Data or Receita Federal (pfBasicData, cpf, and pfData).

over_21

Checks if the CPF holder is over 21 years old.

over_18

Checks if the CPF holder is over 18 years old.

over_16

Checks if the CPF holder is over 16 years old.

over_14

Checks if the CPF holder is over 14 years old.

first_and_last_name_similarity

Checks the similarity between the union of the first and last name sent in the parameters compared to the union of the first name and each surname in the source.

Consultation at Receita Federal - NEW (PF2)

Query the Brazilian Receita Federal Service or private sources (according to availability), and return whether the consulted CPF is in regular, irregular, or deceased status. Its difference from the "cpf" source is that it can be queried without the "birthdate" parameter, and individual rules can be applied for the Receita Federal status: regular, suspended, null, canceled, deceased, and pending regularization.

Section: pfData

Required parameter: cpf

Attribute
Type
Description

statusCode

String

data

Object

Return data

data.name

String

Name

data.socialName

String

Social name

data.birthDate

String

Date of birth

data.taxIdStatus

String

CPF status in relation to the Internal Revenue Service

{
  "statusCode": "01",
  "data": {
    "name": "JOHN DOE",
    "socialName": "JANE DOE",
    "taxIdStatus": "REGULAR",
    "birthDate": "08/05/1999"
  }
}
Rule
Description

does_not_exist_on_receita_federal_database

The rule will be invalid if the CPF is not found in the Receita Federal database.

is_not_alive

The rule will be invalid if the consulted CPF is in a deceased status according to the Basic PF Data or Receita Federal (pfBasicData and pfData).

is_not_pendant_of_regularization

The rule will be invalid if the consulted CPF has pending regularization status in the Receita Federal.

is_not_cancelled

The rule will be invalid if the consulted CPF has canceled registration in the Receita Federal.

is_not_suspended

The rule will be invalid if the consulted CPF has suspended registration status in the Receita Federal.

is_not_null

The rule will be invalid if the consulted CPF has null registration status in the Receita Federal.

over_18

Checks if the CPF holder is over 18 years old.

over_16

Checks if the CPF holder is over 16 years old.

over_14

Checks if the CPF holder is over 14 years old.

cpf_query

Check if it was possible to consult the CPF at the Receita Federal.

cpf_error_code

Checks that the CPF is in order.

cpf_equal_name

Checks that the name found in the run (parameter/OCR) is the same as the official database.

cpf_has_not_dead

The rule will be invalid if the consulted CPF is in a deceased status according to the Basic PF Data or Receita Federal (pfBasicData, cpf, and pfData).

is_cpf_regular

The rule will be invalid if the CPF has irregular registration in the Receita Federal.

invalid_range_ages

Checks that the CPF holder is within the configured age range.

Basic Data (PF1.1)

Gathers basic information about a CPF.

Section: pfBasicData

Required parameter: cpf

Attribute
Type
Description

statusCode

String

data

Object

Return data

data.name

String

Name

data.socialName

String

Social name

data.gender

String

Genre

data.birthDate

String

Date of birth

data.birthCountry

String

Country of birth

data.motherName

String

Mother's name

data.fatherName

String

Father's name

data.taxIdNumber

String

CPF number

data.taxIdCountry

String

Document country

data.alternativeIdNumbers

Object

Alternative document numbers

data.alternativeIdNumbers.SocialSecurityNumber

String

Social Security Number

data.taxIdStatus

String

CPF status in relation to the Internal Revenue Service

data.taxIdOrigin

String

Origin of the CPF

data.hasObitIndication

Boolean

Indicate if there was a death for that person

data.obitIndicationOrigin

String

The source of the death information

data.obitIndicationYear

String

Year of death indication

data.taxIdStatusDate

String

Status Query Date

data.creationDate

String

Creation date

data.lastUpdateDate

String

Last updated

data.message

String

Description of the query status

{
  "statusCode": "01",
  "data": {
    "taxIdNumber": "03852939097",
    "taxIdCountry": "BRAZIL",
    "name": "JOHN DOE",
    "socialName": "JANE DOE",
    "gender": "M",
    "birthDate": "1999-05-08T00:00:00Z",
    "birthCountry": "BRASILEIRA",
    "motherName": "MARIA DOE",
    "fatherName": "",
    "taxIdStatus": "REGULAR",
    "taxIdOrigin": "RECEITA FEDERAL",
    "alternativeIdNumbers": {
      "SocialSecurityNumber": "12961902314"
    },
    "hasObitIndication": false,
    "obitIndicationOrigin": "",
    "obitIndicationYear": "",
    "taxIdStatusDate": "2016-02-01T00:00:00Z",
    "creationDate": "2016-02-01T00:00:00Z",
    "lastUpdateDate": "2016-02-01T00:00:00Z"
  }
}
Rule
Description

over_21

Checks if the CPF holder is over 21 years old.

over_18

Checks if the CPF holder is over 18 years old.

over_16

Checks if the CPF holder is over 16 years old.

over_14

Checks if the CPF holder is over 14 years old.

over_14

Checks if the CPF holder is over 14 years old.

cpf_null

Checks that the basic data source is returning values.

invalid_range_ages

Checks that the CPF holder is within the configured age range.

Consultation at Receita Federal - NEW (PF1.2)

Gathers basic information about a CPF.

Section: pfCpfData

Required parameter: cpf

Attribute
Type
Description

statusCode

String

data

Object

Return data

data.name

String

Name

data.socialName

String

Social name

data.birthDate

String

Date of birth

data.taxIdStatus

String

CPF status in relation to the Internal Revenue Service

data.taxIdNumber

String

CPF Id number

{
  "statusCode": "01",
  "data": {
    "taxIdNumber": "03852939097",
    "name": "JOHN DOE",
    "socialName": "JANE DOE",
    "taxIdStatus": "REGULAR",
    "birthDate": "1999-05-08T00:00:00Z",
    "hasObitIndication": true,
    "obitIndicationYear": "2023"
  }
}
Rule
Description

big_data_source_underage

Check if the source returned that the holder is under 18 years old.

cpf_equal_name

Check if the name found during execution (parameter/OCR) matches the official database.

is_not_alive

Check if the CPF belongs to a deceased holder.

is_not_pendant_of_regularization

Check if the CPF has a pending regularization status.

is_not_cancelled

Check if the CPF is listed as canceled with the Federal Revenue Service.

is_not_suspended

Check if the CPF is listed as suspended with the Federal Revenue Service.

is_not_null

Check if the CPF is listed as null with the Federal Revenue Service.

cpf_query

Check if it was possible to make the inquiry with the Federal Revenue Service or not.

Emails (PF11)

Returns a list of the person's e-mails.

Section: pfEmails

Required parameter: cpf

Attribute
Type
Description

statusCode

String

data

Object

Return data

items

Array

Emails data

items[x].email

String

Email address

items[x].type

String

Email Type

items[x].firstPassageDate

String

Date of first passage

items[x].lastPassageDate

String

Date of last passage

{
  "statusCode": "01",
  "data": {
    "items": [
      {
        "email": "[email protected]",
        "type": "personal",
        "firstPassageDate": "2018-04-22T06:06:56.957Z",
        "lastPassageDate": "2020-08-04T09:17:15.041Z"
      }
    ]
  }
}

Addresses (PF12)

Retorna uma lista com os endereços da pessoa.

Section: pfAddresses

Required parameter: cpf

Attribute
Type
Description

statusCode

String

message

String

Description of the query status

data

Array

Return data

data[x].typology

String

Street Type

data[x].title

String

Title/Definition

data[x].addressMain

String

Name

data[x].number

String

Number

data[x].complement

String

Supplement

data[x].neighborhood

String

Neighborhood

data[x].zipCode

String

ZIP CODE

data[x].city

String

City

data[x].state

String

State

data[x].country

String

Country

data[x].type

String

Address List

data[x].complementType

String

Address type calculated from the address complement

data[x].householdCode

String

Household code of address

data[x].buildingCode

String

Address building code

data[x].householdTotalPassages

Number

Number of times this household code has been seen for this entity

data[x].householdBadPassages

Number

Number of times this household code has been seen for this entity in a suspicious situation

data[x].householdCrawlingPassages

Number

Quantidade de passagens do household com a entidade que tem como origem uma captura

data[x].householdValidationPassages

Number

Quantity of household passages with the entity that has a capture as origin

data[x].householdQueryPassages

Number

Quantity of household's tickets with the entity that originates a query

data[x].householdMonthAveragePassages

Number

Average number of times the household was seen with the entity per month

data[x].householdNumberOfEntities

Number

Number of distinct entities associated with this household

data[x].buildingTotalPassages

Number

Number of times this building code has been viewed for this entity

data[x].buildingBadPassages

Number

Number of times this building code has been seen for this entity in a suspicious situation

data[x].buildingCrawlingPassages

Number

Quantity of building passes with the entity that has a capture as origin

data[x].buildingValidationPassages

Number

Quantity of building passes with the entity that has a validation as origin

data[x].buildingQueryPassages

Number

Quantity of building passes with the entity that originates a query

data[x].buildingMonthAveragePassages

Number

Average number of times the building was seen with the entity per month

data[x].buildingNumberOfHouseholds

Number

Number of different households associated with this building

data[x].last3MonthsPassages

Number

Number of entity passages in the last 3 months

data[x].last6MonthsPassages

Number

Number of entity passages in the last 6 months

data[x].last12MonthsPassages

Number

Number of entity passages in the last 12 months

data[x].last18MonthsPassages

Number

Number of entity passages in the last 18 months

data[x].priority

Number

Indicates the priority of the address

data[x].isMain

Boolean

Indicates whether the address is the primary address

data[x].isRecent

Boolean

Indicates whether this address is recent

data[x].isActive

Boolean

Indica se esse endereço está ativo

data[x].isRatified

Boolean

Indicates whether the address has been ratified with the post office's reference base (DNE or similar)

data[x].firstPassageDate

String

Date of the first passage of this household with this entity

data[x].lastPassageDate

String

Date of the last passage of this household with this entity

data[x].creationDate

String

Date of first related record

data[x].lastUpdateDate

String

Last updated address

data[x].hasOptIn

Boolean

Indicates if there has been acceptance of orders at that address

data[x].ibgeCode

String

Municipality code

data[x].latitude

Number

Latitude

data[x].longitude

Number

Longitude

{
  "statusCode": "01",
  "data": {
    "items": [
      {
        "typology": "RUA",
        "title": "",
        "addressMain": "XXXXXX XXXXXXX",
        "number": "17",
        "complement": "",
        "neighborhood": "CENTRO",
        "zipCode": "XXXXXXXX",
        "city": "XXXXXXXXXXX",
        "state": "XX",
        "country": "Brazil",
        "type": "WORK",
        "complementType": "",
        "householdCode": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
        "buildingCode": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
        "householdTotalPassages": 1,
        "householdBadPassages": 1,
        "householdCrawlingPassages": 1,
        "householdValidationPassages": 1,
        "householdQueryPassages": -1,
        "householdMonthAveragePassages": 1,
        "householdNumberOfEntities": 1,
        "buildingTotalPassages": 1,
        "buildingBadPassages": 1,
        "buildingCrawlingPassages": 1,
        "buildingValidationPassages": 1,
        "buildingQueryPassages": -1,
        "buildingMonthAveragePassages": 1,
        "buildingNumberOfHouseholds": -1,
        "last3MonthsPassages": -1,
        "last6MonthsPassages": -1,
        "last12MonthsPassages": -1,
        "last18MonthsPassages": -1,
        "priority": 1,
        "isMain": true,
        "isRecent": false,
        "isActive": true,
        "isRatified": false,
        "firstPassageDate": "2016-02-01T00:00:00Z",
        "lastPassageDate": "2016-02-01T00:00:00Z",
        "creationDate": "2016-02-01T00:00:00Z",
        "lastUpdateDate": "2016-02-01T00:00:00Z",
        "hasOptIn": false,
        "ibgeCode": "XXXXXX",
        "latitude": -00.00,
        "longitude": -00.00
      }
    ]
  }
}

Phone numbers (PF13)

Returns a list of the person's phone numbers.

Section: pfPhones

Required parameter: cpf

Attribute
Type
Description

statusCode

String

data

Object

Return data

items

Array

Phones data

items[x].number

String

Phone Number

items[x].areaCode

String

Area code (DDD of the state)

items[x].countryCode

String

Country Code

items[x].type

String

Number's category

items[x].lastPassageDate

String

Date of last use

items[x].portabilityHistory

Array

Porting History

items[x].hasOptIn

Boolean

Accepts marketing calls

{
  "statusCode": "01",
  "data": {
    "items": [
      {
        "number": "XXXXXXXXX",
        "areaCode": "11",
        "countryCode": "55",
        "type": "MOBILE",
        "lastPassageDate": "2020-05-12T22:46:23.812Z",
        "portabilityHistory": [],
        "hasOptIn": "false"
      }
    ]
  }
}

ANTT

Consult the ANTT website to identify if the carrier is qualified to perform activities.

Section: antt

Required parameter: cpf, plate

Plate formats: AAA9999 or AAA9A999

Attribute
Type
Description

statusCode

String

data

Object

Return data

data.hasRegister

Boolean

Status informing whether it contains a record

data.transporter

String

Carrier

data.rntrc

String

RNTRC Number

data.rntrcSituation

String

Status

data.memberSince

String

Date of first relationship

data.expirationDate

String

Expiration Date

data.city

String

City

data.message

String

Message present at registration

{
  "statusCode": "01",
  "data": {
    "message": "Não foram encontrados transportadores para o filtro informado."
  }
}
Rule
Description

has_no_participant_antt

The rule will be invalid if the consulted vehicle and person/company are not authorized to perform activities.

Site Data (PF32)

Returns information about the sites and domains that are associated with the queried CPF, either through domain registration or through information contained within the site content itself.

Section: pfDomains

Required parameter: cpf

Attribute
Type
Description

statusCode

String

data

Array

Return data

data[x].hostName

String

Host Name

data[x].domainName

String

Domain name

data[x].domainClass

String

Site Classification

data[x].registrationStatus

String

Registration Status

data[x].registrationDate

String

Site creation date

data[x].expirationDate

String

Site Expiration Date

{
  "statusCode": "01",
  "data": [
    {
      "hostName": "",
      "domainName": "",
      "domainClass": "",
      "registrationStatus": "",
      "registrationDate": "",
      "expirationDate": ""
    }
  ]
}

Addresses - NEW (PF77)

Returns an addresses list.

Section: pfAddressesAlt

Required parameter: cpf

Attribute
Type
Description

statusCode

String

data

Object

Return data

data.message

String

Description of the query status

data.addresses

Array

The addresses list sorted in descending order according to the level of reliability

data.addresses[x].street

String

Street address

data.addresses[x].number

String

Address number

data.addresses[x].complement

String

Address complement

data.addresses[x].neighborhood

String

Address neighborhood

data.addresses[x].zipCode

String

Zip code

data.addresses[x].city

String

City

data.addresses[x].state

String

State

data.addresses[x].country

String

Country

data.addresses[x].completeAddress

String

Complete address

{
  "statusCode": "01",
  "data": {
    "message": "Consulta realizada com sucesso",
    "addresses": [
      {
        "street": "Rua Tiradentes",
        "number": "1077",
        "complement": "5º andar",
        "neighborhood": "Centro",
        "zipCode": "95800000",
        "city": "Venâncio Aires",
        "state": "RS",
        "country": "Brasil",
        "completeAddress": "Rua Tiradentes, 1077 - 5º andar - Centro, Venâncio Aires - RS, 95800000"
      },
      {
        "street": "Avenida Marechal Floriano",
        "number": "45",
        "complement": "Sala 801",
        "neighborhood": "Centro",
        "zipCode": "20080901",
        "city": "Rio de Janeiro",
        "state": "RJ",
        "country": "Brasil",
        "completeAddress": "Avenida Marechal Floriano, 45 - Sala 801 - Centro, Rio de Janeiro - RJ, 20080901"
      }
    ]
  }
}

Phone numbers - NEW (PF14)

Returns a list of the person's phone numbers.

*This resource doesn't validate underage

Section: pfPhonesAlt

Required parameter: cpf

Attribute
Type
Description

statusCode

String

message

String

Description of the query status

data

Object

Return data

data.phones

Array

Phones data

data.phones[x].number

String

Phone Number

data.phones[x].areaCode

String

Area code (DDD of the state)

{
  "statusCode": "01",
  "message": "Consulta realizada com sucesso",
  "data": {
    "phones": [
      {
        "number": "999999999",
        "areaCode": "11"
      }
    ]
  }
}

Zip code details - NEW (PF15)

Returns detailed information related to a ZIP code, including street name, district, city, state, and other relevant data.

Section: zipCodeDetails

Required parameter: cep

Attribute
Type
Description

statusCode

String

data

Object

Return data

data.message

String

Description of the query status

data.district

String

District

data.street

String

Street name

data.city

String

City

data.cityCodeIbge

String

City IBGE code

data.ufName

String

State name

data.uf

String

State abbreviation

data.ufCodeIbge

String

State IBGE code

{
  "statusCode": "01",
  "data": {
    "message": "Consulta realizada com sucesso",
    "district": "Centro",
    "street": "Rua Tiradentes",
    "city": "Venâncio Aires",
    "cityCodeIbge": "4322608",
    "ufName": "Rio Grande do Sul",
    "uf": "RS",
    "ufCodeIbge": "43"
  }
}

CURP Check (PF18)

Gathers basic information about a CURP (Clave Única de Registro de Población) in Mexico.

Section: mxCurpCheck

Required parameter: curp

Attribute
Type
Description

statusCode

String

data

Object

Return data

data.name

String

Name

data.gender

String

Genre

data.age

Number

Age

data.birthDate

String

Date of birth

data.birthCountry

String

Country of birth

data.motherName

String

Mother's name

data.fatherName

String

Father's name

data.taxIdNumber

String

CURP number

data.taxIdStatus

String

CURP status in relation to the Internal Revenue Service

data.taxIdCountry

String

Document country

data.taxIdOrigin

String

Origin of the CURP

data.taxIdStatusDate

String

Status Query Date

data.alternativeIdNumbers

Object

Alternative document numbers

data.alternativeIdNumbers.socialSecurityNumber

String

Social Security Number

data.hasObitIndication

Boolean

Indicate if there was a death for that person

data.obitIndicationYear

String

Year of death indication

data.creationDate

String

Creation date

data.lastUpdateDate

String

Last updated

data.message

String

Description of the query status

{
  "statusCode": "01",
  "data": {
    "taxIdNumber": "FOEJ600704HVZXRW36",
    "taxIdStatus": "",
    "taxIdOrigin": "",
    "taxIdCountry": "MEXICO",
    "name": "JOHNNY DOE",
    "gender": "M",
    "age": 26,
    "birthDate": "1999-05-08T00:00:00Z",
    "birthCountry": "MEXICO",
    "motherName": "JANE DOE",
    "fatherName": "JOHN DOE",
    "alternativeIdNumbers": {
      "socialSecurityNumber": ""
    },
    "hasObitIndication": false,
    "obitIndicationYear": "",
    "taxIdStatusDate": "2016-02-01T00:00:00Z",
    "creationDate": "2016-02-01T00:00:00Z",
    "lastUpdateDate": "2016-02-01T00:00:00Z"
  }
}

Last updated 9 days ago

Query status ()

Query status ()

Query status ()

Query status ()

Query status ()

Query status ()

Query status ()

Query status ()

Query status ()

Query status ()

Query status ()

Query status ()

details
details
details
details
details
details
details
details
details
details
details
details