Tudo que você precisa pra integrar a consulta de Inscrição Estadual por CNPJ no seu sistema.
1. Autenticação
Todas as requisições exigem o seu token no header x-api-key. O token é gerado no seu painel após ativar uma assinatura, tem o formato iefacil_... e é exibido uma única vez.
x-api-key: iefacil_seu_token_aqui
Não compartilhe seu token. Se suspeitar de vazamento, use o botão Regenerar no painel (o antigo para de funcionar na hora).
2. Endpoints
Consultar Inscrição Estadual
GET https://www.inscricaoestadualfacil.com.br/api/b2b/consultar/{cnpj}?uf={UF}
Parâmetro
Onde
Descrição
cnpj
URL
CNPJ (14) ou CPF (11). Com ou sem formatação. Aceita CNPJ alfanumérico (NT 2026.004).
uf
Query
Sigla do estado da consulta (ex: PR, SP, RS). Obrigatório.
x-api-key
Header
Seu token da API. Obrigatório.
Consultar seu uso / franquia
GET https://www.inscricaoestadualfacil.com.br/api/b2b/uso
Mesmo header x-api-key. Retorna consultas usadas hoje, no mês, restantes e a data de renovação.
Observação sobre o Maranhão (MA)
A SEFAZ-MA não disponibiliza consulta cadastral via webservice. Consultas com uf=MA retornam 422 com o link do portal oficial.
using var http = new HttpClient();
http.DefaultRequestHeaders.Add("x-api-key", "iefacil_seu_token");
var url = "https://www.inscricaoestadualfacil.com.br/api/b2b/consultar/12345678000195?uf=PR";
var resposta = await http.GetAsync(url);
var json = await resposta.Content.ReadAsStringAsync();
if (resposta.IsSuccessStatusCode)
{
var dados = System.Text.Json.JsonDocument.Parse(json).RootElement;
Console.WriteLine($"IE: {dados.GetProperty("ie")}");
Console.WriteLine($"Razão social: {dados.GetProperty("razao_social")}");
Console.WriteLine($"Situação: {dados.GetProperty("situacao")}");
}
else
{
Console.WriteLine($"Erro {(int)resposta.StatusCode}: {json}");
}
situacao vem como Ativa ou Inativa. Campos sem valor na SEFAZ retornam null.
5. Códigos de erro
Código
Significado
O que fazer
200
Consulta realizada com sucesso
—
400
CNPJ/CPF inválido ou UF ausente
Corrija o documento/UF e reenvie
401
Token ausente ou inválido
Confira o header x-api-key
402
Assinatura inativa ou pagamento pendente
Regularize a assinatura no painel
404
Documento não encontrado na base da UF
Confira a UF (a empresa pode não ter IE nesse estado)
422
UF sem serviço de consulta (ex: MA)
Use o portal oficial indicado na resposta
429
Franquia mensal atingida, limite por minuto excedido ou alto volume no momento
Veja o campo erro na resposta. Aguarde o Retry-After ou faça upgrade de plano
500
Erro interno
Tente novamente; se persistir, fale com o suporte
502/503
SEFAZ da UF indisponível
Tente novamente em instantes (não desconta da sua franquia)
6. Limites de uso
Plano
Franquia mensal
Requisições por minuto
Renovação
Starter — R$ 69,00/mês
1.000 consultas
10 req/min
Dia 1º de cada mês
Pro — R$ 149,00/mês
5.000 consultas
20 req/min
Dia 1º de cada mês
Business — R$ 399,00/mês
10.000 consultas
30 req/min
Dia 1º de cada mês
Consultas com erro 5xx (indisponibilidade da SEFAZ) não descontam da sua franquia. Erros 4xx (documento inválido, não encontrado) contam normalmente.
Limite de requisições por minuto
Cada token tem um teto de requisições por minuto conforme o plano. O limite existe para garantir estabilidade a todos os clientes e evitar bloqueios nos serviços da SEFAZ. Ao ultrapassar, a API responde 429 com o campo erro: "rate_limit_excedido".
Toda resposta traz os headers padrão para sua aplicação se autorregular:
Recomendação: ao processar lotes, respeite o X-RateLimit-Remaining e implemente retry lendo o Retry-After. Um intervalo de 2 a 3 segundos entre consultas atende com folga qualquer um dos planos.
Acompanhe seu consumo em tempo real no painel ou via GET /api/b2b/uso, que também retorna limite_por_minuto e restantes_no_minuto.
Precisa de mais volume?
Fale com a gente pela página de contato pra planos personalizados de alto volume.