Consultar Inscrição Estadual (IE) pela API

A CNPJAPI consulta a Inscrição Estadual (IE) de um CNPJ na fonte oficial - o cadastro de contribuintes de ICMS das SEFAZ, por webservice, não raspagem. A consulta exige autenticação: a sua API key precisa de um plano com cota de IE - todo plano registrado inclui uma, o gratuito também. Este guia mostra a chamada e como ler a resposta.

Endpoint

  • Método e caminho: GET /consulta/ie/{cnpj} (apenas os 14 dígitos, sem pontuação)
  • Base URL: https://api.cnpjapi.com.br
  • uf (opcional): uma UF (ex.: SP) custa 1 crédito; omitir faz a varredura nacional nas UFs cobertas e custa 3 créditos.
  • Autenticação: API key no cabeçalho Authorization: Bearer (veja Autenticação).

Cobertura (26 UFs): AC, AL, AM, AP, BA, CE, DF, ES, GO, MG, MS, MT, PA, PB, PE, PI, PR, RJ, RN, RO, RR, RS, SC, SE, SP, TO. Só o MA fica de fora (a SEFAZ-MA não oferece o serviço).

Exemplo (curl)

curl "https://api.cnpjapi.com.br/consulta/ie/00776574000156?uf=SP" \
  -H "Authorization: Bearer cnpj_sua_chave"

Exemplo em código

Os exemplos Node usam fetch nativo (Node 18+) e await no nível superior - rode como módulo ES (arquivo .mjs, ou "type": "module" no package.json), ou envolva o código numa função async.

Python:

import requests

cnpj = "00776574000156"
r = requests.get(
    f"https://api.cnpjapi.com.br/consulta/ie/{cnpj}",
    params={"uf": "SP"},              # omita para a varredura nacional
    headers={"Authorization": "Bearer cnpj_sua_chave"},
)
r.raise_for_status()
for ie in r.json()["Resultados"]:
    print(ie["UF"], ie["IE"], ie["Situacao"])

Node.js:

const cnpj = "00776574000156";
const resposta = await fetch(
  `https://api.cnpjapi.com.br/consulta/ie/${cnpj}?uf=SP`, // omita ?uf para varrer o país
  { headers: { Authorization: "Bearer cnpj_sua_chave" } },
);
const { Resultados: resultados } = await resposta.json();
for (const ie of resultados) {
  console.log(ie.UF, ie.IE, ie.Situacao);
}

Lendo a resposta

Cada item de Resultados traz UF, IE (número, vazio quando não-contribuinte), Indicador (1 contribuinte de ICMS, 2 isento, 9 não-contribuinte), Situacao (habilitado/nao_habilitado), RazaoSocial e mais.

Numa consulta por uf, se o CNPJ não é contribuinte naquele estado o item ainda vem, com Indicador: 9 e IE vazio - é a resposta definitiva para a UF perguntada. Já na varredura nacional os não-contribuintes são omitidos: só entram as UFs onde há inscrição.

Os campos completos estão em Consultar a Inscrição Estadual.

Cota, créditos e disponibilidade

  • A IE tem cota mensal própria por plano, separada da cota de consulta de CNPJ. Créditos avulsos não expiram.
  • Respostas de cache (24h) não debitam crédito.
  • O status da consulta por estado fica em Disponibilidade por UF.

Junto com os dados do CNPJ

Precisa do cadastro e da IE numa só chamada? Use GET /{cnpj}?incluir=ie - a resposta do CNPJ ganha o campo InscricoesEstaduais. Só no formato nativo. Veja Consultar um CNPJ.

Próximos passos