MuhBianco
Agentes APIs Preços Guias Como funciona Contato Entrar
  1. Início
  2. APIs
  3. API de Feriados
  4. Documentação

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 Paulo vale). Se o nome existir em mais de uma UF (ex.: Bom Jesus), a API devolve 422 listando as siglas; envie uf junto para desambiguar.
  • ibge=3550308 — nacionais + estaduais + municipais daquele município. Código de 7 dígitos. Se vier junto com cidade, 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; com cidade, desambigua homônimos.
  • cidade — opcional. Nome do município. Sem acento também resolve.
  • ibge — opcional. Código de 7 dígitos. Prevalece sobre cidade.
  • facultativos — opcional, false por padrão. Quando true, 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, municipal ou optional (ponto facultativo).
  • abrangencia — national, state ou municipal.
  • 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) ou one_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 — true quando 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 sem uf.
  • 429 — cota diária atingida. Vem com o cabeçalho Retry-After em 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 429 respeitando o Retry-After em vez de repetir em laço.
  • Se o seu caso depende de município, cheque /feriados/cobertura na 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.

  1. Crie a conta (Google ou e-mail).
  2. Adicione saldo pelo Mercado Pago (PIX ou cartão).
  3. Aceite os termos e habilite a API de Feriados.
  4. Gere a chave neste mesmo fluxo. Copie na hora — ela não aparece de novo.
Começar a API de Feriados Voltar para a visão geral
© MuhBianco

Murilo Luciano Bianco Ferreira · CNPJ 60.773.549/0001-40

Agentes APIs Preços Guias Contato Privacidade Termos