API do SINTEGRA: inscrição estadual nos 27 estados numa chamada
Consulta a Inscrição Estadual (IE) de um CNPJ, CPF ou IE nos 27 estados de uma vez e devolve a situação de cada inscrição por UF.
Atualizado em
GET /api/consultar-ie-todos devolve, numa chamada só, as inscrições estaduais de um CNPJ, CPF ou IE nos 27 estados, com a situação de cada uma (Habilitado ou Não habilitado), e conta como 1 consulta (de R$ 0,025 a R$ 0,67, conforme o plano).
É o que muita gente procura como "API do SINTEGRA": em vez de abrir o SINTEGRA de cada estado, você manda o documento uma vez e recebe a resposta de todas as UFs agrupada por estado. Se já sabe a UF, use Consultar IE por UF.
Resumo
| Item | Valor |
|---|---|
| Endpoint | GET https://api.fiscalapi.com.br/api/consultar-ie-todos |
| Você envia | cnpj, cpf ou ie (um dos três) |
| Cobertura | 27 UFs na mesma chamada |
| Volta | Lista por UF com as inscrições, situação, endereço, CNAE e regime de cada uma |
| Formato | JSON |
| Autenticação | Header X-API-Key (como obter) |
Quanto custa cada chamada
| Chamada | Conta como | Lite | Starter | Pro | Enterprise |
|---|---|---|---|---|---|
27 UFs (/api/consultar-ie-todos) | 1 consulta | R$ 0,67 | R$ 0,10 | R$ 0,065 | R$ 0,025 |
1 UF (/api/consultar) | 1 consulta | R$ 0,67 | R$ 0,10 | R$ 0,065 | R$ 0,025 |
Valores por consulta dentro da franquia mensal: Lite R$ 19,99 por 30 consultas, Starter R$ 50 por 500, Pro R$ 130 por 2.000 e Enterprise R$ 250 por 10.000. Depois da franquia, a recarga sai a R$ 0,12 (Starter), R$ 0,07 (Pro) ou R$ 0,02 (Enterprise). Veja Planos e limites.
- Não é cobrada a chamada que volta erro HTTP (400, 402, 429, 500) nem a que falha em todos os estados.
- É cobrada a chamada em que pelo menos um estado respondeu, mesmo que outros tenham falhado (
complete: false). Estado que respondeu sem inscrição também é resposta: o documento não tem IE ali.
Parâmetros de consulta
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
cnpj | string | Não | CNPJ do contribuinte (14 posições, sem pontuação). |
cpf | string | Não | CPF do contribuinte (11 dígitos, só números). |
ie | string | Não | Número da Inscrição Estadual. Pontuação é ignorada. |
secundarias | boolean | Não | true busca no estado as atividades secundárias de cada inscrição. Padrão false. Veja Atividades secundárias. |
Informe exatamente um de cpf, cnpj ou ie. Nenhum ou mais de um volta erro 400.
Exemplos
Consultar todas as UFs por CNPJ
curl -X GET "https://api.fiscalapi.com.br/api/consultar-ie-todos?cnpj=12345678000195" \
-H "X-API-Key: fapi_sua_chave_aqui"const response = await fetch(
"https://api.fiscalapi.com.br/api/consultar-ie-todos?cnpj=12345678000195",
{ headers: { "X-API-Key": "fapi_sua_chave_aqui" } }
);
const data = await response.json();
for (const estado of data.results) {
for (const ie of estado.results) console.log(estado.uf, ie.inscricao_estadual, ie.situacao_ie);
}import requests
response = requests.get(
"https://api.fiscalapi.com.br/api/consultar-ie-todos",
headers={"X-API-Key": "fapi_sua_chave_aqui"},
params={"cnpj": "12345678000195"},
)
data = response.json()
for estado in data["results"]:
for ie in estado["results"]:
print(estado["uf"], ie["inscricao_estadual"], ie["situacao_ie"])$response = Http::withHeaders([
'X-API-Key' => 'fapi_sua_chave_aqui',
])->get('https://api.fiscalapi.com.br/api/consultar-ie-todos', [
'cnpj' => '12345678000195',
]);
$data = $response->json();var client = new HttpClient();
client.DefaultRequestHeaders.Add("X-API-Key", "fapi_sua_chave_aqui");
var response = await client.GetAsync(
"https://api.fiscalapi.com.br/api/consultar-ie-todos?cnpj=12345678000195"
);
var data = await response.Content.ReadAsStringAsync();Produtor rural por CPF
Produtor rural pessoa física costuma ter IE no CPF, às vezes em mais de um estado. A mesma chamada com cpf traz todas, exceto em SP, onde a busca pelo CPF não encontra a inscrição e a consulta é pela própria IE. Mais detalhes em Produtor rural por CPF.
curl -X GET "https://api.fiscalapi.com.br/api/consultar-ie-todos?cpf=12345678909" \
-H "X-API-Key: fapi_sua_chave_aqui"import requests
response = requests.get(
"https://api.fiscalapi.com.br/api/consultar-ie-todos",
headers={"X-API-Key": "fapi_sua_chave_aqui"},
params={"cpf": "12345678909"},
)
for estado in response.json()["results"]:
print(f"{estado['uf']}: {len(estado['results'])} IE(s)")Descobrir o estado de uma IE
Com ie, você não precisa saber a UF: o número é procurado em todos os estados e volta na UF a que pertence.
curl -X GET "https://api.fiscalapi.com.br/api/consultar-ie-todos?ie=131234560" \
-H "X-API-Key: fapi_sua_chave_aqui"const response = await fetch(
"https://api.fiscalapi.com.br/api/consultar-ie-todos?ie=131234560",
{ headers: { "X-API-Key": "fapi_sua_chave_aqui" } }
);
const data = await response.json();
const encontrada = data.results.find((estado) => estado.results.length > 0);
console.log(encontrada?.uf, encontrada?.results);Só uma UF
Quando a UF já é conhecida, GET /api/consultar?uf=MT&cnpj=... responde mais rápido e custa o mesmo. Veja Consultar IE por UF.
Resposta
Campos de nível superior
| Campo | Tipo | Descrição |
|---|---|---|
request_id | string | Identificador único da requisição (UUID). |
document | string | Documento enviado na consulta. |
document_type | string | Tipo do documento: cpf, cnpj ou ie. |
cached_ufs | array | UFs cujo resultado veio do cache. |
ambiente | string | producao ou homologacao. Com chave de teste (fapi_test_) vem homologacao e os dados são fictícios (Homologação). |
results | array | Lista de resultados por estado. |
complete | boolean | false quando algum estado terminou em error ou timeout. Nesse caso, resultado vazio não quer dizer "não encontrado": a inscrição pode estar justamente no estado que falhou. |
Campos de cada estado (results[])
| Campo | Tipo | Descrição |
|---|---|---|
uf | string | Sigla do estado. |
source_status | object | Status da consulta neste estado. |
source_status.status | string | success, error ou timeout. |
source_status.error_code | string | Código de erro (vazio se sucesso). |
source_status.error_message | string | Mensagem de erro (vazio se sucesso). |
data_atualizacao | string | null | Data e hora em que os dados deste estado foram obtidos na fonte oficial, em ISO 8601 com o fuso de Brasília (ex.: 2026-10-23T09:41:12-03:00). Para estado listado em cached_ufs, é o momento da consulta original à fonte. null quando o estado não foi consultado ou terminou em error, timeout ou skipped. |
results | array | Inscrições encontradas neste estado. Lista vazia quando não há IE. |
A data fica em cada estado, e não no topo da resposta, porque na mesma consulta um estado pode vir da fonte naquele momento e outro do cache, obtido antes.
Cada item de results[].results[] tem os campos de Consultar IE por UF, inclusive situacao_ie, tipo_ie, endereço, CNAE e cnaes_secundarios.
Exemplo de resposta
{
"request_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"document": "12345678909",
"document_type": "cpf",
"cached_ufs": ["RO"],
"complete": true,
"results": [
{
"uf": "MT",
"source_status": { "status": "success", "error_code": "", "error_message": "" },
"data_atualizacao": "2026-10-23T09:41:12-03:00",
"results": [
{
"inscricao_estadual": "13.123.456-0",
"razao_social": "JOAO DA SILVA FAZENDA SANTA MARIA",
"situacao_ie": "Habilitado",
"uf_ie": "MT",
"tipo_ie": "IE de Produtor Rural"
}
]
},
{
"uf": "RO",
"source_status": { "status": "success", "error_code": "", "error_message": "" },
"data_atualizacao": "2026-10-22T18:05:47-03:00",
"results": []
}
]
}Quando um estado falha (portal fora do ar, por exemplo), os outros continuam sendo consultados. Confira o source_status de cada UF e o campo complete antes de concluir que o documento não tem IE.
Códigos de erro
| Código | HTTP Status | Descrição |
|---|---|---|
PARAMETRO_AUSENTE | 400 | Nenhum documento (cpf, cnpj ou ie) foi informado. |
PARAMETRO_CONFLITANTE | 400 | Mais de um documento (cpf, cnpj, ie) foi enviado. |
DOCUMENTO_INVALIDO | 400 | O documento informado não contém dígitos. |
ERRO_INTERNO | 500 | Erro interno no servidor. |
Integração com ERPs
Não existe conector pronto: a integração é uma chamada HTTP GET com o header X-API-Key, feita de onde o seu sistema já fala com a internet. O lugar comum é o cadastro de clientes e fornecedores, antes de emitir a nota.
| Sistema | Como chamar a API REST |
|---|---|
| TOTVS Protheus | Num fonte ADVPL/TLPP, com a classe FWRest ou a função HttpGet, por exemplo num ponto de entrada do cadastro de clientes. |
| SAP (ECC, S/4HANA) | Em ABAP, com cl_http_client, ou por um fluxo no SAP Integration Suite. |
| Sankhya | Por um serviço intermediário (script, n8n, Make) que chama a FiscalAPI e grava o resultado pela API do Sankhya. |
| Senior | Pelo mesmo caminho: um serviço intermediário que chama a FiscalAPI e atualiza o cadastro pelas APIs da plataforma Senior. |
| Omie | Um serviço intermediário chama a FiscalAPI e atualiza o cliente pela API do Omie. |
| Bling | Um serviço intermediário chama a FiscalAPI e atualiza o contato pela API v3 do Bling. |
| Odoo | Num módulo próprio em Python, com requests. |
Para planilhas grandes sem programar, o painel aceita um Excel com a lista de documentos: veja consulta de IE em massa.
Perguntas frequentes
Existe API do SINTEGRA?
Sim. A FiscalAPI tem uma API REST que faz o papel da consulta SINTEGRA: GET /api/consultar-ie-todos recebe CNPJ, CPF ou IE e devolve em JSON as inscrições estaduais e a situação de cada uma nos 27 estados, numa chamada só. Para um estado específico, use GET /api/consultar com o parâmetro uf.
Quanto custa consultar a IE nos 27 estados?
Cada chamada conta como 1 consulta, para as 27 UFs juntas: R$ 0,025 no Enterprise, R$ 0,065 no Pro, R$ 0,10 no Starter e R$ 0,67 no Lite, dentro da franquia do plano. Erro HTTP e falha em todos os estados não são cobrados.
Dá para consultar inscrição estadual em massa?
Sim. Pela API, faça uma chamada por documento, respeitando o limite por minuto do plano (5 no Lite, 20 no Starter, 60 no Pro, 120 no Enterprise). Pelo painel, envie uma planilha Excel com a lista.
Como saber se a inscrição estadual está ativa?
Olhe o campo situacao_ie de cada inscrição: Habilitado ou Não habilitado (compare sem diferenciar maiúsculas). O campo situacao_contribuinte mostra restrições como "Vedada operação como Destinatário na UF".
Consulta por CPF funciona para produtor rural?
Sim. Envie cpf e a resposta traz as inscrições de produtor rural daquele CPF nos estados, com tipo_ie igual a IE de Produtor Rural quando o estado informa. A exceção é SP: lá a busca pelo CPF não encontra a inscrição, e a consulta é pela própria IE. Veja Produtor rural por CPF.
API de Inscrição Estadual em lote · Planos e preços
Esta pagina foi util?
Como migrar do SintegrAPI ou do SintegraWS para a FiscalAPI?
Equivalência de endpoints, parâmetros, campos e erros entre o SintegrAPI, o SintegraWS e a FiscalAPI na consulta de inscrição estadual, com o que muda no código e o custo por consulta pelos preços públicos.
API de inscrição estadual por UF (alternativa à consulta SINTEGRA)
Consulta a Inscrição Estadual (IE) de um CNPJ, CPF ou IE em um estado específico e devolve situação, endereço, CNAE e regime.