Documentação — API de Feriados
API REST com feriados nacionais, estaduais e municipais do Brasil. Respostas em JSON,
datas em ISO 8601 (AAAA-MM-DD), autenticação por chave no cabeçalho.
URL base
https://api.muhbianco.com.br/api/latest
/api/latest aponta sempre para a versão estável mais recente. Se você
preferir travar a versão, use /api/v1 — o contrato desta página é o mesmo
nos dois.
Autenticação
Toda chamada precisa do cabeçalho X-API-Key. A chave começa com
mbk_ e é gerada na sua conta, em
Serviços → API de Feriados → Configurações do serviço.
curl -H "X-API-Key: mbk_sua_chave_aqui" \
"https://api.muhbianco.com.br/api/latest/feriados?ano=2026&uf=SP"
- O valor completo da chave aparece uma única vez, na criação. Depois disso guardamos só o hash.
- Você pode manter até 5 chaves ativas por assinatura. Revogar é imediato.
- Chave revogada, assinatura pausada ou cancelada devolvem
401. - Nunca coloque a chave em código de front-end: ela identifica a sua assinatura.
Como escolher a localidade
Os três endpoints aceitam os mesmos filtros. Só ano é obrigatório em /feriados. A regra é:
- Sem filtro de lugar — só feriados nacionais. Ex.:
?ano=2027. uf=SP— nacionais + estaduais daquela UF.cidade=São Paulo— nacionais + estaduais + municipais. Acento é opcional (Sao Paulovale). Se o nome existir em mais de uma UF (ex.: Bom Jesus), a API devolve422listando as siglas; envieufjunto para desambiguar.ibge=3550308— nacionais + estaduais + municipais daquele município. Código de 7 dígitos. Se vier junto comcidade, o IBGE prevalece.
Município ou UF inexistentes devolvem 404. Não envie a chave vazia
(ibge=): omita o parâmetro.
GET /feriados
Lista os feriados de um ano para a localidade escolhida.
Parâmetros
ano— obrigatório. Precisa estar dentro da janela publicada: do ano passado até cinco anos à frente. Fora disso a resposta é422, não uma lista vazia.uf— opcional. Sigla de 2 letras. Sozinha traz o calendário estadual; comcidade, desambigua homônimos.cidade— opcional. Nome do município. Sem acento também resolve.ibge— opcional. Código de 7 dígitos. Prevalece sobrecidade.facultativos— opcional,falsepor padrão. Quandotrue, inclui pontos facultativos como Carnaval e Corpus Christi.
Exemplo
curl -H "X-API-Key: mbk_sua_chave_aqui" \
"https://api.muhbianco.com.br/api/latest/feriados?ano=2026&cidade=São Paulo&uf=SP"
{
"ano": 2026,
"localidade": {
"uf": "SP",
"municipio_ibge": "3550308",
"municipio_nome": "São Paulo"
},
"inclui_facultativos": false,
"total": 14,
"feriados": [
{
"data": "2026-09-07",
"nome": "Independência do Brasil",
"tipo": "national",
"abrangencia": "national",
"escopo": "BR",
"uf": null,
"recorrencia": "fixed",
"base_legal": "Lei nº 662/1949",
"fonte_url": null,
"confianca": 100,
"verificado": true
}
]
}
Campos de cada feriado
data— data no ano consultado, em ISO.nome— nome do feriado.tipo—national,state,municipalouoptional(ponto facultativo).abrangencia—national,stateoumunicipal.escopo—BR, código IBGE da UF (2 dígitos) ou do município (7 dígitos).uf— sigla, quando faz sentido.recorrencia—fixed(mesma data todo ano),movable(calculado a partir da Páscoa) ouone_off(vale só naquele ano).base_legal— lei ou decreto que instituiu a data.fonte_url— documento de onde o dado foi extraído, quando veio de Diário Oficial.confianca— 0 a 100. Abaixo de 100 indica extração automática ainda não revisada por uma pessoa.verificado—truequando alguém revisou manualmente.
GET /feriados/dias-uteis
Conta os dias úteis entre duas datas, já descontando sábado, domingo e os feriados da localidade. Útil para prazo contratual, SLA e folha.
Parâmetros
de— obrigatório. Data inicial, inclusive.ate— obrigatório. Data final, inclusive.uf,cidade,ibge,facultativos— iguais aos de/feriados.
Exemplo
curl -H "X-API-Key: mbk_sua_chave_aqui" \
"https://api.muhbianco.com.br/api/latest/feriados/dias-uteis?de=2026-09-01&ate=2026-09-11&uf=SP"
{
"inicio": "2026-09-01",
"fim": "2026-09-11",
"localidade": { "uf": "SP", "municipio_ibge": null, "municipio_nome": null },
"considera_facultativos": false,
"dias_corridos": 11,
"dias_uteis": 8,
"feriados": [
{
"data": "2026-09-07",
"nome": "Independência do Brasil",
"tipo": "national",
"abrangencia": "national",
"escopo": "BR",
"uf": null,
"recorrencia": "fixed",
"base_legal": "Lei nº 662/1949",
"fonte_url": null,
"confianca": 100,
"verificado": true
}
]
}
Ponto facultativo não reduz o total a menos que você passe
facultativos=true. Feriado que cai no fim de semana não é descontado duas
vezes.
GET /feriados/cobertura
Responde o que existe de dado para aquela localidade, por nível. É o endpoint honesto: em vez de devolver lista vazia e deixar você achar que o município não tem feriado, ele diz em que estágio aquele município está.
Parâmetros
uf,cidade,ibge— opcionais, mesma regra dos outros endpoints.
Exemplo
curl -H "X-API-Key: mbk_sua_chave_aqui" \
"https://api.muhbianco.com.br/api/latest/feriados/cobertura?ibge=3550308"
{
"localidade": {
"uf": "SP",
"municipio_ibge": "3550308",
"municipio_nome": "São Paulo"
},
"niveis": [
{ "nivel": "national", "status": "published", "atualizado_em": "2026-08-17T12:00:00Z", "fontes_ativas": 0 },
{ "nivel": "state", "status": "published", "atualizado_em": "2026-08-17T12:00:00Z", "fontes_ativas": 0 },
{ "nivel": "municipal", "status": "none", "atualizado_em": null, "fontes_ativas": 0 }
]
}
Valores de status
published— já temos feriado publicado nesse nível.monitored— há fonte ativa sendo acompanhada, ainda sem publicação.mapped— fonte cadastrada, coleta ainda desligada.none— esse nível ainda não é coberto para essa localidade.
Nacionais e as datas magnas das 27 unidades federativas são determinísticos e vêm como
published. O nível municipal é trabalho contínuo — consulte a cobertura
antes de assumir que o silêncio significa "não há feriado".
Erros
Todo erro devolve o mesmo formato:
{
"error": "rate_limited",
"message": "Cota diária de requisições atingida. O contador zera à meia-noite (UTC).",
"details": { "retry_after_seconds": 18240, "limit": 10000, "used": 10000 },
"request_id": "0f2a…"
}
401— chave ausente, inválida, revogada, ou assinatura fora do ar. A mensagem é sempre genérica de propósito.404— município (IBGE ou nome), ou UF, que não existe.422— parâmetro inválido, ano fora da janela publicada, ou cidade homônima semuf.429— cota diária atingida. Vem com o cabeçalhoRetry-Afterem segundos.
Guarde o request_id ao abrir chamado: é com ele que localizamos a requisição
no log.
Cota e limites
- 10.000 requisições por dia por assinatura. O contador zera à meia-noite UTC.
- Estourar a cota devolve
429— nunca vira cobrança extra no saldo. O limite é técnico, não comercial. - Precisa de volume maior? Fale com a gente; a cota é ajustável por assinatura.
Boas práticas
- Feriado do ano inteiro muda pouco: consulte
/feriados?ano=uma vez e guarde em cache no seu lado, revalidando de tempos em tempos. - Use uma chave por integração. Assim, revogar uma não derruba as outras.
- Trate
429respeitando oRetry-Afterem vez de repetir em laço. - Se o seu caso depende de município, cheque
/feriados/coberturana integração e registre o status — ele muda conforme ampliamos a base.
Como obter uma chave
A jornada é exclusiva deste produto: conta, saldo, habilitar a API e gerar a chave. Não passa pelo WhatsApp e não abre o painel genérico no meio.
- Crie a conta (Google ou e-mail).
- Adicione saldo pelo Mercado Pago (PIX ou cartão).
- Aceite os termos e habilite a API de Feriados.
- Gere a chave neste mesmo fluxo. Copie na hora — ela não aparece de novo.