# Consultar CNPJ com Java

Se você está em busca de uma maneira eficiente e gratuita de consultar dados de CNPJ diretamente de sua aplicação Java, você chegou ao lugar certo! Neste guia, vamos explorar como você pode integrar sua aplicação Java com a API do [CNPJ.ws](https://www.cnpj.ws) para acessar informações detalhadas de empresas registradas na Receita Federal.

O [CNPJ.ws](https://www.cnpj.ws) disponibiliza uma API pública para consultas onde você pode fazer até 3 consultas por minuto. [Veja a documentação](https://docs.cnpj.ws/referencia-de-api/api-publica/consultando-cnpj).

Vamos dividir este tutorial em seções para facilitar a compreensão. Acompanhe!

### Pré-Requisitos

**Java**: Certifique-se de ter o JDK instalado em sua máquina. **IDE**: Um ambiente de desenvolvimento Java, como o Eclipse ou IntelliJ IDEA.

### Configurando o Ambiente

Crie um novo projeto Java em seu IDE favorito.

Adicione a biblioteca OkHttp: Vamos utilizar a biblioteca OkHttp para facilitar as requisições HTTP. Adicione a dependência em seu arquivo pom.xml se estiver usando Maven:

```xml
<dependency>
    <groupId>com.squareup.okhttp3</groupId>
    <artifactId>okhttp</artifactId>
    <version>4.9.0</version>
</dependency>
```

### Desenvolvendo a Classe de Consulta

Crie uma nova classe Java chamada ConsultaCNPJ. Nessa classe, implementaremos o método para realizar a consulta de CNPJ:

```java
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;

import java.io.IOException;

public class ConsultaCNPJ {

    private static final String URL_BASE = "https://publica.cnpj.ws/cnpj/";
    //Caso use a API Comercial a URL é diferente, veja a doc:

    public static void main(String[] args) {
        try {
            String cnpj = "27865757000102";
            String jsonResponse = consultaCNPJ(cnpj);
            System.out.println(jsonResponse);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public static String consultaCNPJ(String cnpj) throws IOException {
        OkHttpClient client = new OkHttpClient();

        Request request = new Request.Builder()
                .url(URL_BASE + cnpj)
                .get()
                .build();

        try (Response response = client.newCall(request).execute()) {
            return response.body().string();
        }
    }
}
```

### Explicação:

* **OkHttpClient**: Usamos essa classe para enviar requisições HTTP.
* **Request**: Aqui construímos nossa requisição, definindo a URL com o número do CNPJ que desejamos consultar.
* **Response**: Armazenamos a resposta da API para processá-la posteriormente.

### Testando a Consulta

Execute a classe ConsultaCNPJ e verifique o console. Você deverá ver a resposta JSON contendo as informações detalhadas sobre o CNPJ consultado.

### Conclusão

Neste guia, você aprendeu como realizar consultas de CNPJ de forma gratuita usando a API pública do CNPJ.WS em um aplicativo Java. Aproveite essa funcionalidade para enriquecer seus projetos Java com dados empresariais precisos e atualizados.

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

Até mais!


---

# 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-java.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.
