---
title: "Participação Societária"
description: "Síntese cadastral, quadro societário e participações em empresas de um CPF ou CNPJ. Cobrada só quando há informação; documento inválido é recusado sem cobrança."
lang: pt-BR
canonical: https://doc.apibrasil.io/apis/creditos/96c91e7f-dd7e-11f1-98bb-bc24118aba26
markdown: https://doc.apibrasil.io/apis/creditos/96c91e7f-dd7e-11f1-98bb-bc24118aba26.md
source: apibrasil-documentation
---

# Participação Societária

> Síntese cadastral, quadro societário e participações em empresas de um CPF ou CNPJ. Cobrada só quando há informação; documento inválido é recusado sem cobrança.

- **Categoria:** Consulta CNPJ
- **Cobrança:** por consulta, só com o Bearer Token
- **Preço:** R$ 13,49 por consulta
- **Limite:** 990.000 por mês
- **Cadastro:** exige CNPJ
- **Versão:** v2
- **Publicada por:** APIBrasil
- **Especificação OpenAPI:** https://doc.apibrasil.io/apis/creditos/96c91e7f-dd7e-11f1-98bb-bc24118aba26/openapi.json

## Como chamar

**Endereço base:** `https://gateway.apibrasil.io/api/v2`

Autenticação: cabeçalho `Authorization: Bearer <token>`. Nada além disso.

Com `homolog: true` no corpo, o gateway responde de uma base fixa, com a forma real da resposta, e não cobra. O CPF 00000000000 é dessa base e não é de ninguém: use-o nos testes, nunca em produção.

## Endpoints (2 endpoints)

### 1. POST /consulta/cpf/credits

⚠️ Aviso: a consulta é cobrada só quando há informação para o CPF consultado.

Envie um POST com tipo=participacao-societaria e o cpf (11 dígitos, com ou sem máscara). A mesma consulta aceita cnpj no lugar do cpf; os dois campos juntos são recusados com HTTP 400, sem cobrança. O campo data traz o cpf consultado e as seções sintese_cadastral (documento, rg, nome, nome_social, nascimento e situacao_receita) e participacoes (ativos, inativos e representacoes). CPF com dígito verificador errado é recusado com HTTP 400, sem cobrança; CPF sem informação na base devolve HTTP 404, sem cobrança. Dado bloqueado por ser de menor de idade devolve HTTP 422, sem cobrança. Base de dados indisponível devolve HTTP 502, 503 ou 504, sem cobrança. Em homologação (homolog=true), sem cobrança e com qualquer CPF válido, a resposta traz dados fictícios.

- **Método:** `POST`
- **Endereço:** `https://gateway.apibrasil.io/api/v2/consulta/cpf/credits`
- **Versão da rota:** v2

**Cabeçalhos**

| Cabeçalho | Valor |
| --- | --- |
| `Content-Type` | `application/json` |
| `Authorization` | `Bearer $APIBRASIL_TOKEN` |

**Corpo da requisição**

```json
{
  "tipo": "participacao-societaria",
  "cpf": "12345678909",
  "homolog": true
}
```

**Em cURL**

```bash
curl -X POST "https://gateway.apibrasil.io/api/v2/consulta/cpf/credits" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $APIBRASIL_TOKEN" \
  -d '{"tipo":"participacao-societaria","cpf":"12345678909","homolog":true}'
```

Este endpoint aceita `homolog: true` no corpo: a resposta volta com dados válidos, `api_limit_for` igual a `homolog` e sem tarifação.

**Resposta de exemplo, do catálogo**

