Consultar CNPJ no Google Sheets
Este guia mostra como consultar CNPJ direto no Google Sheets, criando uma função =CNPJ(...) que você usa como qualquer fórmula da planilha. Ela chama a API REST da CNPJAPI e traz Razão Social, situação cadastral e atividade principal para as células ao lado do CNPJ.
O guia começa do zero: criar a conta e gerar a sua API key.
Antes de começar: crie a conta e gere a API key
Para consultar pela API você precisa de uma API key (uma chave que identifica a sua conta). É de graça para começar.
- Acesse https://app.cnpjapi.com.br e crie sua conta no plano gratuito (não pede cartão).
- Confirme o seu e-mail e faça login no portal.
- Já dentro do portal, gere a sua API key. Ela começa com
cnpj_(por exemplo,cnpj_a1b2c3...). Copie e guarde num lugar seguro - a chave é mostrada uma vez. - Essa chave vai no cabeçalho
Authorization, no formatoBearer cnpj_sua_chave. O script abaixo cuida disso.
Detalhes em Autenticação. Trate a chave como uma senha: quem tem a chave consome a sua cota.
Atalho: planilha pronta pra copiar
Não quer montar do zero? Copie a nossa planilha modelo, que já vem com a função pronta:
Fazer uma cópia da planilha modelo
Depois de copiar (o Google cria uma cópia na sua conta):
- Abra Extensões → Apps Script, troque
cnpj_sua_chavepela sua API key e salve. Na primeira vez o Google pede autorização do script (é do seu próprio script). - Na planilha, digite um CNPJ na coluna CNPJ (já formatada como texto) - as células ao lado trazem Razão Social, situação e atividade.
Prefere entender como funciona ou montar na sua própria planilha? Siga o passo a passo abaixo.
Por que não dá com =IMPORTDATA()?
As fórmulas prontas do Sheets (IMPORTDATA, IMPORTJSON) não enviam cabeçalhos - e a API exige o cabeçalho Authorization. A saída é criar uma pequena função personalizada com o Apps Script (o editor de scripts embutido no Google Sheets). Você cola o código uma vez e depois usa =CNPJ(A2) na planilha.
Passo a passo
1. Abra o editor de scripts. Na sua planilha, menu Extensões → Apps Script.
2. Cole o código (apague o conteúdo padrão e cole este):
/**
* Consulta um CNPJ pela CNPJAPI e devolve os dados nas células ao lado.
* Uso na planilha: =CNPJ(A2)
*/
function CNPJ(cnpj) {
var chave = "cnpj_sua_chave"; // <- cole a sua API key aqui
var digitos = String(cnpj).replace(/\D/g, "");
if (digitos.length !== 14) return "CNPJ inválido";
var resp = UrlFetchApp.fetch("https://api.cnpjapi.com.br/" + digitos, {
headers: { "Authorization": "Bearer " + chave },
muteHttpExceptions: true
});
var codigo = resp.getResponseCode();
if (codigo === 404) return "não encontrado";
if (codigo === 429) return "limite atingido, tente mais tarde";
if (codigo !== 200) return "erro " + codigo;
var e = JSON.parse(resp.getContentText());
return [[
e.RazaoSocial,
e.SituacaoCadastral.Descricao,
e.AtividadePrincipal.Descricao
]];
}
Troque cnpj_sua_chave pela sua API key. Salve (ícone de disquete).
3. Use na planilha. Numa célula (digamos, se o CNPJ está em A2), escreva:
=CNPJ(A2)
A função devolve três colunas de uma vez - Razão Social, situação e atividade principal - que "transbordam" para as células à direita. Arraste a fórmula para baixo para aplicar a uma coluna inteira de CNPJs.
Dica: formate a coluna do CNPJ como Texto simples (menu Formatar → Número → Texto simples) antes de digitar. Sem isso, o Sheets trata
00776574000156como número e come os zeros à esquerda - a função recebe menos de 14 dígitos e devolve "CNPJ inválido".
Na primeira vez, o Google pede autorização para o script acessar serviços externos (
UrlFetchApp). Aceite com a sua conta Google; é uma permissão do seu próprio script, não da CNPJAPI.
Trazer só um campo
Se quiser apenas a razão social numa célula, troque o return por um valor único:
var e = JSON.parse(resp.getContentText());
return e.RazaoSocial;
E na planilha, =CNPJ(A2) devolve só o nome.
Limite de requisições (e quando fazer upgrade)
Ao arrastar a fórmula para muitas linhas, o Sheets chama a função várias vezes em sequência. No plano gratuito, a API aceita um número limitado de consultas por minuto; ao estourar, ela responde 429 e a célula mostra "limite atingido". As funções personalizadas do Sheets também têm limite de tempo próprio do Google.
Para listas grandes:
- Recalcule aos poucos (aplique a fórmula em blocos de linhas); ou
- Faça upgrade para um plano com limite maior e cota mensal folgada.
Veja os limites por plano. Se você usa isso com frequência, o plano pago compensa no tempo economizado.
Guardando a chave com mais segurança (opcional)
Em vez de deixar a chave no código, você pode guardá-la nas Propriedades do Script e lê-la assim:
var chave = PropertiesService.getScriptProperties().getProperty("CNPJAPI_KEY");
Cadastre o valor em Configurações do projeto → Propriedades do script. Útil se mais pessoas editam a planilha.
Observações
- Funciona em qualquer sistema (é web) - inclusive onde o Excel/Power Query não roda (Mac, Chromebook).
- No Excel para Windows dá para fazer o mesmo sem programar, pelo Power Query: Consultar CNPJ no Excel.
Próximos passos
Crie sua conta gratuita em https://app.cnpjapi.com.br e monte sua primeira planilha em minutos.