> ## Documentation Index
> Fetch the complete documentation index at: https://docs.didit.me/llms.txt
> Use this file to discover all available pages before exploring further.

# Consulta de CNPJ en Brasil: API del registro de empresas

> Consulta el CNPJ en el registro oficial de empresas de Brasil con Didit. Pago por consulta desde $0.20, sin contratos ni mínimos.

Consulta una empresa brasileña por su CNPJ en el registro de la Receita Federal: razón social y nombre comercial, situación registral, fecha de constitución, naturaleza jurídica, actividad principal y estado de la sede. Didit ofrece este servicio a través de `POST /v3/database-validation/` para que puedas verificar los datos enviados contra la fuente oficial y recibir resultados de coincidencia normalizados.

## Cobertura

* **Cobertura:** \~ 100%
* **País:** Brasil
* **ID del servicio:** `bra_company_registry`
* **Dominio de datos:** Gubernamental
* **Categoría:** CompanyRegister

## Entradas

| Campo | Obligatorio | Ejemplo |
| - | -: | - |
| `company_registration_number` | Sí | `11222333000181` |
| `vendor_data` | No | `user-1234` |

* **Entradas obligatorias:** `company_registration_number`
* **Entradas opcionales:** `vendor_data`
* **Consentimiento:** No es necesario
* **Disponibilidad en flujos:** Disponible en un flujo con mapeo de campos
* **Cobertura:** \~ 100%
* **Precio:** \$0.20 por consulta exitosa

En un flujo, `company_registration_number` no figura impreso en ningún documento de identidad, así que ningún paso lo genera por sí solo. Obtenlo de una respuesta de un cuestionario, de un campo extraído por Document AI o de un valor que envíes al crear la sesión, y mapéalo en el paso de Validación de base de datos. Mientras no esté mapeado, el editor de flujos muestra este servicio desactivado e indica la entrada que falta; en tiempo de ejecución, si falta una entrada, la comprobación se omite antes de realizar cualquier consulta, por lo que nunca se te factura por una base de datos que no se pudo consultar.

## Parámetros del cuerpo

**issuing\_state** `string` *required* (default: BRA)

Código de país ISO 3166-1 alfa-3 para este servicio de base de datos.

Ejemplo: `BRA`

**services** `string` *required* (default: bra\_company\_registry)

Array que contiene este ID de servicio. Fijar el servicio limita la solicitud a esta base de datos concreta.

Ejemplo: `bra_company_registry`

**company\_registration\_number** `string` *required* (default: 11222333000181)

Valor de `company_registration_number` que requiere este servicio de base de datos.

Ejemplo: `11222333000181`

**vendor\_data** `string` (default: user-1234)

Tu referencia estable para esta persona, como tu ID de usuario interno. Didit la usa para vincular las comprobaciones independientes al mismo usuario final y reducir el ruido en la detección de duplicados.

Ejemplo: `user-1234`

## Reglas de entrada y notas de validación

* `company_registration_number` debe coincidir con `[0-9A-Za-z]{2}\.?[0-9A-Za-z]{3}\.?[0-9A-Za-z]{3}/?[0-9A-Za-z]{4}-?\d{2}`.

## Cómo invocarlo

```bash cURL theme={null}
curl -X POST "https://verification.didit.me/v3/database-validation/" \
  -H "x-api-key: YOUR_API_KEY" \
  -F "issuing_state=BRA" \
  -F "services=bra_company_registry" \
  -F "vendor_data=user-1234" \
  -F "company_registration_number=11222333000181"
```

Toda llamada exitosa devuelve HTTP `200`. El campo **`outcome_code`** te indica qué ocurrió realmente; por ejemplo, distingue una discrepancia biométrica real (`BIOMETRIC_NO_MATCH`) de una selfie que no se pudo leer (`BIOMETRIC_IMAGE_UNUSABLE`). El `status` que se muestra es el estado predeterminado de la función; las [acciones de Partial Match / No Match](https://docs.didit.me/es/core-technology/database-validation/database-validation-warnings.md) que hayas configurado pueden sobrescribirlo.

**`MATCH`**: el registro confirmó la identidad y todos los campos comprobados coincidieron.

```json 200 OK — MATCH theme={null}
{
  "request_id": "req_01H…",
  "status": "Approved",
  "issuing_state": "BRA",
  "match_type": "full_match",
  "validations": [
    {
      "outcome_code": "MATCH",
      "service_id": "bra_company_registry",
      "service_name": "Brazil - Company Registry Lookup (CNPJ)",
      "source_data": {
        "company_name": "EMPRESA EXEMPLO LTDA",
        "company_status": "ATIVA",
        "company_status_date": "2025-01-10",
        "headquarters_state": "SP",
        "legal_nature": "SOCIEDADE EMPRESARIA LIMITADA",
        "main_activity": "DESENVOLVIMENTO DE PROGRAMAS DE COMPUTADOR SOB ENCOMENDA",
        "main_activity_code": "6201501",
        "registration_date": "2010-03-15",
        "registration_number": "11222333000181",
        "trade_name": "EXEMPLO"
      },
      "validation": {}
    }
  ]
}
```

**`DOCUMENT_NOT_FOUND`**: el número de documento enviado no corresponde a ningún registro.

```json 200 OK — DOCUMENT_NOT_FOUND theme={null}
{
  "request_id": "req_01H…",
  "status": "Declined",
  "issuing_state": "BRA",
  "match_type": "no_match",
  "validations": [
    {
      "outcome_code": "DOCUMENT_NOT_FOUND",
      "service_id": "bra_company_registry",
      "service_name": "Brazil - Company Registry Lookup (CNPJ)",
      "source_data": {
        "identification_number": "NO_MATCH"
      },
      "validation": {}
    }
  ]
}
```

## Datos devueltos

Los campos exactos que aparecen en `source_data` dependen de lo que devuelva el registro. El ejemplo generado para `bra_company_registry` documenta actualmente esta estructura normalizada:

* `company_name`
* `company_status`
* `company_status_date`
* `headquarters_state`
* `identification_number`
* `legal_nature`
* `main_activity`
* `main_activity_code`
* `registration_date`
* `registration_number`
* `trade_name`

## Precios y SLA

Las consultas de Consulta del registro de empresas de Brasil (CNPJ) se facturan solo cuando Didit recibe un resultado concluyente de la fuente de validación.

* **Precio por llamada:** \$0.20 USD.
* **Facturación:** por consulta exitosa. No se te cobra cuando el registro no está disponible, cuando faltan campos obligatorios o cuando la solicitud se rechaza antes de llegar a la fuente.
* **Latencia:** p95 habitual \< 2 s.
* **Disponibilidad:** 99.9% por trimestre por parte de Didit; la disponibilidad de la fuente externa varía según el país y el conjunto de datos.

## Continúa leyendo

* [Visión general de la validación de bases de datos de Brasil](https://docs.didit.me/api-reference/database-validation/brazil.md)
* [Visión general de la validación de bases de datos](https://docs.didit.me/es/core-technology/database-validation/overview.md)
* [Códigos de resultado](https://docs.didit.me/es/core-technology/database-validation/database-validation-outcome-codes.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.