# 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.

URL: https://docs.fiscalapi.com.br/docs/consulta-ie/consultar-ie
Atualizado em 12/11/2026

`GET /api/consultar?uf=XX` devolve as inscrições estaduais de um CNPJ, CPF ou IE **no estado informado**, com situação (`Habilitado` ou `Não habilitado`), endereço, CNAE e regime de apuração, e conta como **1 consulta** (de R$ 0,025 a R$ 0,67, conforme o plano).

Funciona nas 27 UFs. Para procurar em todos os estados de uma vez, pelo mesmo preço, use [API do SINTEGRA: IE nos 27 estados](/docs/consulta-ie/consultar-ie-todos).

## ## Resumo

| Item       | Valor                                                                                       |
| ---------- | ------------------------------------------------------------------------------------------- |
| Endpoint   | `GET https://api.fiscalapi.com.br/api/consultar`                                            |
| Você envia | `uf` + um entre `cnpj`, `cpf` ou `ie`                                                       |
| Volta      | Inscrições no estado, com situação, endereço, CNAE, regime e documentos fiscais habilitados |
| Formato    | JSON                                                                                        |

## ## Quanto custa cada chamada

| Chamada                            | Conta como | Lite    | Starter | Pro      | Enterprise |
| ---------------------------------- | ---------- | ------- | ------- | -------- | ---------- |
| 1 UF (`/api/consultar`)            | 1 consulta | R$ 0,67 | R$ 0,10 | R$ 0,065 | R$ 0,025   |
| 27 UFs (`/api/consultar-ie-todos`) | 1 consulta | R$ 0,67 | R$ 0,10 | R$ 0,065 | R$ 0,025   |

Valores por consulta dentro da franquia mensal. Depois dela, a recarga sai a R$ 0,12 (Starter), R$ 0,07 (Pro) ou R$ 0,02 (Enterprise). Erro HTTP não é cobrado, inclusive `502` e `503` quando o portal do estado falha. Resposta sem inscrição conta: é a resposta de que o documento não tem IE naquele estado. Veja [Planos e limites](/docs/referencia/plans-and-limits).

## ## Autenticação

Envie sua chave no header `X-API-Key`. Veja [Autenticação](/docs/getting-started/authentication) para detalhes.

## ## Parâmetros de consulta

<Callout type="warn">
  Você deve informar **exatamente um** dos parâmetros `cpf`, `cnpj` ou `ie`. Enviar nenhum ou mais de um resultará em erro `400`.
</Callout>