```json
{
  "user": {
    "first_name": "[omitido]",
    "email": "[omitido]",
    "cellphone": "[omitido]",
    "notification": "yes"
  },
  "balance": "386,510",
  "balance_before": "400,000",
  "tax": "13,490",
  "status_code": 200,
  "error": false,
  "message": "Dados validos! Voce foi tarifado em R$ 13,49.",
  "valor_consulta": 13.49,
  "api_limit_for": "credit",
  "homolog": false,
  "data": {
    "sintese_cadastral": {
      "documento": "00000000000",
      "rg": "000000000",
      "nome": "NOME FICTICIO",
      "nome_social": "",
      "nascimento": "01/01/1990",
      "situacao_receita": "REGULAR"
    },
    "participacoes": {
      "ativos": [
        {
          "documento": "00000000000000",
          "documento_socio": "00000000000",
          "nome": "EMPRESA FICTICIA ATIVA",
          "condicao": "SOCIO-ADMINISTRADOR",
          "cota": "",
          "tipo": "EMPRESA",
          "data_entrada": "",
          "situacao_receita": "ATIVA",
          "representante_legal": [
            {
              "documento": "00000000000",
              "nome": "NOME FICTICIO",
              "funcao": "17 - Procurador"
            }
          ]
        }
      ],
      "inativos": [
        {
          "documento": "00000000000000",
          "documento_socio": "00000000000",
          "nome": "EMPRESA FICTICIA INATIVA",
          "condicao": "",
          "cota": "",
          "tipo": "EMPRESA",
          "data_entrada": "",
          "situacao_receita": "BAIXADA",
          "representante_legal": [
            {
              "documento": "00000000000",
              "nome": "NOME FICTICIO",
              "funcao": "17 - Procurador"
            }
          ]
        }
      ],
      "representacoes": [
        {
          "cnpj": "00000000000000",
          "nome_empresa": "EMPRESA FICTICIA REPRESENTACAO",
          "documento_socio": "00000000000",
          "nome_socio": "NOME FICTICIO SOCIO",
          "funcao_socio": "22 - Socio",
          "funcao_representante": "5 - Administrador"
        }
      ]
    },
    "cpf": "12345678909"
  }
}
```

### 2. POST /consulta/cnpj/credits

⚠️ Aviso: a consulta é cobrada só quando há informação para o CNPJ consultado.

Envie um POST com tipo=participacao-societaria e o cnpj (14 caracteres, com ou sem máscara). A mesma consulta aceita cpf no lugar do cnpj; os dois campos juntos são recusados com HTTP 400, sem cobrança. O campo data traz o cnpj consultado e as seções sintese_cadastral (documento, nome, nome_fantasia, nascimento, situacao_receita, porte_empresa, natureza_juridica, cnaes, capital_social, dados_enderecos, dados_telefones e dados_emails), qsa (ativos e inativos) e participacoes (ativos e inativos). CNPJ com dígito verificador errado é recusado com HTTP 400, sem cobrança; CNPJ sem informação na base devolve HTTP 404, sem cobrança. Base de dados indisponível devolve HTTP 502, 503 ou 504, sem cobrança. Em homologação (homolog=true), sem cobrança e com qualquer CNPJ válido, a resposta traz dados fictícios.

- **Método:** `POST`
- **Endereço:** `https://gateway.apibrasil.io/api/v2/consulta/cnpj/credits`
- **Versão da rota:** v2

**Cabeçalhos**

| Cabeçalho | Valor |
| --- | --- |
| `Content-Type` | `application/json` |
| `Authorization` | `Bearer $APIBRASIL_TOKEN` |

**Corpo da requisição**

```json
{
  "tipo": "participacao-societaria",
  "cnpj": "44959669000180",
  "homolog": true
}
```

