# Búsqueda de Empresas

En la API Comercial, en el `Plan Premium`, puedes hacer búsquedas utilizando filtros para encontrar empresas que cumplan con tus requisitos.

{% hint style="warning" %}
**Atención:** El acceso a este endpoint es exclusivo para suscriptores del Plan Premium.
{% endhint %}

**Método:** `GET`

**Endpoint:** `https://comercial.cnpj.ws/pesquisa?ADICIONE_OS_FILTROS`

### Filtros

Puedes utilizar los filtros a continuación en tus consultas:

| Campo                          | Descripción                                                                       |
| ------------------------------ | --------------------------------------------------------------------------------- |
| atividade\_principal\_id       | Código CNAE                                                                       |
| atividade\_secundaria\_id      | Código CNAE                                                                       |
| atividade\_id                  | Código CNAE (búsqueda en la actividad principal y secundaria)                     |
| natureza\_juridica\_id         | Código de la Naturaleza Jurídica                                                  |
| razao\_social                  | Razón Social                                                                      |
| nome\_fantasia                 | Nombre Fantasía                                                                   |
| pais\_id                       | Código del País del BACEN                                                         |
| estado\_id                     | Código IBGE del estado                                                            |
| cidade\_id                     | Código IBGE de la Ciudad                                                          |
| cep                            | CEP                                                                               |
| situacao\_cadastral            | Situación cadastral en la Receita Federal                                         |
| data\_situacao\_cadastral\_de  | Fecha de la Situación Cadastral (A partir de esta fecha) en el formato YYYY-MM-DD |
| data\_situacao\_cadastral\_ate | Fecha de la Situación Cadastral (Hasta esta fecha) en el formato YYYY-MM-DD       |
| porte\_id                      | Id del tamaño de la empresa                                                       |
| socio\_nome                    | Nombre del Socio                                                                  |
| data\_inicio\_atividade\_de    | Fecha de Inicio de Actividad (A partir de esta fecha) en el formato YYYY-MM-DD    |
| data\_inicio\_atividade\_ate   | Fecha de Inicio de Actividad (Hasta esta fecha) en el formato YYYY-MM-DD          |

Es crucial destacar que las consultas realizadas en este endpoint se basan en nuestra base de datos y no en la de la Receita Federal. Por lo tanto, pueden ocurrir discrepancias entre las informaciones, ya que nuestra base de datos puede tener un desfase de hasta 45 días en relación con los datos actualizados de la Receita Federal. Vale resaltar que, aunque realizamos registros diariamente debido a las consultas de CNPJ hechas en la API, el desfase aún puede ocurrir.

**Lista de Situaciones Cadastrales:**

* Activa
* Dada de baja
* Inapta
* Nula
* Suspendida

**Lista de Tamaños Registrados:**

| ID | Descripción               |
| -- | ------------------------- |
| 01 | No informado              |
| 02 | Micro Empresa             |
| 03 | Empresa de Pequeño Tamaño |
| 05 | Otros                     |

### Ejemplos de Solicitud

{% openapi src="/files/pX97Qdj2qn3xNQOZEdoV" path="/pesquisa" method="get" %}
[openapi-comercial.yaml](https://content.gitbook.com/content/ZYWCe6C3PGIrqh1fMqTq/blobs/SZMKPqHjWKTxdfdW0HvX/openapi-comercial.yaml)
{% endopenapi %}

Nosotros tenemos un paquete que puede ayudarte en la integración con JavaScript:

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

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

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

  const data = await consultarCNPJ.pesquisa(
    { atividade_principal_id: "6203100", estado_id: 28 },
    token,
    page
  );
  console.log(data);
}
```

[Más información del paquete](https://www.npmjs.com/package/consultar-cnpj)

#### Paginación

En caso de que la búsqueda retorne más de 20 CNPJs, la API dividirá la respuesta en páginas. Puedes verificar esto en el JSON de retorno de la API, en la propiedad "paginacion", que muestra la página actual, el total de páginas y el total de CNPJs:

```json
{
  "paginacao": {
    "limite": 20,
    "pagina": 1,
    "paginas": 5,
    "total": 87
  }
}
```

Para buscar una página específica basta con informar el número de la página en la solicitud:

```shell
curl -X GET https://comercial.cnpj.ws/pesquisa?atividade_principal_id=6203100&pagina=2 -H "x_api_token: SEU_TOKEN"
```

También es posible alterar la cantidad de CNPJs retornados, el valor predeterminado es 20 pero puede ser hasta 100:

```shell
curl -X GET https://comercial.cnpj.ws/pesquisa?atividade_principal_id=6203100&pagina=2&limite=100 -H "x_api_token: SEU_TOKEN"
```

#### Ejemplo de Retorno

A continuación, un ejemplo del JSON retornado al buscar por el CNAE **6203100**:

```json
{
  "paginacao": {
    "limite": 20,
    "pagina": 1,
    "paginas": 1494,
    "total": 29865
  },
  "ordenacao": [],
  "filtros_disponiveis": [
    "cnpj",
    "cnpj_raiz",
    "natureza_juridica_id",
    "porte_id",
    "razao_social",
    "nome_fantasia",
    "pais_id",
    "estado_id",
    "cidade_id",
    "cep",
    "atividade_principal_id"
  ],
  "filtros_aplicados": {
    "atividade_principal_id": "6203100"
  },
  "data": [
    "19323263000160",
    "03124023000104",
    "64919913000199",
    "36427967000100",
    "06370042000109",
    "01056469000105",
    "03292219000108",
    "94338217000664",
    "01645901000101",
    "02868026000181",
    "04957691000177",
    "01755516000109",
    "04970015000133",
    "65144347000153",
    "04810384000169",
    "74641804000106",
    "82296112000104",
    "03035876000161",
    "33643305009801",
    "05121798000143"
  ]
}
```


---

# 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/es/referencia-de-api/api-comercial/pesquisa-de-empresas.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.
