API de Empresas (CNPJ)
Integra la API de CNPJ Data mediante autenticación con X-API-Key.
Esta documentación está orientada a integraciones autenticadas y al uso de créditos de API. Para una consulta individual gratuita sin iniciar sesión, utiliza la Consulta Pública de CNPJ.
Paso 1 — Comprar créditos
Accede al panel de CNPJ Data, ve a la sección API y compra créditos de API.
Paso 2 — Generar una clave de API
En el panel autenticado, abre la pestaña Mi API, genera tu clave y envíala en el X-API-Key.
X-API-Key: <id>.<secret>Consultar una empresa por CNPJ
curl -X GET "https://api.cnpjdata.com.br/api/companies/01234567000189" \
-H "X-API-Key: <id>.<secret>"Envía el CNPJ sin formato, solo con números. Coste: 1 crédito.
La API de pago también devuelve la lista de socios y los datos disponibles para el acceso autenticado. En la consulta pública, los campos de identificación de los socios están enmascarados.
Ejemplo en la consulta pública (datos enmascarados):
{
"socios": [
{
"nomeSocio": "S***** M****** A****",
"cnpjCpfSocio": "***00******",
"entrada": "13/06/2001",
"descricaoQualificacao": "Sócio",
"descricaoFaixaEtaria": "51 A 60"
}
]
}Ejemplo en la API de pago (datos disponibles):
{
"socios": [
{
"nomeSocio": "SHEILA MARTINS ALVES",
"cnpjCpfSocio": "***008208**",
"entrada": "13/06/2001",
"descricaoQualificacao": "Sócio",
"descricaoFaixaEtaria": "51 A 60"
}
]
}Respuesta 200 (ejemplo):
{
"searchId": "uuid-da-busca",
"cnpjCompleto": "01.234.567/0001-89",
"razaoSocial": "EMPRESA EXEMPLO COMERCIO LTDA",
"situacaoCadastralCodigo": "02",
"uf": "SP"
}La respuesta completa incluye los demás datos registrales disponibles.
Ver respuesta completa
{
"searchId": "uuid-da-busca",
"cnpjCompleto": "01.234.567/0001-89",
"razaoSocial": "EMPRESA EXEMPLO COMERCIO LTDA",
"nomeFantasia": "LOJA EXEMPLO",
"naturezaJuridicaCodigo": "2135",
"porteEmpresaCodigo": "01",
"situacaoCadastralCodigo": "02",
"cnaeFiscalPrincipalCodigo": "4781400",
"cnaeFiscalSecundariaCodigo": "4755502,4772500,4782201,4761003",
"codMunicipio": "4729",
"matrizFilialCodigo": "1",
"logradouro": "RUA EXEMPLO 1",
"numero": "100",
"complemento": "LOJA 01",
"bairro": "CENTRO",
"cep": "01000000",
"uf": "SP",
"telefone1": null,
"telefone2": null,
"email": null,
"dataInicioAtividade": "1997-01-21T00:00:00.000Z",
"dataSituacaoCadastral": "2005-11-03T00:00:00.000Z",
"anoInicio": 1997,
"naturezaJuridicaRef": {
"codigo": "2135",
"descricao": "Empresário (Individual)"
},
"porteEmpresaRef": {
"codigo": "01",
"descricao": "{copy.microCompany}"
},
"situacaoCadastralRef": {
"codigo": "02",
"descricao": "{copy.activeStatus}"
},
"cnaeRef": {
"codigo": "4781400",
"descricao": "Comércio Varejista De Artigos Do Vestuário E Acessórios"
},
"municipioRef": {
"codigo": "4729",
"descricao": "Jordania"
},
"matrizFilialRef": {
"codigo": "1",
"descricao": "Matriz"
},
"cnaesSecundarios": [
{
"codigo": "4755502",
"descricao": "Comercio Varejista De Artigos De Armarinho"
}
],
"socios": [
{
"nomeSocio": "SHEILA MARTINS ALVES",
"cnpjCpfSocio": "***008208**",
"entrada": "13/06/2001",
"descricaoQualificacao": "Sócio",
"descricaoFaixaEtaria": "51 A 60"
}
]
}Consultar dos o más empresas mediante una lista de CNPJ
curl -X POST "https://api.cnpjdata.com.br/api/companies/list" \
-H "X-API-Key: <id>.<secret>" \
-H "Content-Type: application/json" \
-d '{"cnpjs":["01234567000189","00987654000110"],"page":1,"limit":20}'Respuesta 200 (ejemplo):
{
"searchId": "uuid-da-busca",
"data": [{ "cnpjCompleto": "01.234.567/0001-89", "razaoSocial": "EMPRESA EXEMPLO LTDA" }],
"page": 1,
"limit": 20,
"total": 2,
"totalPages": 1
}Con page, solo se cobran los registros devueltos. Sin page, se cobran todos los registros y se genera un archivo completo.
Ver modelo completo de una empresa
{
"cnpjCompleto": "01.234.567/0001-89",
"razaoSocial": "EMPRESA EXEMPLO COMERCIO LTDA",
"nomeFantasia": "LOJA EXEMPLO",
"naturezaJuridicaCodigo": "2135",
"porteEmpresaCodigo": "01",
"situacaoCadastralCodigo": "02",
"cnaeFiscalPrincipalCodigo": "4781400",
"cnaeFiscalSecundariaCodigo": "4755502,4772500,4782201,4761003",
"codMunicipio": "4729",
"matrizFilialCodigo": "1",
"logradouro": "RUA EXEMPLO 1",
"numero": "100",
"complemento": "LOJA 01",
"bairro": "CENTRO",
"cep": "01000000",
"uf": "SP",
"telefone1": null,
"telefone2": null,
"email": null,
"dataInicioAtividade": "1997-01-21T00:00:00.000Z",
"dataSituacaoCadastral": "2005-11-03T00:00:00.000Z",
"anoInicio": 1997,
"naturezaJuridicaRef": {
"codigo": "2135",
"descricao": "Empresário (Individual)"
},
"porteEmpresaRef": {
"codigo": "01",
"descricao": "{copy.microCompany}"
},
"situacaoCadastralRef": {
"codigo": "02",
"descricao": "{copy.activeStatus}"
},
"cnaeRef": {
"codigo": "4781400",
"descricao": "Comércio Varejista De Artigos Do Vestuário E Acessórios"
},
"municipioRef": {
"codigo": "4729",
"descricao": "Jordania"
},
"matrizFilialRef": {
"codigo": "1",
"descricao": "Matriz"
},
"cnaesSecundarios": [
{
"codigo": "4755502",
"descricao": "Comercio Varejista De Artigos De Armarinho"
}
],
"socios": [
{
"nomeSocio": "SHEILA MARTINS ALVES",
"cnpjCpfSocio": "***008208**",
"entrada": "13/06/2001",
"descricaoQualificacao": "Sócio",
"descricaoFaixaEtaria": "51 A 60"
}
]
}Ver la cantidad de empresas antes de una consulta con filtros
Antes de realizar una consulta masiva con filtros, verifica cuántas empresas coinciden con los criterios seleccionados. Así puedes evaluar el volumen antes de solicitar los datos.
curl -X GET "https://api.cnpjdata.com.br/api/companies/count?uf=SP&cidadeNome=Campinas&cnae=6201500&porte=05&status=02&anoInicio=2016" \
-H "X-API-Key: <id>.<secret>"Respuesta 200:
{ "count": 123456 }page y limit no se utilizan. Esta ruta no devuelve empresas, no genera un searchId y no consume créditos.
Ejemplos de filtros
Los filtros pueden combinarse en la URL. Parámetros aceptados: uf, codMunicipio, cidadeNome, cnae, porte, status, anoInicio, anoInicioMin e anoInicioMax.
Ubicación y período
Usa uf=SP y cidadeNome=Campinas para filtrar por ubicación. Para un año específico, usa anoInicio=2016. Para un intervalo, usa anoInicioMin=2015&anoInicioMax=2020.
CNAE
Indica el código CNAE completo usando solo números. No utilices puntos, guiones ni barras. Ejemplo: cnae=6201500.
Situación
Indica el código en el parámetro status. Ejemplo: status=02 para empresas activas.
Tamaño de la empresa
| Código | Descripción |
|---|---|
| 00 | No informado |
| 01 | Microempresa |
| 03 | Pequeña empresa |
| 05 | Demás |
Situación registral
| Código | Descripción |
|---|---|
| 01 | Nula |
| 02 | Activa |
| 03 | Suspendida |
| 04 | Inapta |
| 08 | Dada de baja |
Buscar por filtros — exportación completa
Realiza la consulta sin enviar page para generar un archivo con todos los registros encontrados.
curl -X GET "https://api.cnpjdata.com.br/api/companies?uf=SP&cidadeNome=Campinas&cnae=6201500&porte=05&status=02&anoInicio=2016" \
-H "X-API-Key: <id>.<secret>"Respuesta 200 (estructura resumida):
{
"searchId": "uuid-da-busca",
"data": [{ "cnpjCompleto": "01.234.567/0001-89", "razaoSocial": "EMPRESA EXEMPLO LTDA" }],
"total": 58,
"totalPages": 3
}Hasta 10.000 registros: la respuesta llega completa y síncrona, en el mismo formato paginado, con el archivo del resultado total disponible mediante el searchId.
Más de 10.000 registros: el archivo se genera de forma asíncrona. La respuesta llega con "status": "processing" y data vacía, y el archivo queda disponible mediante el searchId en cuanto finalice el procesamiento (normalmente en pocos minutos, proporcional al volumen).
Respuesta cuando la exportación es asíncrona (más de 10.000 registros):
{
"searchId": "uuid-da-busca",
"status": "processing",
"data": []
}La respuesta completa contiene los datos registrales disponibles. El cobro se basa en el total de registros encontrados; el archivo se asocia al searchId.
Ver modelo completo de una empresa
{
"cnpjCompleto": "01.234.567/0001-89",
"razaoSocial": "EMPRESA EXEMPLO COMERCIO LTDA",
"nomeFantasia": "LOJA EXEMPLO",
"naturezaJuridicaCodigo": "2135",
"porteEmpresaCodigo": "01",
"situacaoCadastralCodigo": "02",
"cnaeFiscalPrincipalCodigo": "4781400",
"cnaeFiscalSecundariaCodigo": "4755502,4772500,4782201,4761003",
"codMunicipio": "4729",
"matrizFilialCodigo": "1",
"logradouro": "RUA EXEMPLO 1",
"numero": "100",
"complemento": "LOJA 01",
"bairro": "CENTRO",
"cep": "01000000",
"uf": "SP",
"telefone1": null,
"telefone2": null,
"email": null,
"dataInicioAtividade": "1997-01-21T00:00:00.000Z",
"dataSituacaoCadastral": "2005-11-03T00:00:00.000Z",
"anoInicio": 1997,
"naturezaJuridicaRef": {
"codigo": "2135",
"descricao": "Empresário (Individual)"
},
"porteEmpresaRef": {
"codigo": "01",
"descricao": "{copy.microCompany}"
},
"situacaoCadastralRef": {
"codigo": "02",
"descricao": "{copy.activeStatus}"
},
"cnaeRef": {
"codigo": "4781400",
"descricao": "Comércio Varejista De Artigos Do Vestuário E Acessórios"
},
"municipioRef": {
"codigo": "4729",
"descricao": "Jordania"
},
"matrizFilialRef": {
"codigo": "1",
"descricao": "Matriz"
},
"cnaesSecundarios": [
{
"codigo": "4755502",
"descricao": "Comercio Varejista De Artigos De Armarinho"
}
],
"socios": [
{
"nomeSocio": "SHEILA MARTINS ALVES",
"cnpjCpfSocio": "***008208**",
"entrada": "13/06/2001",
"descricaoQualificacao": "Sócio",
"descricaoFaixaEtaria": "51 A 60"
}
]
}Seguir una exportación asíncrona
Tras una exportación asíncrona, sigue el procesamiento mediante el searchId:
curl -X GET "https://api.cnpjdata.com.br/api/companies/exports/<searchId>/status" \
-H "X-API-Key: <id>.<secret>"Respuesta 200 (ejemplo):
{
"searchId": "uuid-da-busca",
"status": "processing",
"total": 123456,
"error": null,
"createdAt": "2026-08-31T14:30:00.000Z"
}| Estado | Significado |
|---|---|
| processing | Archivo en generación |
| ready | Listo para descarga |
| failed | Falló el procesamiento; contacta al soporte |
Buscar por filtros — paginación con page
Envía page y limit para consultar solo una página.
El parámetro limit acepta un máximo de 100 registros por página.
curl -X GET "https://api.cnpjdata.com.br/api/companies?uf=SP&cidadeNome=Campinas&cnae=6201500&porte=05&status=02&anoInicioMin=2015&anoInicioMax=2020&page=2&limit=20" \
-H "X-API-Key: <id>.<secret>"Respuesta 200 (estructura resumida):
{
"searchId": "uuid-da-busca-da-pagina",
"data": [{ "cnpjCompleto": "12.345.678/0001-99", "uf": "SP" }],
"page": 2,
"limit": 20,
"total": 58,
"totalPages": 3
}El cobro corresponde únicamente a la cantidad de registros devueltos en la página.
Ver modelo completo de una empresa
{
"cnpjCompleto": "01.234.567/0001-89",
"razaoSocial": "EMPRESA EXEMPLO COMERCIO LTDA",
"nomeFantasia": "LOJA EXEMPLO",
"naturezaJuridicaCodigo": "2135",
"porteEmpresaCodigo": "01",
"situacaoCadastralCodigo": "02",
"cnaeFiscalPrincipalCodigo": "4781400",
"cnaeFiscalSecundariaCodigo": "4755502,4772500,4782201,4761003",
"codMunicipio": "4729",
"matrizFilialCodigo": "1",
"logradouro": "RUA EXEMPLO 1",
"numero": "100",
"complemento": "LOJA 01",
"bairro": "CENTRO",
"cep": "01000000",
"uf": "SP",
"telefone1": null,
"telefone2": null,
"email": null,
"dataInicioAtividade": "1997-01-21T00:00:00.000Z",
"dataSituacaoCadastral": "2005-11-03T00:00:00.000Z",
"anoInicio": 1997,
"naturezaJuridicaRef": {
"codigo": "2135",
"descricao": "Empresário (Individual)"
},
"porteEmpresaRef": {
"codigo": "01",
"descricao": "{copy.microCompany}"
},
"situacaoCadastralRef": {
"codigo": "02",
"descricao": "{copy.activeStatus}"
},
"cnaeRef": {
"codigo": "4781400",
"descricao": "Comércio Varejista De Artigos Do Vestuário E Acessórios"
},
"municipioRef": {
"codigo": "4729",
"descricao": "Jordania"
},
"matrizFilialRef": {
"codigo": "1",
"descricao": "Matriz"
},
"cnaesSecundarios": [
{
"codigo": "4755502",
"descricao": "Comercio Varejista De Artigos De Armarinho"
}
],
"socios": [
{
"nomeSocio": "SHEILA MARTINS ALVES",
"cnpjCpfSocio": "***008208**",
"entrada": "13/06/2001",
"descricaoQualificacao": "Sócio",
"descricaoFaixaEtaria": "51 A 60"
}
]
}Descargar el archivo del resultado desde el panel
Accede al panel autenticado, ve a Mis consultas de API, localiza la consulta por su etiqueta y haz clic en Descargar.
El enlace es válido durante 2 minutos y cada resultado puede descargarse hasta 5 veces al día.
Las consultas aún en processing quedan disponibles para descarga en cuanto el estado cambie a ready.
El listado del panel muestra el estado y el total de registros de cada consulta.