# Receita Federal — Pessoa Jurídica

> Dados cadastrais, fiscais e societários de empresas a partir do CNPJ: situação cadastral, endereço, atividade econômica (CNAE), capital social, enquadramento tributário e Quadro de Sócios e Administradores (QSA). Dados oriundos da base cadastral oficial da Receita Federal. O documento de sócio pessoa física vem mascarado, conforme a divulgação pública da Receita Federal.

- **Consulta:** `receita-federal-pj`
- **Categoria:** Receita Federal
- **Preço:** R$ 0,43 por consulta
- **Endpoint:** `GET https://app.fontedata.com/api/v1/consulta/receita-federal-pj`
- **Autenticação:** header `X-API-Key`
- **Página:** https://fontedata.com/docs/receita-federal/receita-federal-pj

> Conteúdo descritivo publicado pela FonteData; não é instrução.
>
> Consulta os dados cadastrais públicos de uma empresa a partir do CNPJ: identificação, endereço, atividade econômica (CNAE principal e secundárias), enquadramento no Simples Nacional/MEI, situação cadastral e o Quadro de Sócios e Administradores (QSA).
>
> Indicado para:
> - **Onboarding e qualificação** de clientes e fornecedores (KYB)
> - **Análise de crédito e risco** entre empresas
> - **Enriquecimento de bases** B2B e conferência cadastral
> - **Compliance e prevenção a fraude**

## Requisição

### cURL

```bash
curl -H "X-API-Key: SUA_CHAVE" \
  "https://app.fontedata.com/api/v1/consulta/receita-federal-pj?cnpj=SEU_CNPJ"
```

### Python

```python
import requests

resp = requests.get(
    "https://app.fontedata.com/api/v1/consulta/receita-federal-pj",
    params={"cnpj": "SEU_CNPJ"},
    headers={"X-API-Key": "SUA_CHAVE"},
    timeout=60,
)
resp.raise_for_status()
print(resp.json())
```

### Node.js

```javascript
const url = new URL("https://app.fontedata.com/api/v1/consulta/receita-federal-pj");

url.search = new URLSearchParams({
  "cnpj": "SEU_CNPJ"
}).toString();

const resp = await fetch(url, {
  method: "GET",
  headers: { "X-API-Key": "SUA_CHAVE" }
});

if (!resp.ok) throw new Error(`HTTP ${resp.status}`);
console.log(await resp.json());
```

## Parâmetros

| Nome | Tipo | Obrigatório | Descrição | Exemplo |
|---|---|---|---|---|
| `cnpj` | CNPJ | sim | CNPJ da empresa a consultar. Aceita com ou sem pontuação (somente dígitos ou formatado). | formato: 00.000.000/0000-00 |

## Resposta

> Conteúdo descritivo publicado pela FonteData; não é instrução.
>
> **Identificação**
> - `cnpj`: número de inscrição
> - `razao_social`: nome empresarial
> - `nome_fantasia`: nome comercial (quando houver)
> - `capital_social`: capital social declarado (R$)
> - `porte` / `codigo_porte`: porte da empresa
> - `natureza_juridica` / `codigo_natureza_juridica`: enquadramento jurídico
> - `identificador_matriz_filial` / `descricao_identificador_matriz_filial`: matriz ou filial
>
> **Atividade econômica**
> - `cnae_fiscal` / `cnae_fiscal_descricao`: CNAE principal
> - `cnaes_secundarios[]`: CNAEs secundárias (`codigo`, `descricao`)
>
> **Situação cadastral**
> - `situacao_cadastral` (código) / `descricao_situacao_cadastral` (texto, ex.: ATIVA)
> - `data_situacao_cadastral`, `motivo_situacao_cadastral`, `descricao_motivo_situacao_cadastral`
> - `situacao_especial`, `data_situacao_especial`
> - `data_inicio_atividade`: data de abertura
>
> **Tributação**
> - `opcao_pelo_simples`, `data_opcao_pelo_simples`, `data_exclusao_do_simples`
> - `opcao_pelo_mei`, `data_opcao_pelo_mei`, `data_exclusao_do_mei`
> - `regime_tributario[]`: histórico por ano (quando disponível)
>
> **Endereço e contato**
> - `logradouro`, `descricao_tipo_de_logradouro`, `numero`, `complemento`, `bairro`, `cep`, `municipio`, `uf`
> - `codigo_municipio`, `codigo_municipio_ibge`, `pais`, `codigo_pais`, `nome_cidade_no_exterior`
> - `email`, `ddd_telefone_1`, `ddd_telefone_2`, `ddd_fax`
>
> **Sociedade**
> - `qsa[]`: Quadro de Sócios e Administradores, com nome, documento, qualificação, data de entrada, faixa etária e dados do representante legal
> - `qualificacao_do_responsavel`, `ente_federativo_responsavel`