**Em 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":"participacao-societaria","cnpj":"44959669000180","homolog":true}'
```

Este endpoint aceita `homolog: true` no corpo: a resposta volta com dados válidos, `api_limit_for` igual a `homolog` e sem tarifação.

**Resposta de exemplo, do catálogo**

```json
{
  "user": {
    "first_name": "[omitido]",
    "email": "[omitido]",
    "cellphone": "[omitido]",
    "notification": "yes"
  },
  "balance": "386,510",
  "balance_before": "400,000",
  "tax": "13,490",
  "status_code": 200,
  "error": false,
  "message": "Dados validos! Voce foi tarifado em R$ 13,49.",
  "valor_consulta": 13.49,
  "api_limit_for": "credit",
  "homolog": false,
  "data": {
    "sintese_cadastral": {
      "documento": "00000000000000",
      "nome": "EMPRESA FICTICIA LTDA",
      "nome_fantasia": "",
      "nascimento": "01/01/1990",
      "situacao_receita": "ATIVA em 01/01/1990",
      "porte_empresa": "ME",
      "natureza_juridica": "0000 - EMPRESARIO INDIVIDUAL",
      "cnaes": [
        {
          "cnae": "0000000",
          "descricao": "Descrição fictícia de atividade econômica"
        }
      ],
      "capital_social": "000000",
      "dados_enderecos": [
        {
          "endereco": "RUA FICTICIA",
          "numero": "0000",
          "complemento": "",
          "cep": "00000000",
          "cidade": "CIDADE FICTICIA",
          "bairro": "BAIRRO FICTICIO",
          "uf": "XX"
        }
      ],
      "dados_telefones": [
        {
          "telefones": "(00)0000-0000"
        }
      ],
      "dados_emails": [
        {
          "email": "[omitido]"
        }
      ]
    },
    "qsa": {
      "ativos": [
        {
          "documento": "00000000000000",
          "documento_socio": "00000000000",
          "nome": "EMPRESA SOCIA FICTICIA LTDA",
          "condicao": "SOCIO-ADMINISTRADOR",
          "cota": "",
          "tipo": "EMPRESA",
          "data_entrada": "",
          "situacao_receita": "ATIVA",
          "representante_legal": [
            {
              "documento": "00000000000",
              "nome": "REPRESENTANTE FICTICIO",
              "funcao": "00 - Cargo Ficticio"
            }
          ]
        }
      ],
      "inativos": []
    },
    "participacoes": {
      "ativos": [
        {
          "documento": "00000000000000",
          "documento_socio": "00000000000",
          "nome": "PARTICIPACAO FICTICIA ATIVA LTDA",
          "condicao": "SOCIO-ADMINISTRADOR",
          "cota": "",
          "tipo": "EMPRESA",
          "data_entrada": "",
          "situacao_receita": "ATIVA",
          "representante_legal": [
            {
              "documento": "00000000000",
              "nome": "REPRESENTANTE FICTICIO",
              "funcao": "00 - Cargo Ficticio"
            }
          ]
        }
      ],
      "inativos": [
        {
          "documento": "00000000000000",
          "documento_socio": "00000000000",
          "nome": "PARTICIPACAO FICTICIA INATIVA LTDA",
          "condicao": "SOCIO-ADMINISTRADOR",
          "cota": "",
          "tipo": "EMPRESA",
          "data_entrada": "",
          "situacao_receita": "INATIVA",
          "representante_legal": [
            {
              "documento": "00000000000",
              "nome": "REPRESENTANTE FICTICIO",
              "funcao": "00 - Cargo Ficticio"
            }
          ]
        }
      ]
    },
    "cnpj": "44959669000180"
  }
}
```

Nos exemplos de resposta, os campos da conta que gerou o exemplo (`user.first_name`, `user.email`, `user.cellphone`) saem como `[omitido]`. O resto é o que o catálogo publica.

## Armadilhas: o que uma integração erra sem avisar

Apuradas nas respostas que o próprio catálogo publica. Em todas elas o código funciona no caminho feliz e falha em silêncio no resto:

1. **O erro chega no CORPO, com HTTP 200.**
   A resposta traz um campo `error` booleano e uma `message`. Checar só `response.ok` ou o status HTTP deixa passar falha como sucesso. Confira SEMPRE `error === false` antes de ler `data`.

2. **`balance`, `tax` e `extra_charges.total` são STRING em formato brasileiro — e o formato varia entre APIs.**
   Valores observados no catálogo: `"154,380"`, `"497,84"`, `"0,000"` e `"0.19"`. Vírgula em umas, ponto em outra; três casas decimais em umas, duas em outra. Em JavaScript, `parseFloat("154,380")` devolve `154` e perde os centavos sem erro nenhum, e `Number("154,380")` devolve `NaN`. Escreva um conversor que trate os dois separadores, e nunca use esses campos numa decisão financeira sem convertê-los.

3. **Cada chamada custa dinheiro.**
   Retry cego multiplica a conta. Nunca repita automaticamente um 4xx: parâmetro errado repetido continua errado e continua cobrando. Repita só tempo esgotado e 5xx, com recuo exponencial e um teto pequeno de tentativas.

4. **HTTP 402 é saldo insuficiente, e repetir não resolve.**
   É o único status que exige ação humana — recarregar. Trate-o como erro terminal, com mensagem própria, e não o jogue no mesmo balde dos 4xx genéricos.

5. **`extra_charges` cobra à parte do preço da consulta.**
   Quando o corpo pede serviços adicionais, a resposta traz cada um com o preço e um `total` que NÃO está incluso no valor base. Se você mostra custo a quem usa, some os dois.

## Ver também

- Especificação OpenAPI: https://doc.apibrasil.io/apis/creditos/96c91e7f-dd7e-11f1-98bb-bc24118aba26/openapi.json
- Catálogo de APIs: [Catálogo de APIs](https://doc.apibrasil.io/apis.md)
- SDKs oficiais: [SDKs oficiais](https://doc.apibrasil.io/sdks.md)
- Índice da documentação: https://doc.apibrasil.io/llms.txt
- Versão HTML desta página: https://doc.apibrasil.io/apis/creditos/96c91e7f-dd7e-11f1-98bb-bc24118aba26
