---
title: "Compliance Complete PJ"
description: "API Compliance Empresarial - Risco reduzido em segundos"
lang: en
canonical: https://doc.apibrasil.io/apis/creditos/0f4c925d-85df-4b90-9149-1d5e4941419a
markdown: https://doc.apibrasil.io/apis/creditos/0f4c925d-85df-4b90-9149-1d5e4941419a.md
source: apibrasil-documentation
---

# Compliance Complete PJ

> API Compliance Empresarial - Risco reduzido em segundos

- **Category:** Credit Analysis
- **Billing:** per query, with the Bearer Token only
- **Price:** R$14.44 per query
- **Limit:** 999,000 per month
- **Registration:** requires a CNPJ
- **Version:** v2
- **Published by:** APIBrasil
- **OpenAPI specification:** https://doc.apibrasil.io/apis/creditos/0f4c925d-85df-4b90-9149-1d5e4941419a/openapi.json

## How to call

**Base address:** `https://gateway.apibrasil.io/api/v2`

Authentication: the `Authorization: Bearer <token>` header. Nothing else.

With `homolog: true` in the body, the gateway answers from a fixed base, with the real shape of the response, and does not charge. The CPF 00000000000 belongs to that base and to nobody: use it in tests, never in production.

## Endpoints (1 endpoint)

### 1. POST /consulta/cnpj/credits

API Compliance Empresarial - Segurança e agilidade na análise de empresas

A API Compliance Complete PJ oferece uma solução rápida e eficiente para consulta detalhada de CNPJs, facilitando o monitoramento e validação de empresas parceiras ou fornecedores em poucos segundos. Com integração simplificada via método POST, seu sistema passa a contar com respostas completas e objetivas sobre a situação cadastral e o histórico de compliance de pessoas jurídicas, agregando segurança e valor imediato aos seus processos de avaliação. Utilize o retorno dessa API para automatizar aprovações, reforçar sua régua de conformidade e elevar a confiança nas decisões de negócio.

- **Method:** `POST`
- **Address:** `https://gateway.apibrasil.io/api/v2/consulta/cnpj/credits`
- **Route version:** v2

**Headers**

| Header | Value |
| --- | --- |
| `Content-Type` | `application/json` |
| `Authorization` | `Bearer $APIBRASIL_TOKEN` |

**Request body**

```json
{
  "tipo": "compliance-complete-pj",
  "cnpj": "44.959.669/0001-80",
  "homolog": true
}
```

**In cURL**

```bash
curl -X POST "https://gateway.apibrasil.io/api/v2/consulta/cnpj/credits" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $APIBRASIL_TOKEN" \
  -d '{"tipo":"compliance-complete-pj","cnpj":"44.959.669/0001-80","homolog":true}'
```

This endpoint accepts `homolog: true` in the body: the response comes back with valid data, `api_limit_for` equal to `homolog` and no charge.

**Sample response, from the catalog**