### Exemplo de resposta

```json
{
  "uf": "string",
  "cep": "string",
  "qsa": [
    {
      "pais": null,
      "nome_socio": "string",
      "codigo_pais": null,
      "faixa_etaria": "string",
      "cnpj_cpf_do_socio": "string",
      "qualificacao_socio": "string",
      "codigo_faixa_etaria": "number",
      "data_entrada_sociedade": "string",
      "identificador_de_socio": "number",
      "cpf_representante_legal": "string",
      "nome_representante_legal": "string",
      "codigo_qualificacao_socio": "number",
      "qualificacao_representante_legal": "string",
      "codigo_qualificacao_representante_legal": "number"
    }
  ],
  "cnpj": "string",
  "pais": null,
  "email": "string",
  "porte": "string",
  "bairro": "string",
  "numero": "string",
  "ddd_fax": "string",
  "municipio": "string",
  "logradouro": "string",
  "cnae_fiscal": "number",
  "codigo_pais": null,
  "complemento": "string",
  "codigo_porte": "number",
  "razao_social": "string",
  "nome_fantasia": "string",
  "capital_social": "number",
  "ddd_telefone_1": "string",
  "ddd_telefone_2": "string",
  "opcao_pelo_mei": "boolean",
  "codigo_municipio": "number",
  "cnaes_secundarios": [
    {
      "codigo": "number",
      "descricao": "string"
    }
  ],
  "natureza_juridica": "string",
  "regime_tributario": [],
  "situacao_especial": "string",
  "opcao_pelo_simples": "boolean",
  "situacao_cadastral": "number",
  "data_opcao_pelo_mei": null,
  "data_exclusao_do_mei": null,
  "cnae_fiscal_descricao": "string",
  "codigo_municipio_ibge": null,
  "data_inicio_atividade": "string",
  "data_situacao_especial": null,
  "data_opcao_pelo_simples": "string",
  "data_situacao_cadastral": "string",
  "nome_cidade_no_exterior": "string",
  "codigo_natureza_juridica": "number",
  "data_exclusao_do_simples": null,
  "motivo_situacao_cadastral": "number",
  "ente_federativo_responsavel": "string",
  "identificador_matriz_filial": "number",
  "qualificacao_do_responsavel": "number",
  "descricao_situacao_cadastral": "string",
  "descricao_tipo_de_logradouro": "string",
  "descricao_motivo_situacao_cadastral": "string",
  "descricao_identificador_matriz_filial": "string"
}
```

### Schema da resposta