| Name          | Type    | Required | Description                                                                                                                                                               |
| ------------- | ------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `uf`          | string  | Sim      | Sigla do estado (ex: MT, SP, RJ). Deve ser um dos 27 estados suportados.                                                                                                  |
| `cpf`         | string  | Não      | CPF do contribuinte (somente números, 11 dígitos).                                                                                                                        |
| `cnpj`        | string  | Não      | CNPJ do contribuinte (somente números, 14 dígitos).                                                                                                                       |
| `ie`          | string  | Não      | Número da Inscrição Estadual.                                                                                                                                             |
| `secundarias` | boolean | Não      | `true` busca no estado as atividades secundárias de cada inscrição. Padrão `false`. Veja [Atividades secundárias](/docs/consulta-ie/consultar-ie#atividades-secundarias). |

## ## Exemplos

### ### Produtor rural por CPF em uma UF

<Tabs items="[&#x22;curl&#x22;, &#x22;JavaScript&#x22;, &#x22;Python&#x22;, &#x22;PHP&#x22;, &#x22;C#&#x22;]">
  <Tab value="curl">
    ```bash
    curl -X GET "https://api.fiscalapi.com.br/api/consultar?uf=MT&cpf=12345678909" \
      -H "X-API-Key: fapi_sua_chave_aqui"
    ```
  </Tab>

  <Tab value="JavaScript">
    ```javascript
    const response = await fetch(
      "https://api.fiscalapi.com.br/api/consultar?uf=MT&cpf=12345678909",
      { headers: { "X-API-Key": "fapi_sua_chave_aqui" } }
    );
    const data = await response.json();
    console.log(data.results);
    ```
  </Tab>

  <Tab value="Python">
    ```python
    import requests

    response = requests.get(
        "https://api.fiscalapi.com.br/api/consultar",
        headers={"X-API-Key": "fapi_sua_chave_aqui"},
        params={"uf": "MT", "cpf": "12345678909"},
    )
    data = response.json()
    print(data["results"])
    ```
  </Tab>

  <Tab value="PHP">
    ```php
    $response = Http::withHeaders([
        'X-API-Key' => 'fapi_sua_chave_aqui',
    ])->get('https://api.fiscalapi.com.br/api/consultar', [
        'uf' => 'MT',
        'cpf' => '12345678909',
    ]);
    $data = $response->json();
    ```
  </Tab>

  <Tab value="C#">
    ```csharp
    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?uf=MT&cpf=12345678909"
    );
    var data = await response.Content.ReadAsStringAsync();
    ```
  </Tab>
</Tabs>

### ### Só uma UF por CNPJ

<Tabs items="[&#x22;curl&#x22;, &#x22;JavaScript&#x22;, &#x22;Python&#x22;, &#x22;PHP&#x22;, &#x22;C#&#x22;]">
  <Tab value="curl">
    ```bash
    curl -X GET "https://api.fiscalapi.com.br/api/consultar?uf=SP&cnpj=12345678000195" \
      -H "X-API-Key: fapi_sua_chave_aqui"
    ```
  </Tab>

  <Tab value="JavaScript">
    ```javascript
    const response = await fetch(
      "https://api.fiscalapi.com.br/api/consultar?uf=SP&cnpj=12345678000195",
      { headers: { "X-API-Key": "fapi_sua_chave_aqui" } }
    );
    const data = await response.json();
    console.log(data.results);
    ```
  </Tab>

  <Tab value="Python">
    ```python
    import requests

    response = requests.get(
        "https://api.fiscalapi.com.br/api/consultar",
        headers={"X-API-Key": "fapi_sua_chave_aqui"},
        params={"uf": "SP", "cnpj": "12345678000195"},
    )
    data = response.json()
    print(data["results"])
    ```
  </Tab>

  <Tab value="PHP">
    ```php
    $response = Http::withHeaders([
        'X-API-Key' => 'fapi_sua_chave_aqui',
    ])->get('https://api.fiscalapi.com.br/api/consultar', [
        'uf' => 'SP',
        'cnpj' => '12345678000195',
    ]);
    $data = $response->json();
    ```
  </Tab>

  <Tab value="C#">
    ```csharp
    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?uf=SP&cnpj=12345678000195"
    );
    var data = await response.Content.ReadAsStringAsync();
    ```
  </Tab>
</Tabs>

## ## 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`.                                                                                                                                                                                         |
| `uf`               | string         | UF consultada.                                                                                                                                                                                                                    |
| `cached`           | boolean        | Indica se o resultado veio do cache.                                                                                                                                                                                              |
| `data_atualizacao` | string \| null | Data e hora em que os dados foram obtidos na fonte oficial, em ISO 8601 com o fuso de Brasília (ex.: `2026-10-23T09:41:12-03:00`). Quando `cached` é `true`, é o momento da consulta original à fonte, e não o da sua requisição. |
| `ambiente`         | string         | `producao` ou `homologacao`. Com chave de teste (`fapi_test_`) vem `homologacao` e os dados são fictícios ([Homologação](/docs/getting-started/homologacao)).                                                                     |
| `results`          | array          | Lista de inscrições estaduais encontradas.                                                                                                                                                                                        |

### ### Campos de cada resultado (`results[]`)

| Campo                   | Tipo          | Descrição                                                                                                                                         |
| ----------------------- | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| `inscricao_estadual`    | string        | Número da IE.                                                                                                                                     |
| `razao_social`          | string        | Nome ou Razão Social do contribuinte.                                                                                                             |
| `nome_fantasia`         | string        | Nome fantasia.                                                                                                                                    |
| `situacao_ie`           | string        | Situação da IE: `Habilitado` ou `Não habilitado` (a grafia de maiúsculas varia, ex.: `Não Habilitado`; compare sem diferenciar maiúsculas).       |
| `uf_ie`                 | string        | UF da inscrição.                                                                                                                                  |
| `tipo_ie`               | string        | Tipo da inscrição (ex.: `IE de Produtor Rural`, `IE Normal`, `IE Substituto Tributário`).                                                         |
| `logradouro`            | string        | Logradouro do endereço.                                                                                                                           |
| `complemento`           | string        | Complemento do endereço.                                                                                                                          |
| `bairro`                | string        | Bairro.                                                                                                                                           |
| `numero`                | string        | Número.                                                                                                                                           |
| `municipio`             | string        | Município.                                                                                                                                        |
| `cep`                   | string        | CEP.                                                                                                                                              |
| `regime_pagamento`      | string        | Regime de pagamento.                                                                                                                              |
| `data_situacao`         | string        | Data da situação cadastral.                                                                                                                       |
| `situacao_contribuinte` | string        | Situação do contribuinte (ex.: `Sem restrição`, `Vedada operação como Destinatário na UF`, `Bloqueado como Destinatário na UF`).                  |
| `data_inicio_atividade` | string        | Data de início da atividade.                                                                                                                      |
| `cnae_codigo`           | string        | Código CNAE da atividade principal, com 7 dígitos e sem pontuação (ex.: `0111301`).                                                               |
| `cnae_descricao`        | string        | Descrição do CNAE principal.                                                                                                                      |
| `cnaes_secundarios`     | array \| null | Atividades secundárias da inscrição. Veja [Atividades secundárias](#atividades-secundarias).                                                      |
| `regime_apuracao_icms`  | string        | Regime de apuração do ICMS.                                                                                                                       |
| `situacao_nfe`          | string        | Documentos fiscais eletrônicos habilitados, separados por vírgula (ex.: `NFe`, `NFCe, NFe`, `CTe Rodo, NFe`). Pode vir vazio.                     |
| `cpf_cnpj`              | string        | Documento formatado.                                                                                                                              |
| `situacao_cadastral`    | string        | Situação cadastral, quando o estado informa (ex.: `Ativo - HABILITADO`, `Baixado - NÃO HABILITADO`, `Suspenso - NÃO HABILITADO`). Pode vir vazio. |

### ### Exemplo de resposta

```json
{
  "request_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "document": "12345678909",
  "document_type": "cpf",
  "uf": "MT",
  "cached": false,
  "data_atualizacao": "2026-10-23T09:41:12-03:00",
  "results": [
    {
      "inscricao_estadual": "13.123.456-0",
      "razao_social": "JOAO DA SILVA FAZENDA SANTA MARIA",
      "nome_fantasia": "FAZENDA SANTA MARIA",
      "situacao_ie": "Habilitado",
      "uf_ie": "MT",
      "tipo_ie": "IE de Produtor Rural",
      "logradouro": "ROD MT-130 KM 42",
      "complemento": "ZONA RURAL",
      "bairro": "ZONA RURAL",
      "numero": "S/N",
      "municipio": "RONDONOPOLIS",
      "cep": "78700-000",
      "regime_pagamento": "NORMAL",
      "data_situacao": "15/03/2020",
      "situacao_contribuinte": "Sem restrição",
      "data_inicio_atividade": "01/06/2015",
      "cnae_codigo": "0111301",
      "cnae_descricao": "CULTIVO DE ARROZ",
      "cnaes_secundarios": null,
      "regime_apuracao_icms": "NORMAL",
      "situacao_nfe": "NFe",
      "cpf_cnpj": "123.456.789-09",
      "situacao_cadastral": ""
    }
  ]
}
```

## ## Atividades secundárias

O campo `cnaes_secundarios` traz as atividades econômicas secundárias registradas pelo estado naquela inscrição. Ele vem em **todo** resultado.

Para buscar as atividades no estado, envie `secundarias=true` neste endpoint ou no [Consultar IE em todos os estados](/docs/consulta-ie/consultar-ie-todos):

```bash
curl -X GET "https://api.fiscalapi.com.br/api/consultar?uf=MT&cpf=12345678909&secundarias=true" \
  -H "X-API-Key: fapi_sua_chave_aqui"
```

Sem o parâmetro, a consulta não fica mais lenta e o campo traz o que já foi obtido em uma consulta anterior com `secundarias=true`, ou `null`. GO é exceção: as atividades vêm sempre, sem tempo a mais. Endpoints que apenas incluem as inscrições dentro de outro resultado, como o perfil do produtor, não fazem essa busca.

Cada item da lista tem:

| Campo       | Tipo   | Descrição                                                                                                           |
| ----------- | ------ | ------------------------------------------------------------------------------------------------------------------- |
| `codigo`    | string | Código CNAE com 7 dígitos, sem pontuação. Código que não está na tabela oficial do IBGE vem como o estado informou. |
| `descricao` | string | Descrição da atividade.                                                                                             |

O campo tem três valores possíveis, e a diferença entre eles importa:

| Valor              | Significado                                                                                   |
| ------------------ | --------------------------------------------------------------------------------------------- |
| Lista com itens    | O estado informou as atividades secundárias da inscrição.                                     |
| `[]` (lista vazia) | O estado informou que a inscrição **não tem** atividade secundária.                           |
| `null`             | **Não informado** nesta consulta. Não significa que a inscrição não tem atividade secundária. |

<Callout type="warn">
  Trate `null` e `[]` de forma diferente. `[]` é uma resposta do estado ("não há secundárias"). `null` é ausência de informação: o estado ainda não está coberto, ou o dado não pôde ser obtido nesta consulta.
</Callout>

### ### Estados cobertos

| UF             | `cnaes_secundarios` | Observação                                                                                                                                                                                                               |
| -------------- | ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| GO             | Disponível          | Sem acréscimo de tempo.                                                                                                                                                                                                  |
| MT             | Disponível          | Inscrição baixada vem `null`: o estado oculta os dados cadastrais dela.                                                                                                                                                  |
| BA             | Disponível          |                                                                                                                                                                                                                          |
| RS             | Disponível          |                                                                                                                                                                                                                          |
| RO             | Disponível          | A consulta dessa UF pode levar de 5 a 25 segundos a mais. Documento com várias inscrições no estado pode precisar de mais de uma consulta para completar todas.                                                          |
| PR             | Disponível          | A consulta dessa UF pode levar de 5 a 25 segundos a mais. Cadastro de produtor sem atividade informada vem `null`. Documento com várias inscrições no estado pode precisar de mais de uma consulta para completar todas. |
| MS             | Disponível          | A consulta dessa UF pode levar de 15 a 40 segundos a mais. Documento com várias inscrições no estado pode precisar de mais de uma consulta para completar todas.                                                         |
| MA             | Parcial             | A resposta do estado nem sempre chega a tempo: a consulta pode levar até 40 segundos a mais e devolver `null`. Repita a consulta para completar.                                                                         |
| TO             | Não disponível      | O estado publica apenas a atividade principal. Vem sempre `null`.                                                                                                                                                        |
| PI, MG         | Não disponível      | Não há fonte estadual com esse dado. Vem sempre `null`.                                                                                                                                                                  |
| Demais estados | `null` por enquanto | A cobertura é ampliada estado a estado e esta tabela é atualizada a cada inclusão.                                                                                                                                       |

Regras que valem para todos os estados cobertos:

* **O resultado da consulta nunca falha por causa das atividades secundárias.** Se o dado não puder ser obtido a tempo, o campo vem `null` e todos os outros campos vêm normalmente.
* **`null` por falha momentânea não é definitivo.** A consulta seguinte do mesmo documento com `secundarias=true` busca de novo só as atividades que faltaram, mesmo quando o restante do resultado vem do cache (`cached: true`). Depois de algumas tentativas sem sucesso para a mesma inscrição, o campo fica `null` até o cache do resultado vencer.
* **Até 10 inscrições por UF em cada consulta**, começando pelas habilitadas. Em um documento com mais inscrições na mesma UF, as excedentes vêm com `null` e são completadas nas consultas seguintes do mesmo documento com `secundarias=true`.
* **Descrição padronizada.** A descrição segue a tabela oficial de CNAE do IBGE, igual em todos os estados (código fora da tabela mantém a descrição do estado). Atividade que o estado lista mais de uma vez aparece uma vez só.

### ### Exemplo com atividades secundárias

```json
{
  "inscricao_estadual": "10.123.456-2",
  "razao_social": "JOAO DA SILVA",
  "situacao_ie": "Habilitado",
  "uf_ie": "GO",
  "cnae_codigo": "0115600",
  "cnae_descricao": "CULTIVO DE SOJA",
  "cnaes_secundarios": [
    { "codigo": "0111302", "descricao": "CULTIVO DE MILHO" },
    { "codigo": "0111301", "descricao": "CULTIVO DE ARROZ" }
  ]
}
```

### ### Exemplo de inscrição sem atividade secundária

```json
{
  "inscricao_estadual": "10.765.432-6",
  "uf_ie": "GO",
  "cnae_codigo": "0115600",
  "cnae_descricao": "CULTIVO DE SOJA",
  "cnaes_secundarios": []
}
```

<Callout type="info">
  As atividades secundárias são as registradas pelo estado na inscrição estadual. Elas podem ser diferentes das atividades do CNPJ na Receita Federal, que estão em [Consultar CNPJ](/docs/enriquecimento/consultar-cnpj).
</Callout>

## ## Códigos de erro

| Código                  | HTTP Status | Descrição                                         |
| ----------------------- | ----------- | ------------------------------------------------- |
| `PARAMETRO_AUSENTE`     | 400         | Parâmetro obrigatório não foi informado.          |
| `PARAMETRO_CONFLITANTE` | 400         | Mais de um documento (cpf, cnpj, ie) foi enviado. |
| `DOCUMENTO_INVALIDO`    | 400         | O documento informado não é válido.               |
| `UF_NAO_SUPORTADA`      | 400         | A UF informada não é suportada.                   |
| `PROCESSAMENTO_FALHOU`  | 502         | Falha ao processar a consulta no estado.          |
| `SITE_INDISPONIVEL`     | 503         | O site da SEFAZ está indisponível no momento.     |
| `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, em geral no cadastro de clientes e fornecedores.

| Sistema                      | Como chamar a API REST                                                                                      |
| ---------------------------- | ----------------------------------------------------------------------------------------------------------- |
| TOTVS Protheus               | Num fonte ADVPL/TLPP, com a classe `FWRest` ou a função `HttpGet`.                                          |
| SAP (ECC, S/4HANA)           | Em ABAP, com `cl_http_client`, ou por um fluxo no SAP Integration Suite.                                    |
| Sankhya, Senior, Omie, Bling | Por um serviço intermediário (script, n8n, Make) que chama a FiscalAPI e grava o resultado pela API do ERP. |
| Odoo                         | Num módulo próprio em Python, com `requests`.                                                               |

## ## Perguntas frequentes

### ### Existe API do SINTEGRA por estado?

Sim. `GET /api/consultar` com o parâmetro `uf` consulta a inscrição estadual em um estado e devolve em JSON a situação, o endereço, o CNAE e o regime. Para todos os estados numa chamada, use `/api/consultar-ie-todos`.

### ### Quanto custa?

1 consulta por chamada: R$ 0,025 no Enterprise, R$ 0,065 no Pro, R$ 0,10 no Starter e R$ 0,67 no Lite, dentro da franquia. Erro HTTP não é cobrado.

### ### Posso consultar só pelo número da IE?

Sim. Envie `ie` com a `uf`. Se não souber o estado, use `/api/consultar-ie-todos?ie=...`, que procura o número nos 27 estados.

### ### O que significa "Não habilitado"?

A inscrição existe, mas não está apta a operar: pode estar suspensa, baixada ou cancelada. Quando o estado informa, o campo `situacao_cadastral` traz o detalhe, como `Suspenso - NÃO HABILITADO` ou `Baixado - NÃO HABILITADO`.