```json
{
  "user": {
    "first_name": "[omitido]",
    "email": "[omitido]",
    "cellphone": "[omitido]",
    "notification": "yes"
  },
  "balance": "105,660",
  "balance_before": "105,660",
  "tax": "0,000",
  "status_code": 200,
  "error": false,
  "message": "Dados validos em homologacao! Voce nao foi tarifado e a requisicao nao foi contabilizada.",
  "valor_consulta": 0,
  "api_limit_for": "homolog",
  "homolog": true,
  "data": {
    "resultado": {
      "cnpj": "44959669000180",
      "compliance": {
        "ceis": [],
        "cepim": [],
        "cnep": [],
        "ibama": [],
        "mpf_leniencia": [],
        "mpt_lista_suja": [],
        "pep": [],
        "tcu": []
      },
      "consultas": {
        "cnpj": "44959669000180",
        "contagem_consultas_31_a_60_dias": 1,
        "contagem_consultas_61_a_90_dias": 2,
        "contagem_consultas_mais_90_dias": 6,
        "contagem_consultas_ultimos_30_dias": 3,
        "detalhes_consultas": [
          {
            "contagem_consultas": 1,
            "data_consulta": {
              "ano": "2026",
              "dia": "3",
              "mes": "3"
            },
            "segmento": "Comercio"
          },
          {
            "contagem_consultas": 1,
            "data_consulta": {
              "ano": "2026",
              "dia": "19",
              "mes": "2"
            },
            "segmento": "Instituicoes Financeiras"
          },
          {
            "contagem_consultas": 2,
            "data_consulta": {
              "ano": "2026",
              "dia": "11",
              "mes": "1"
            },
            "segmento": "Servicos"
          },
          {
            "contagem_consultas": 1,
            "data_consulta": {
              "ano": "2025",
              "dia": "18",
              "mes": "12"
            },
            "segmento": "0"
          },
          {
            "contagem_consultas": 1,
            "data_consulta": {
              "ano": "2025",
              "dia": "7",
              "mes": "11"
            },
            "segmento": "Logistica"
          },
          {
            "contagem_consultas": 1,
            "data_consulta": {
              "ano": "2025",
              "dia": "23",
              "mes": "10"
            },
            "segmento": "0"
          },
          {
            "contagem_consultas": 2,
            "data_consulta": {
              "ano": "2025",
              "dia": "4",
              "mes": "9"
            },
            "segmento": "Instituicoes Financeiras"
          },
          {
            "contagem_consultas": 1,
            "data_consulta": {
              "ano": "2025",
              "dia": "15",
              "mes": "8"
            },
            "segmento": "Tecnologia"
          }
        ]
      },
      "dados_cadastrais": {
        "cd_cnae_fiscal_principal": "6311900",
        "cd_cnae_fiscal_secundarios": [
          "6201501",
          "6204000",
          "6319400",
          "6399200"
        ],
        "cd_natureza_juridica": "2062",
        "cd_qualificacao_responsavel": "49",
        "cd_ramo_atividade": "J",
        "classificacao_td": "Comercio e Servicos",
        "cnpj_basico": "44959669",
        "cnpj_completo": "44959669000180",
        "cnpj_dv": "80",
        "cnpj_ordem": "0001",
        "data_inicio_atividade": "2021-05-10",
        "ds_cnae_fiscal_principal": "Tratamento de dados, provedores de servicos de aplicacao e servicos de hospedagem na internet",
        "ds_cnae_fiscal_secundarios": [
          "Desenvolvimento de programas de computador sob encomenda",
          "Consultoria em tecnologia da informacao",
          "Portais, provedores de conteudo e outros servicos de informacao na internet",
          "Outras atividades de prestacao de servicos de informacao nao especificadas anteriormente"
        ],
        "ds_natureza_juridica": "Sociedade Empresaria Limitada",
        "ds_ramo_atividade": "INFORMACAO E COMUNICACAO",
        "ente_federativo_responsavel": null,
        "identificador_matriz_filial": "MATRIZ",
        "nome_cidade_exterior": null,
        "nome_fantasia": "ORBITA DADOS",
        "pais": null,
        "razao_social_nome_empresarial": "ORBITA DADOS E SISTEMAS LTDA"
      },
      "dados_contato": {
        "emails": [
          {
            "emails": "[omitido]",
            "ordem": "0",
            "rfb": true
          }
        ],
        "faxs": [
          {
            "_up": "2026-03-01",
            "ddd": "31",
            "numero": "33445566",
            "ordem": "0",
            "rfb": true,
            "tipo": "FAX"
          }
        ],
        "logradouros": [
          {
            "logradouro_bairro": "Funcionarios",
            "logradouro_cep": "30130110",
            "logradouro_complemento": "Conjunto 1201",
            "logradouro_endereco": "Getulio Vargas",
            "logradouro_geo_composed": {
              "lat": "-19.9365122",
              "lon": "-43.9348801"
            },
            "logradouro_latitude": "-19.9365122",
            "logradouro_longitude": "-43.9348801",
            "logradouro_municipio": "Belo Horizonte",
            "logradouro_numero": "820",
            "logradouro_tipo": "Avenida",
            "logradouro_uf": "MG",
            "logradouro_uf_iso": "BR-MG",
            "ordem": "0",
            "rfb": true
          }
        ],
        "telefones": [
          {
            "_up": "2026-03-01",
            "ddd": "31",
            "ddi": null,
            "numero": "998877665",
            "ordem": "0",
            "rfb": true,
            "tipo": "CELULAR"
          }
        ]
      },
      "dividas_publicas": {
        "pgfn_fgts": {
          "quantidade": "0",
          "ultimas_ocorrencias": [],
          "valor": "0,00"
        },
        "pgfn_nao_previdenciario": {
          "quantidade": "0",
          "ultimas_ocorrencias": [],
          "valor": "0,00"
        },
        "pgfn_previdenciario": {
          "quantidade": "0",
          "ultimas_ocorrencias": [],
          "valor": "0,00"
        }
      },
      "filiais": [],
      "firmografico": {
        "capital_social": "120000.00",
        "cd_porte_empresa": "03",
        "ds_faixa_faturamento": "Ate R$ 360.000,00",
        "ds_porte_empresa": "EMPRESA DE PEQUENO PORTE",
        "faixa_funcionarios_presumidos": "1 ate 5 funcionarios",
        "porte_td": "Microempresa (ME)",
        "quantidade_funcionarios_presumidos": "4",
        "quantidade_funcionarios_rais_1": null,
        "quantidade_funcionarios_rais_2": null,
        "valor_faturamento_presumido": "265430.50"
      },
      "indicadores_de_negocios": {
        "descricao_indicadores_de_negocios": "Os indicadores de Negocios PJ sao calculados atraves dos dados do cadastro positivo e levam em consideracao o comportamento em credito do CNPJ consultado em relacao a populacao de empresas brasileiras.",
        "endividamento": {
          "contratos_em_aberto": {
            "descricao": "Nao possui parcelas em atraso no periodo calculado.",
            "nomes": "Quantidade de contratos em aberto",
            "risco": "Risco Baixo"
          },
          "credito_emergencial": {
            "descricao": "A empresa nao possui historico de uso de credito emergencial nos ultimos 6 meses.",
            "nomes": "Uso de credito emergencial",
            "risco": "Indefinido"
          }
        },
        "pontualidade_de_pagamento": {
          "pontualidade_pagamento": {
            "descricao": "A empresa apresenta bom volume de compromissos financeiros pagos em dia.",
            "nomes": "Pontualidade de Pagamento",
            "risco": "Risco Baixo"
          },
          "tempo_atraso": {
            "descricao": "Nao possui parcela em atraso no periodo calculado.",
            "nomes": "Tempo de atraso",
            "risco": "Risco Baixo"
          }
        },
        "relacionamento_com_o_mercado": {
          "novas_contratacoes": {
            "descricao": "A empresa nao apresentou novas contratacoes de credito nos ultimos 12 meses.",
            "nomes": "Quantidade de novas contratacoes",
            "risco": "Risco Baixo"
          },
          "perfil_contratacao": {
            "descricao": "A empresa utilizou produtos de credito com risco medio.",
            "nomes": "Risco do perfil de contratacao",
            "risco": "Risco Medio"
          },
          "perfil_de_relacionamento": {
            "descricao": "Possui historico reduzido de contratacoes em instituicoes financeiras.",
            "nomes": "Indicadores de Relacionamento com o Mercado - Perfil de Relacionamento",
            "risco": "Indefinido"
          }
        }
      },
      "negativacoes": {
        "acoes_judiciais_apontamentos": [],
        "apontamentos": [],
        "ccf_apontamentos": [],
        "controle_pendencias_credito": "0",
        "data_ultimo_apontamento": {
          "ano": null,
          "dia": null,
          "mes": null
        }
      },
      "obitos": {
        "socios_obitos": []
      },
      "patrimonio": {
        "aeronaves": [],
        "grupo_economico": [],
        "multiempresarial": [
          {
            "cnpj_basico": "44959669",
            "cnpj_completo": "44959669000180",
            "nome_fantasia": "ORBITA DADOS",
            "razao_social": "MARIO COSTA FERREIRA"
          }
        ]
      },
      "possui_dados_negativacoes": false,
      "protestos": [
        {
          "cartorios": [],
          "cnpj": null,
          "cpf_cnpj": null,
          "data_consulta": "2026-03-04",
          "descricao_erro": null,
          "erro": null,
          "id_transacao": null,
          "mostrar_invalidos": null,
          "retorno": null,
          "situacao": null,
          "total_protestos": null,
          "valor_protestados_total": null
        }
      ],
      "quadro_societario": {
        "mei_proprietario_cpf": null,
        "mei_proprietario_nome": null,
        "socios": [
          {
            "cd_faixa_etaria_socio": "4",
            "cd_identificador_socio": "2",
            "cd_qualificacao_socio": "49",
            "cd_representante_legal_qualificacao": "00",
            "cpf_cnpj_socio": "***456789**",
            "cpf_cnpj_socio_tratado": "45678912300",
            "data_entrada_sociedade": "2021-05-10",
            "ds_faixa_etaria_socio": "31 A 40 ANOS",
            "ds_identificador_socio": "PESSOA FISICA",
            "ds_qualificacao_socio": "Socio-Administrador",
            "ds_representante_legal_qualificacao": "Nao informada",
            "nome_socio_razao_social": "MARIO COSTA FERREIRA",
            "pais": null,
            "representante_legal_cpf": "***000000**",
            "representante_legal_cpf_tratado": null,
            "representante_legal_nome": null
          }
        ]
      },
      "regime_tributario": {
        "opcao_mei": false,
        "opcao_mei_data_exclusao": null,
        "opcao_mei_data_opcao": null,
        "opcao_simples": true,
        "opcao_simples_data_exclusao": null,
        "opcao_simples_data_opcao": "2021-05-10",
        "regime_tributario": []
      },
      "score": {
        "descricao": "Medio",
        "descricao_complementar_score": "De acordo com o perfil do CNPJ consultado e seu principal socio, o risco de nao pagamento dos compromissos financeiros da empresa e estatisticamente medio.",
        "descricao_probabilidade_pagamento": "A chance desta empresa nao pagar nos proximos meses e de 38%.",
        "numero_score": 642,
        "probabilidade_pagamento": "50% e 70%",
        "razao_numero_score_1": "Possui quadro societario com baixo numero de socios ou acionistas",
        "razao_numero_score_2": "Nao possui negativacoes ativas recentes",
        "razao_numero_score_3": "Possui baixo volume de contratos ativos para quitacao",
        "razao_numero_score_4": "Possui historico limitado de consultas de credito nos ultimos 6 meses"
      },
      "situacao_cadastral": {
        "cd_situacao_cadastral": "2",
        "cd_situacao_cadastral_motivo": "00",
        "ds_situacao_cadastral": "ATIVA",
        "ds_situacao_cadastral_motivo": null,
        "situacao_cadastral_data": "2021-05-10",
        "situacao_especial": null,
        "situacao_especial_data": null
      },
      "status_cadastro_positivo": "1"
    }
  }
}
```