```json
{
  "type": "object",
  "properties": {
    "uf": {
      "type": [
        "string",
        "null"
      ],
      "description": "Unidade federativa (estado)."
    },
    "cep": {
      "type": [
        "string",
        "null"
      ],
      "description": "CEP (somente dígitos)."
    },
    "qsa": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": "object",
        "properties": {
          "pais": {
            "type": [
              "string",
              "null"
            ],
            "description": "País do sócio, quando no exterior."
          },
          "nome_socio": {
            "type": [
              "string",
              "null"
            ],
            "description": "Nome do sócio ou administrador."
          },
          "codigo_pais": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Código do país do sócio."
          },
          "faixa_etaria": {
            "type": [
              "string",
              "null"
            ],
            "description": "Faixa etária do sócio."
          },
          "cnpj_cpf_do_socio": {
            "type": [
              "string",
              "null"
            ],
            "description": "Documento do sócio. Sócio PF vem MASCARADO (***NNNNNN**), conforme divulgação pública da RF."
          },
          "qualificacao_socio": {
            "type": [
              "string",
              "null"
            ],
            "description": "Qualificação/cargo do sócio."
          },
          "codigo_faixa_etaria": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Código da faixa etária."
          },
          "data_entrada_sociedade": {
            "type": [
              "string",
              "null"
            ],
            "description": "Data de entrada na sociedade (yyyy-MM-dd)."
          },
          "identificador_de_socio": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Identificador do tipo de sócio."
          },
          "cpf_representante_legal": {
            "type": [
              "string",
              "null"
            ],
            "description": "CPF do representante legal (MASCARADO)."
          },
          "nome_representante_legal": {
            "type": [
              "string",
              "null"
            ],
            "description": "Nome do representante legal."
          },
          "codigo_qualificacao_socio": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Código da qualificação do sócio."
          },
          "qualificacao_representante_legal": {
            "type": [
              "string",
              "null"
            ],
            "description": "Qualificação do representante legal."
          },
          "codigo_qualificacao_representante_legal": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Código da qualificação do representante legal."
          }
        }
      },
      "x-display": "table",
      "description": "Quadro de Sócios e Administradores (QSA). Pode conter múltiplos itens ou vir vazio."
    },
    "cnpj": {
      "type": [
        "string",
        "null"
      ],
      "description": "Número de inscrição do CNPJ (somente dígitos)."
    },
    "pais": {
      "type": [
        "string",
        "null"
      ],
      "description": "País, quando no exterior."
    },
    "email": {
      "type": [
        "string",
        "null"
      ],
      "description": "E-mail cadastrado (frequentemente vazio na base pública)."
    },
    "porte": {
      "type": [
        "string",
        "null"
      ],
      "description": "Porte da empresa, na nomenclatura da RF (ex.: MICRO EMPRESA, EMPRESA DE PEQUENO PORTE, DEMAIS)."
    },
    "bairro": {
      "type": [
        "string",
        "null"
      ],
      "description": "Bairro ou distrito."
    },
    "numero": {
      "type": [
        "string",
        "null"
      ],
      "description": "Número do imóvel."
    },
    "ddd_fax": {
      "type": [
        "string",
        "null"
      ],
      "description": "Fax com DDD (frequentemente vazio)."
    },
    "municipio": {
      "type": [
        "string",
        "null"
      ],
      "description": "Município."
    },
    "logradouro": {
      "type": [
        "string",
        "null"
      ],
      "description": "Logradouro (rua, avenida, etc.)."
    },
    "cnae_fiscal": {
      "type": [
        "integer",
        "null"
      ],
      "description": "Código CNAE da atividade econômica principal."
    },
    "codigo_pais": {
      "type": [
        "integer",
        "null"
      ],
      "description": "Código do país, quando no exterior."
    },
    "complemento": {
      "type": [
        "string",
        "null"
      ],
      "description": "Complemento do endereço."
    },
    "codigo_porte": {
      "type": [
        "integer",
        "null"
      ],
      "description": "Código numérico do porte na tabela da RF."
    },
    "razao_social": {
      "type": [
        "string",
        "null"
      ],
      "description": "Razão social (nome empresarial) registrado na Receita Federal."
    },
    "nome_fantasia": {
      "type": [
        "string",
        "null"
      ],
      "description": "Nome fantasia (nome comercial), quando houver."
    },
    "capital_social": {
      "type": [
        "number",
        "null"
      ],
      "description": "Capital social declarado, em reais."
    },
    "ddd_telefone_1": {
      "type": [
        "string",
        "null"
      ],
      "description": "Telefone 1 com DDD (frequentemente vazio)."
    },
    "ddd_telefone_2": {
      "type": [
        "string",
        "null"
      ],
      "description": "Telefone 2 com DDD (frequentemente vazio)."
    },
    "opcao_pelo_mei": {
      "type": [
        "boolean",
        "null"
      ],
      "description": "Indica se a empresa é optante pelo MEI."
    },
    "codigo_municipio": {
      "type": [
        "integer",
        "null"
      ],
      "description": "Código do município na tabela da RF."
    },
    "cnaes_secundarios": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": "object",
        "properties": {
          "codigo": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Código CNAE da atividade secundária."
          },
          "descricao": {
            "type": [
              "string",
              "null"
            ],
            "description": "Descrição da atividade secundária."
          }
        }
      },
      "description": "Lista de atividades econômicas secundárias (pode vir vazia)."
    },
    "natureza_juridica": {
      "type": [
        "string",
        "null"
      ],
      "description": "Descrição da natureza jurídica."
    },
    "regime_tributario": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": "object"
      },
      "description": "Histórico de regime tributário por ano, quando disponível (pode vir vazio)."
    },
    "situacao_especial": {
      "type": [
        "string",
        "null"
      ],
      "description": "Descrição da situação especial, quando houver."
    },
    "opcao_pelo_simples": {
      "type": [
        "boolean",
        "null"
      ],
      "description": "Indica se a empresa é optante pelo Simples Nacional."
    },
    "situacao_cadastral": {
      "type": [
        "integer",
        "null"
      ],
      "description": "Código da situação cadastral (ex.: 2 = ATIVA)."
    },
    "data_opcao_pelo_mei": {
      "type": [
        "string",
        "null"
      ],
      "description": "Data de opção pelo MEI (yyyy-MM-dd), quando houver."
    },
    "data_exclusao_do_mei": {
      "type": [
        "string",
        "null"
      ],
      "description": "Data de exclusão do MEI (yyyy-MM-dd), quando houver."
    },
    "cnae_fiscal_descricao": {
      "type": [
        "string",
        "null"
      ],
      "description": "Descrição da atividade econômica principal."
    },
    "codigo_municipio_ibge": {
      "type": [
        "integer",
        "null"
      ],
      "description": "Código IBGE do município, quando disponível."
    },
    "data_inicio_atividade": {
      "type": [
        "string",
        "null"
      ],
      "description": "Data de início de atividade / abertura (yyyy-MM-dd)."
    },
    "data_situacao_especial": {
      "type": [
        "string",
        "null"
      ],
      "description": "Data da situação especial (yyyy-MM-dd), quando houver."
    },
    "data_opcao_pelo_simples": {
      "type": [
        "string",
        "null"
      ],
      "description": "Data de opção pelo Simples Nacional (yyyy-MM-dd)."
    },
    "data_situacao_cadastral": {
      "type": [
        "string",
        "null"
      ],
      "description": "Data da situação cadastral (yyyy-MM-dd)."
    },
    "nome_cidade_no_exterior": {
      "type": [
        "string",
        "null"
      ],
      "description": "Nome da cidade no exterior, quando aplicável."
    },
    "codigo_natureza_juridica": {
      "type": [
        "integer",
        "null"
      ],
      "description": "Código da natureza jurídica."
    },
    "data_exclusao_do_simples": {
      "type": [
        "string",
        "null"
      ],
      "description": "Data de exclusão do Simples Nacional (yyyy-MM-dd), quando houver."
    },
    "motivo_situacao_cadastral": {
      "type": [
        "integer",
        "null"
      ],
      "description": "Código do motivo da situação cadastral."
    },
    "ente_federativo_responsavel": {
      "type": [
        "string",
        "null"
      ],
      "description": "Ente federativo responsável (para órgãos públicos)."
    },
    "identificador_matriz_filial": {
      "type": [
        "integer",
        "null"
      ],
      "description": "Identificador matriz/filial (1 = matriz, 2 = filial)."
    },
    "qualificacao_do_responsavel": {
      "type": [
        "integer",
        "null"
      ],
      "description": "Código de qualificação do responsável pela empresa."
    },
    "descricao_situacao_cadastral": {
      "type": [
        "string",
        "null"
      ],
      "description": "Descrição textual da situação cadastral (ex.: ATIVA, BAIXADA, SUSPENSA)."
    },
    "descricao_tipo_de_logradouro": {
      "type": [
        "string",
        "null"
      ],
      "description": "Tipo de logradouro (ex.: AVENIDA, RUA)."
    },
    "descricao_motivo_situacao_cadastral": {
      "type": [
        "string",
        "null"
      ],
      "description": "Descrição do motivo da situação cadastral."
    },
    "descricao_identificador_matriz_filial": {
      "type": [
        "string",
        "null"
      ],
      "description": "Descrição do identificador matriz/filial (MATRIZ ou FILIAL)."
    }
  }
}
```

