# CPF number (alternative)

The alternative Brazil CPF verification service allows you to verify the identity of an individual in Brazil using their individual taxpayer identification number (Cadastro de Pessoas Físicas). The service returns the person’s full name, date of birth, and CPF registration status, including whether the CPF is active, suspended, or cancelled. No document upload is required for verification. This enables quick and automated identity checks against official records.

Endpoint: GET /services/br/cpf/2/{cpf_number}
Version: 1.0
Security: API-Key

## Security:

  - `API-Key` (unknown)
    apiKey in header API-Key

## Path parameters:

  - `cpf_number` (string, required)

## Response 200:

  - `200` (unknown)
    **OK**
The request was successful, and our system returned an expected response.

## Response 200 fields (application/json):

  - `validation` (object)

  - `validation.valid` (boolean)
    Example: true

  - `data` (object)

  - `data.cpf_number` (string)
    Brazilian individual taxpayer identification number (Cadastro de Pessoas Físicas), consisting of 11 numeric digits without formatting (no dots or hyphens)
    Example: 00388415129

  - `data.full_name` (string | null)
    The full name of a person, which includes a first and last name
    Example: Josh Coffey

  - `data.dob` (string | null)
    The date of birth of a person, formatted as “YYYY-MM-DD” according to ISO 8601
    Example: 1976-02-21

  - `data.gender` (string | null)
    The gender of a person. `M` indicates male; `F` indicates female
    Enum: "M", "F"

  - `data.cpf_status` (string)
    Descriptive status of the CPF number, based on official data. Indicates the current registration condition of the CPF holder - `Regular` — Valid (CPF is active and in good standing) - `Suspensa` — Suspended (CPF is temporarily inactive) - `Cancelada` — Canceled (CPF has been officially canceled) - `Pendente` — Pending regularisation (CPF requires corrective action) - `Nula` — Null (CPF was never issued or is invalid)
    Example: Regular

  - `data.cpf_status_code` (string)
    Status code of the CPF number, based on official data - `00` — Valid (CPF is active and in good standing)   - `02` — Suspended (CPF is temporarily inactive)   - `03` — Canceled (CPF has been officially canceled)   - `05` — Pending regularisation (CPF requires corrective action)   - `08` — Null (CPF was never issued or is invalid)
    Enum: "00", "02", "03", "04", "05", "08", "09"

  - `data.cpf_status_reason` (string)
    Human-readable reason for the current CPF registration status, as provided by officials. Explains why the CPF holds its specific status (e.g., suspension due to missing tax declarations, cancellation by request, invalid registration, death)
    Example: REGULAR

  - `data.year_of_death` (integer | null)
    Calendar year in which the individual was reported deceased, based on available records. The field may be `null` if the information is not applicable
    Example: null

## Response 400:

  - `400` (unknown)
    **Bad Request**
Our system could not process the request due to invalid syntax, missing parameters, or incorrect data format. Check the request structure and try again.

## Response 400 fields (application/json):

  - `type` (string)
    Example: bad_request

  - `errors` (array)

## Response 402:

  - `402` (unknown)
    **Payment Required**
Access to the requested resource is restricted until a payment is successfully processed. Ensure your account has a valid payment method or sufficient funds to complete this action.

## Response 402 fields (application/json):

  - `type` (string)
    Example: insufficient_funds

  - `errors` (array)

## Response 422:

  - `422` (unknown)
    **Unprocessable Content**
The request was well-formed but contains invalid or unprocessable data, such as failed validation or incorrect field values.

## Response 422 fields (application/json):

  - `validation` (object)

  - `validation.valid` (boolean)
    Example: false

  - `data` (object)

  - `data.cpf_number` (string)
    Example: 00388415129

## Response 500:

  - `500` (unknown)
    **Internal Server Error**
This response indicates that our system encountered an unexpected condition that prevented it from fulfilling the request.

## Response 500 fields (application/json):

  - `type` (string)
    Example: internal_server

  - `errors` (array)

## Response 502:

  - `502` (unknown)
    **Bad Gateway**
This response indicates that our system is unable to reach or communicate properly with an upstream server it relies on, the URL provided is incorrect, or a required token is missing from the request.