In the sample responses, the fields of the account that generated the sample (`user.first_name`, `user.email`, `user.cellphone`) come out as `[omitido]`. The rest is what the catalog publishes.

## Pitfalls: what an integration gets wrong without warning

Established from the responses the catalog itself publishes. In every one of them the code works on the happy path and fails silently everywhere else:

1. **The error arrives in the BODY, with HTTP 200.**
   The response carries a boolean `error` field and a `message`. Checking only `response.ok` or the HTTP status lets a failure through as a success. ALWAYS check `error === false` before reading `data`.

2. **`balance`, `tax` and `extra_charges.total` are STRINGS in Brazilian format — and the format varies between APIs.**
   Values seen in the catalog: `"154,380"`, `"497,84"`, `"0,000"` and `"0.19"`. Comma in some, dot in another; three decimal places in some, two in another. In JavaScript, `parseFloat("154,380")` returns `154` and drops the cents with no error at all, and `Number("154,380")` returns `NaN`. Write a converter that handles both separators, and never use these fields in a financial decision without converting them.

3. **Every call costs money.**
   Blind retries multiply the bill. Never automatically repeat a 4xx: a bad parameter repeated is still bad, and still charged. Retry only timeouts and 5xx, with exponential backoff and a small attempt ceiling.

4. **HTTP 402 means insufficient balance, and retrying does not fix it.**
   It is the one status that needs a human — a top-up. Treat it as a terminal error with its own message, and do not lump it in with generic 4xx.

5. **`extra_charges` bills on top of the lookup price.**
   When the body asks for add-on services, the response lists each one with its price plus a `total` that is NOT included in the base amount. If you show cost to an end user, add both.

## See also

- OpenAPI specification: https://doc.apibrasil.io/apis/creditos/0f4c925d-85df-4b90-9149-1d5e4941419a/openapi.json
- API catalog: [API catalog](https://doc.apibrasil.io/apis.md)
- Official SDKs: [Official SDKs](https://doc.apibrasil.io/sdks.md)
- Documentation index: https://doc.apibrasil.io/llms.txt
- HTML version of this page: https://doc.apibrasil.io/apis/creditos/0f4c925d-85df-4b90-9149-1d5e4941419a