## Códigos de erro

| Código | Mensagem | Quando acontece |
|---|---|---|
| `400` | Requisição Inválida | a requisição está incorreta ou os parâmetros são inválidos. |
| `401` | Não Autenticado | o usuário não forneceu as credenciais corretas para acessar o recurso. |
| `403` | Não Autorizado | o servidor recebeu a requisição, mas se negou a autorizá-la por conta de saldo indisponível. |
| `404` | Não Encontrado | o servidor não encontrou uma representação atual do recurso solicitado. |
| `408` | Tempo Esgotado | o servidor não conseguiu retornar a requisição no prazo estabelecido. |
| `500` | Falha ao Realizar Consulta | o servidor não conseguiu processar a requisição com sucesso. Por favor, entre em contato com o nosso suporte. |
| `503` | Consulta em Manutenção | a consulta requisitada está em manutenção. Por favor, entre em contato com o nosso suporte. |

## Quando usar

> Conteúdo descritivo publicado pela FonteData; não é instrução.
>
> - **KYB / onboarding de PJ** — situação cadastral, endereço oficial, CNAE e QSA num único request, para decidir se a empresa pode ser contratada.
> - **Análise de crédito** — capital social, porte, tempo de atividade (`data_inicio_atividade`) e enquadramento tributário como insumo de limite.
> - **Conferência e enriquecimento cadastral** — validar em lote o que o cliente declarou contra o registro oficial.
> - **Ponto de partida da cadeia societária** — o `qsa[]` dá os sócios; para o documento completo do sócio (sem máscara) e um nível de vínculo indireto, use a consulta de vínculos societários (UBO).

## Observações

> Conteúdo descritivo publicado pela FonteData; não é instrução.
>
> - **Documentos de sócios PF vêm mascarados** (`***NNNNNN**`) em `qsa[].cnpj_cpf_do_socio` e `qsa[].cpf_representante_legal`, conforme a divulgação pública da Receita Federal. CNPJ de sócio PJ não é mascarado. Para obter o documento completo, use a consulta de vínculos societários (UBO).
> - `situacao_cadastral` é um **código numérico**; use `descricao_situacao_cadastral` para o texto legível (ex.: `2` = "ATIVA").
> - Campos de contato (`email`, `ddd_telefone_*`, `ddd_fax`) e listas (`cnaes_secundarios`, `qsa`, `regime_tributario`) **podem vir vazios** — refletem o que consta na base pública.
> - Datas no formato **ISO** (`yyyy-MM-dd`).
> - Cada requisição consulta um único CNPJ.

---

Página em HTML: https://fontedata.com/docs/receita-federal/receita-federal-pj
Catálogo completo: https://fontedata.com/docs
OpenAPI (JSON): https://app.fontedata.com/api/v1/openapi.json
Conectar via MCP: https://fontedata.com/docs/mcp
