SEFAZ Fora do Ar? Como Verificar o Status das 27 SEFAZs em Tempo Real
Para saber se a SEFAZ está fora do ar, consulte o serviço de status da UF antes de transmitir. Se a resposta vier com `cStat` 108 (paralisado momentaneamente) ou 109 (paralisado sem previsão), o problema é da SEFAZ, não seu — e o caminho é emitir em contingência (SVC ou EPEC), não ficar retransmitindo. O status das 27 SEFAZs pode ser conferido em um painel público ou por uma chamada de API.
Toda equipe fiscal já perdeu uma tarde nisso: a nota não sobe, ninguém sabe se é o certificado, o XML ou o estado, e alguém decide "tentar de novo daqui a pouco". Este guia mostra como responder a pergunta em segundos.
Primeiro: é a SEFAZ ou é você?#
A SEFAZ expõe um serviço próprio de status (NfeStatusServico). É ele que dá a resposta oficial — e o código retornado separa os dois mundos:
| cStat | Significado | Quem tem o problema |
|---|---|---|
| 107 | Serviço em Operação | A SEFAZ está de pé. Se a sua nota falhou, o problema é seu |
| 108 | Serviço paralisado momentaneamente | SEFAZ. Parada curta, com previsão de volta |
| 109 | Serviço Paralisado sem Previsão | SEFAZ. Parada indeterminada — vá para contingência |
| 114 | SVC desabilitada pelo SEFAZ origem | Você tentou contingência que o estado ainda não autorizou |
O painel de status das 27 UFs#
Consultar o status estado a estado, no site de cada SEFAZ, é o mesmo problema de sempre: 27 endereços, 27 layouts. A FiscalAPI mantém um painel público do status das SEFAZs com as 27 UFs numa tela só, atualizado continuamente.
Ele cobre os três documentos que se comportam de forma independente:
- NF-e — nota fiscal eletrônica
- NFC-e — nota fiscal de consumidor eletrônica
- CT-e — conhecimento de transporte eletrônico
Via API#
Quando a verificação precisa acontecer dentro do seu sistema — antes de disparar um lote, ou para alimentar um painel interno —, o status vem por uma chamada:
curl -X GET "https://api.fiscalapi.com.br/api/v1/sefaz/status?doc=nfe" \
-H "X-API-Key: fapi_sua_chave_aqui" Resposta:
{
"doc": "nfe",
"timestamp": "2026-08-24T14:32:10Z",
"states": [
{ "uf": "SP", "status_code": 1, "status": "Normal", "status_avg": 1.0 },
{ "uf": "MT", "status_code": 2, "status": "Lento", "status_avg": 2.1342 },
{ "uf": "BA", "status_code": 0, "status": "Indisponivel", "status_avg": 0.0 }
]
} O parâmetro doc aceita nfe (padrão), nfce e cte. A lista sempre traz as 27 UFs — se a fonte upstream omitir alguma, ela volta como Indisponivel em vez de simplesmente sumir da resposta. Isso evita o bug clássico de um for que ignora silenciosamente o estado que faltou.
A escala de status#
| status_code | status | Leitura prática |
|---|---|---|
| 0 | Indisponivel | Sem medição para a UF |
| 1 | Normal | Transmita |
| 2 | Lento | Transmita, mas espere latência maior |
| 3 | Muito lento | Aumente timeout; considere adiar lote grande |
| 4 | Erro | Não transmita; avalie contingência |
| 5 | Timeout | Não transmita; avalie contingência |
status_code de 0 a 5 é o indicador de saúde do monitoramento. O cStat 107/108/109 é a resposta oficial da SEFAZ. Use o painel para decidir se vale tentar; use o cStat como a palavra final antes de acionar contingência.Em Python#
import httpx
resp = httpx.get(
"https://api.fiscalapi.com.br/api/v1/sefaz/status",
params={"doc": "nfe"},
headers={"X-API-Key": "fapi_sua_chave_aqui"},
timeout=30,
)
data = resp.json()
problemas = [s for s in data["states"] if s["status_code"] > 1]
for s in problemas:
print(f"{s['uf']}: {s['status']}") Em Node.js#
const response = await fetch(
"https://api.fiscalapi.com.br/api/v1/sefaz/status?doc=nfe",
{ headers: { "X-API-Key": "fapi_sua_chave_aqui" } }
);
const data = await response.json();
const problemas = data.states.filter((s) => s.status_code > 1);
console.log(`${problemas.length} estados com problema`); O que fazer quando a SEFAZ está mesmo fora#
Aí entra a contingência. As opções, do mais simples ao mais trabalhoso:
1. SVC (SEFAZ Virtual de Contingência). O ambiente nacional assume a autorização no lugar do estado. Existem duas — SVC-AN e SVC-RS —, e qual delas atende cada UF é definido pelo próprio estado. A SVC só funciona depois que a SEFAZ de origem a habilita; tentar antes retorna cStat 114.
2. EPEC (Evento Prévio de Emissão em Contingência). Você registra o evento no ambiente nacional, circula a mercadoria, e transmite a NF-e completa quando a SEFAZ voltar. Exige tratamento posterior — a nota não fica autorizada só com o EPEC.
3. FS-DA (Formulário de Segurança). O papel. Último recurso, com custo e burocracia.
A rotina que evita o problema#
O padrão que funciona é simples e cabe em um cron:
- Antes de cada lote grande, consulte o status da UF de destino.
- Se estiver `Normal`, transmita.
- Se estiver degradado, transmita assim mesmo mas com timeout maior e menos concorrência — SEFAZ lenta piora com carga paralela.
- Se estiver `Erro`/`Timeout`, confirme com o
cStatoficial e acione a contingência. - Monitore continuamente e alerte a equipe fiscal quando uma UF em que você opera mudar de estado.
O ganho não é técnico, é de processo: a equipe fiscal para de descobrir a indisponibilidade pelo cliente ligando.
Perguntas frequentes#
Como saber se a SEFAZ está fora do ar? Consultando o serviço de status da UF (NfeStatusServico) ou um painel que já agregue os 27 estados, como o monitor da FiscalAPI. O código cStat 107 indica serviço em operação; 108 e 109 indicam paralisação.
Qual a diferença entre cStat 108 e 109? O 108 é paralisação momentânea, com previsão de retorno. O 109 é paralisação sem previsão. Na prática, 109 é o sinal para acionar contingência em vez de esperar.
Posso emitir NF-e com a SEFAZ fora do ar? Sim, em contingência: SVC (quando habilitada pelo estado de origem), EPEC ou, em último caso, Formulário de Segurança. O que não funciona é insistir na transmissão normal.
NF-e e NFC-e ficam fora do ar juntas? Não necessariamente. São autorizadores independentes, e uma pode estar normal enquanto a outra está parada no mesmo estado. Consulte o status do documento que você emite.
De quanto em quanto tempo o status é atualizado? No monitor da FiscalAPI, a leitura é servida de cache com renovação em janelas de poucos minutos — suficiente para decisão operacional e sem martelar a fonte upstream.
A consulta de status consome crédito? A consulta é uma chamada de API como as demais e conta no limite mensal do plano. Como a resposta é servida de cache curto, checar antes de cada lote é barato — não faz sentido consultar em loop de segundo em segundo.
Próximo passo#
Se você emite em volume, coloque a verificação de status dentro da esteira de transmissão: veja a documentação do endpoint de status e o painel público das 27 SEFAZs.
Artigos relacionados#
Consulte dados fiscais via API
Consulte Inscrições Estaduais, CNPJs e Certidões Negativas via API REST. Dados direto da SEFAZ e Receita Federal. Planos a partir de R$ 19,99/mês.
Criar conta →