Monitor SEFAZ
Status das SEFAZs
Consulte o status da SEFAZ de cada estado para NF-e, NFC-e e CT-e.
GET /api/v1/sefaz/status
Retorna o status dos serviços de autorização da SEFAZ por estado, para NF-e, NFC-e e CT-e. Cada resposta reflete uma leitura feita há no máximo 2 minutos; o horário dela vem em timestamp.
Útil para verificar se uma SEFAZ está operando normalmente antes de enviar documentos fiscais, ou para exibir um painel de status no seu sistema.
Autenticação
Envie sua chave no header X-API-Key. Veja Autenticação para detalhes.
Parâmetros de consulta
| Nome | Tipo | Obrigatório | Padrão | Descrição |
|---|---|---|---|---|
doc | string | Não | nfe | Tipo de documento fiscal: nfe, nfce ou cte. |
Exemplos de código
curl -X GET "https://api.fiscalapi.com.br/api/v1/sefaz/status?doc=nfe" \
-H "X-API-Key: fapi_sua_chave_aqui"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();
// Filtrar estados com problema
const problemas = data.states.filter(s => s.status_code > 1);
console.log(`${problemas.length} estados com problema`);import requests
response = requests.get(
"https://api.fiscalapi.com.br/api/v1/sefaz/status",
headers={"X-API-Key": "fapi_sua_chave_aqui"},
params={"doc": "nfe"},
)
data = response.json()
# Filtrar estados com problema
problemas = [s for s in data["states"] if s["status_code"] > 1]
print(f"{len(problemas)} estados com problema")$response = Http::withHeaders([
'X-API-Key' => 'fapi_sua_chave_aqui',
])->get('https://api.fiscalapi.com.br/api/v1/sefaz/status', [
'doc' => 'nfe',
]);
$data = $response->json();
// Filtrar estados com problema
$problemas = array_filter($data['states'], fn($s) => $s['status_code'] > 1);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/v1/sefaz/status?doc=nfe"
);
var json = await response.Content.ReadAsStringAsync();Resposta
Campos de nível superior
| Campo | Tipo | Descrição |
|---|---|---|
doc | string | Tipo de documento consultado: nfe, nfce ou cte. |
timestamp | string | Momento da leitura, em ISO 8601 (UTC). |
states | array | Lista com o status de cada estado (27 itens). |
Campos de cada estado (states[])
| Campo | Tipo | Descrição |
|---|---|---|
uf | string | Sigla do estado (ex: SP, MT, RJ). |
status_code | integer | Código numérico do status (0 a 5). |
status | string | Descrição legível do status. |
status_avg | number | Média dos códigos de status no período (de 1 a 5; 0.0 na UF sem leitura). O status_code é esse valor arredondado. |
Códigos de status
| Código | Status | Descrição |
|---|---|---|
0 | Indisponivel (sem acento, como a API devolve) | Sem leitura para esta UF no momento da coleta. Estado transitório, costuma normalizar no ciclo seguinte. |
1 | Normal | SEFAZ respondendo dentro do esperado. |
2 | Lento | Respostas mais lentas que o normal. |
3 | Muito lento | Respostas muito lentas. |
4 | Erro | SEFAZ retornando erro. |
5 | Timeout | SEFAZ não respondeu dentro do tempo limite. |
Exemplo de resposta
{
"doc": "nfe",
"timestamp": "2026-04-06T15:30:00.000000+00:00",
"states": [
{
"uf": "AC",
"status_code": 2,
"status": "Lento",
"status_avg": 2.1834
},
{
"uf": "AL",
"status_code": 1,
"status": "Normal",
"status_avg": 1.0712
},
{
"uf": "AM",
"status_code": 1,
"status": "Normal",
"status_avg": 1.1234
},
{
"uf": "SP",
"status_code": 1,
"status": "Normal",
"status_avg": 1.0521
}
]
}A resposta sempre inclui as 27 UFs brasileiras (26 estados + DF), ordenadas alfabeticamente pela sigla. Quando uma UF fica sem leitura, ela vem com status_code: 0 ("status": "Indisponivel") em vez de ser omitida.
Casos de uso
- Painel de status: Exiba um dashboard com o status de cada SEFAZ para sua equipe fiscal.
- Verificação pré-envio: Antes de transmitir um lote de NF-e, verifique se a SEFAZ do estado está operando normalmente.
- Alertas automáticos: Configure alertas quando um estado muda de
NormalparaLento,ErroouTimeout. - Decisão de contingência: Use o status para decidir automaticamente quando ativar o modo de contingência (SVC-AN/SVC-RS).
Códigos de erro
| Código | HTTP Status | Descrição |
|---|---|---|
MONITOR_INDISPONIVEL | 502 | Não foi possível consultar o status das SEFAZs no momento. |
Erro de validação (detail) | 422 | O parâmetro doc deve ser nfe, nfce ou cte. |
Esta pagina foi util?