# Consultar CNPJ com Javascript e Node.JS

Consultar um CNPJ utilizando a API do CNPJ.ws com Javascript e Node.JS é muito fácil!

Manter o cadastro de clientes/fornecedores ou até mesmo fazer uma consulta aos dados de empresas para facilitar algum cadastro interno do seu sistema é algo muito comum e a API do CNPJ.ws disponibiliza uma maneira fácil e rápida para desenvolver essa integração.

Com a integração podemos usar a API para consultar o endereço, inscrição estadual, situação cadastral, CNAE e muitas outras informações que podem ser importantes no momento do cadastro do cliente ou fornecedor através do CNPJ.

Os dados retornados pela API são obtidos de diversos órgãos públicos (Receita Federal, Sintegra, SERPRO, Suframa, etc), aglutinados e organizados para facilitar o uso por outros sistemas através de uma API Rest.

### Instalação

Nós desenvolvemos um pacote para facilitar essa integração, veja no [Github](https://github.com/cnpj-ws/consultar-cnpj).

Lembrando que você pode usar nossa API gratuita para consultar CNPJ ou pode adquirir um dos nossos planos comerciais.

Para começar, vamos instalar o pacote:

Utilizando YARN:

```shell
yarn add consultar-cnpj
```

Utilizando NPM:

```shell
npm i consultar-cnpj --save
```

### Utilização

O CNPJ.ws possui uma API Pública e uma Comercial, para utilização da API Pública você não precisa de um token, mas só pode fazer até 3 consultas por minuto. Caso esteja utilizando a API Comercial você deve passar o token como segundo parâmetro na consulta para utilizar os seus benefícios. Você pode ver mais detalhes dos planos comerciais na nossa [página principal](https://www.cnpj.ws).

```javascript
const consultarCNPJ = require("consultar-cnpj");

async function getCNPJ() {
  const token = "INFORME O SEU TOKEN DE ACESSO";

  try {
    // O Token é opcional
    const empresa = await consultarCNPJ("40154884000153", token);
    console.log(empresa);
  } catch (e) {
    console.log(e);
  }
}
```

### Retorno

Abaixo o JSON retornado pela API:

```json
{
  "cnpj_raiz": "40154884",
  "razao_social": "STARLINK BRAZIL SERVICOS DE INTERNET LTDA.",
  "capital_social": "800000.00",
  "responsavel_federativo": "",
  "atualizado_em": "2021-07-20T08:21:13.130Z",
  "porte": {
    "id": "05",
    "descricao": "Demais"
  },
  "natureza_juridica": {
    "id": "2062",
    "descricao": "Sociedade Empresária Limitada"
  },
  "qualificacao_do_responsavel": {
    "id": 5,
    "descricao": "Administrador "
  },
  "socios": [
    {
      "cpf_cnpj_socio": "***966178**",
      "nome": "VITOR JAMES URNER",
      "tipo": "Pessoa Física",
      "data_entrada": "2020-12-18",
      "cpf_representante_legal": "***000000**",
      "nome_representante": null,
      "faixa_etaria": "71 a 80 anos",
      "atualizado_em": "2021-07-21T06:13:26.688Z",
      "pais_id": "1058",
      "qualificacao_socio": {
        "id": 5,
        "descricao": "Administrador "
      },
      "qualificacao_representante": null
    },
    {
      "cpf_cnpj_socio": "39523686000130",
      "nome": "STARLINK BRAZIL HOLDING LTDA.",
      "tipo": "Pessoa Jurídica",
      "data_entrada": "2020-12-18",
      "cpf_representante_legal": "***966178**",
      "nome_representante": "VITOR JAMES URNER",
      "faixa_etaria": "Não se aplica",
      "atualizado_em": "2021-07-21T06:13:26.688Z",
      "pais_id": "1058",
      "qualificacao_socio": {
        "id": 22,
        "descricao": "Sócio"
      },
      "qualificacao_representante": {
        "id": 5,
        "descricao": "Administrador "
      }
    }
  ],
  "simples": null,
  "estabelecimento": {
    "cnpj": "40154884000153",
    "atividades_secundarias": [
      {
        "id": "6190699",
        "secao": "J",
        "divisao": "61",
        "grupo": "61.9",
        "classe": "61.90-6",
        "subclasse": "6190-6/99",
        "descricao": "Outras atividades de telecomunicações não especificadas anteriormente"
      },
      {
        "id": "6462000",
        "secao": "K",
        "divisao": "64",
        "grupo": "64.6",
        "classe": "64.62-0",
        "subclasse": "6462-0/00",
        "descricao": "Holdings de instituições não financeiras"
      },
      {
        "id": "7739099",
        "secao": "N",
        "divisao": "77",
        "grupo": "77.3",
        "classe": "77.39-0",
        "subclasse": "7739-0/99",
        "descricao": "Aluguel de outras máquinas e equipamentos comerciais e industriais não especificados anteriormente, sem operador"
      }
    ],
    "cnpj_raiz": "40154884",
    "cnpj_ordem": "0001",
    "cnpj_digito_verificador": "53",
    "tipo": "Matriz",
    "nome_fantasia": null,
    "situacao_cadastral": "Ativa",
    "data_situacao_cadastral": "2020-12-18",
    "data_inicio_atividade": "2020-12-18",
    "nome_cidade_exterior": null,
    "tipo_logradouro": "ALAMEDA",
    "logradouro": "SANTOS",
    "numero": "74",
    "complemento": "ANDAR 7                   CONJ  72                  SALA  10",
    "bairro": "CERQUEIRA CESAR",
    "cep": "01418000",
    "ddd1": "11",
    "telefone1": "30229503",
    "ddd2": null,
    "telefone2": null,
    "ddd_fax": null,
    "fax": null,
    "email": "VITOR@URNER.COM.BR",
    "situacao_especial": null,
    "data_situacao_especial": null,
    "atividade_principal": {
      "id": "6130200",
      "secao": "J",
      "divisao": "61",
      "grupo": "61.3",
      "classe": "61.30-2",
      "subclasse": "6130-2/00",
      "descricao": "Telecomunicações por satélite"
    },
    "pais": {
      "id": "1058",
      "iso2": "BR",
      "iso3": "BRA",
      "nome": "Brasil",
      "comex_id": "105"
    },
    "estado": {
      "id": 26,
      "nome": "São Paulo",
      "sigla": "SP",
      "ibge_id": 35
    },
    "cidade": {
      "id": 3832,
      "nome": "São Paulo",
      "ibge_id": 3550308,
      "siafi_id": "7107"
    },
    "motivo_situacao_cadastral": null,
    "inscricoes_estaduais": [
      {
        "inscricao_estadual": "130287771116",
        "ativo": true,
        "atualizado_em": "2021-08-25T16:59:58.589Z",
        "estado": {
          "id": 26,
          "nome": "São Paulo",
          "sigla": "SP",
          "ibge_id": 35
        }
      }
    ]
  }
}
```

### Conclusão

Utilizando a API do CNPJ.ws você obtém os dados das empresas brasileiras de forma simples e fácil, dê uma olhada em nossa [documentação](https://docs.cnpj.ws/).

Para saber mais sobre nossos planos e formas de pagamento acesse [CNPJ.ws](https://www.cnpj.ws/).

Qualquer dúvida nós estamos aqui para te apoiar, mande um e-mail para <contato@cnpj.ws>!


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.cnpj.ws/blog/consultar-cnpj-javascript.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
