Documentação
1. Introdução
A Holiday API retorna feriados publicos e observancias por pais e/ou religiao. O endpoint Business days (GET /api/business-days) usa a mesma autenticacao por chave de API. Todas as requisicoes exigem autenticacao com API key. Voce pode criar e gerenciar API keys no seu dashboard. O plano Free (padrao) usa a mesma URL base e a mesma API key para voce testar a integracao antes de ir para producao.
2. Plano Free (padrao)
Toda conta verificada comeca no plano Free. Voce pode usar os mesmos endpoints, parametros e autenticacao para construir e testar sua integracao. Quando o plano Free nao for mais suficiente, faca upgrade no dashboard.
O que funciona igual
Voce tem acesso a mesma Holiday API: a mesma URL base, GET /api/holidays e os mesmos parametros de consulta (country, religion, from, to, lang, region, provisional, type, scope). GET /api/business-days tambem esta disponivel com a mesma autenticacao e o formato da resposta e identico, entao voce pode desenvolver e testar seu codigo contra a API real sem mudar nada ao fazer upgrade.
Limitacoes
- Cota mensal de requisicoes: O plano Free inclui um numero fixo de requisicoes por mes calendario. Quando voce atinge a cota, as requisicoes ficam bloqueadas ate o proximo mes ou ate voce fazer upgrade.
- Limites de recursos: O plano Free limita API keys, idiomas e acesso a feriados por subdivisao. Veja precos para os limites completos.
- Sem overage no Free: O plano Free nao inclui overage pago. Faca upgrade para continuar depois de atingir o limite.
Para obter o conjunto completo de resultados e limites prontos para producao, escolha um plano em precos ou acesse Uso ou Cobranca no seu dashboard.
3. Autenticação
Envie sua API key no cabecalho Authorization como token Bearer. Crie chaves na pagina API Keys do seu dashboard.
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://api.holidaydb.com/api/holidays?country=US"4. URL base
Use https://api.holidaydb.com para todas as requisicoes da API. Para CURL e integracoes no servidor voce deve usar esta URL absoluta.
5. GET /api/holidays
Retorna feriados filtrados por country e/ou religion. Pelo menos um entre country ou religion e obrigatorio.
Parametros de consulta
| Parametro | Tipo | Descricao |
|---|---|---|
country | string | Codigos de pais ISO de 2 letras separados por virgula (ex.: US, DE, FR). |
religion | string | Slugs de religiao separados por virgula (ex.: christian, islamic). |
region | string | Codigo de subdivisao (ex.: US-DC, DE-BY). Aplica-se ao primeiro pais quando varios sao listados. Apenas Pro e Full; no Basic, enviar region retorna 403 (omita para apenas nacional). |
from | date | Data inicial (YYYY-MM-DD). |
to | date | Data final (YYYY-MM-DD). |
lang | string | Idioma para nomes de feriados. Somente plano Full. Codigo de GET /api/languages (ex.: de, pt-BR, en). Correspondencia sem diferenciar maiusculas; hifen e sublinhado sao equivalentes. Codigos nao suportados usam nomes em ingles. Sem lang, usa-se o primeiro tag Accept-Language (mesmas regras). |
provisional | true | false | Filtra por datas provisarias (true) ou confirmadas (false). |
substitute | true | false | Filtra por dias substitutos/observados: true (somente substitutos), false (exclui) ou omitido (ambos). |
include | string | Opcional. Separado por virgula: canonical (inclui canonical em linhas substitutas), substitute (inclui substitutes em linhas canonicas). meta nao e suportado aqui (use os campos padrao de feriado em cada objeto). |
type | string | public_holiday ou observance; separado por virgula para varios. |
scope | string | national ou subnational; separado por virgula para varios. |
Response: array JSON de objetos de feriado com uuid, country_code, religion_slug, type, scope, region_codes, region_names, start_date, end_date, provisional, substitute, summary, language. Para calendarios por pais (country_code nao nulo), type e scope descrevem categorias territoriais (feriado publico vs observancia, nacional vs subnacional). Para calendarios religiosos (religion_slug nao nulo e muitas vezes country_code nulo), type e scope podem ser "unknown" e nao devem ser interpretados como territoriais; use religion_slug (e datas) para trabalhar com essas observancias. Feriados substitutos incluem canonical_uuid. Use include=canonical para embutir o feriado canonico de cada substituto; use include=substitute para embutir um array substitutes em cada canonico.
Exemplos
Requisicao
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://api.holidaydb.com/api/holidays?country=US"Resposta de exemplo
[
{
"uuid": "550e8400-e29b-41d4-a716-446655440000",
"country_code": "US",
"religion_slug": null,
"type": "public_holiday",
"scope": "national",
"region_codes": [],
"region_names": [],
"start_date": "2026-07-04",
"end_date": "2026-07-04",
"provisional": false,
"summary": "Independence Day",
"language": "en"
}
// ... mais objetos de feriado na resposta completa
]6. GET /api/business-days
Teste sem escrever codigo
A calculadora de dias uteis deste site permite escolher um pais e um ano, opcionalmente um mes especifico, e opcionalmente um estado/provincia quando feriados regionais devem sair da contagem (region). Voce tambem pode definir quais dias da semana contam como trabalho (weekdays). O resultado corresponde a esta API.
Retorna quantos dias uteis caem em um mes calendario ou ano completo para um pais ISO. Por padrao, a semana util e de segunda a sexta (dias ISO 1,2,3,4,5); voce pode sobrescrever com weekdays opcional. Por padrao, apenas feriados nacionais sao excluidos. Com region opcional, a contagem tambem exclui feriados subnacionais cujos region_codes contenham esse codigo ISO 3166-2: a mesma regra de GET /api/holidays?country=...®ion=... (dias nacionais sempre contam; region nao significa 'somente regiao'). Este endpoint exige o mesmo Bearer API key e as mesmas permissoes de token de GET /api/holidays.
Filtragem por subdivisao exige um plano que inclua feriados de subdivisao (Pro/Full), igual a API de feriados.
Parametros de consulta
| Parametro | Tipo | Descricao |
|---|---|---|
country | string | Obrigatorio. Codigo de pais ISO 3166-1 alpha-2 de duas letras (ex.: KE, NG). |
region | string | Opcional. Subdivisao ISO 3166-2 (ex.: US-CA ou CA com country=US). Exclui feriados nacionais mais feriados subnacionais marcados para essa regiao. Omita para contagem apenas nacional. Filtragem por subdivisao esta disponivel somente nos planos Pro e Full. No Basic, se voce enviar region, a API retorna 403 informando que feriados de subdivisao nao estao incluidos (nao ha fallback silencioso para nacional); omita region para contagem nacional no Basic. |
year | integer | Obrigatorio no modo calendario. Deve estar dentro de uma janela movel ao redor do ano atual do servidor: por padrao, cinco anos antes ate cinco anos depois (inclusive), para manter o intervalo proximo dos dados de feriados publicados. Nao envie com from/to. |
month | integer | Opcional no modo calendario. Mes 1-12; omita para o ano calendario completo (1 de janeiro a 31 de dezembro). Nao envie com from/to. |
from | date | Modo intervalo: data inicial YYYY-MM-DD, inclusiva. Use apenas com to (sem year/month). Mesmas regras de contagem do modo calendario. O intervalo inclusivo de from ate to nao pode exceder 731 dias (aprox. dois anos). |
to | date | Modo intervalo: data final YYYY-MM-DD, inclusiva. Deve ser igual ou posterior a from. Junto com from, o intervalo e no maximo 731 dias calendario inclusivos. |
weekdays | string | Opcional. Numeros de dias ISO separados por virgula, de 1 (segunda) a 7 (domingo), ex.: 1,2,3,4,5 para seg-sex (padrao quando omitido). Duplicados sao ignorados; a ordem e normalizada em crescente. Valores invalidos retornam 422. |
lang | string | Opcional. Idioma para nomes no array holidays quando include=1. Codigo de GET /api/languages (ex.: de, pt-BR, en). Correspondencia sem diferenciar maiusculas; hifen e sublinhado sao equivalentes. Codigos nao suportados usam nomes em ingles. Padrao en se omitido. |
include | string | Opcional. Ligado: 1 ou true adiciona um array holidays (metadados completos e canonical/substitutes aninhados quando o calendario define). Desligado: omitido, vazio, 0, ou false (sem holidays no JSON). |
Response: objeto JSON com country_code, region (codigo normalizado ou null), weekdays (array de inteiros realmente usados na contagem), year e month (ambos null no modo intervalo), range (datas from/to, sempre a janela inclusiva resolvida) e business_days (contagem inteira). Quando include e 1 ou true, a resposta tambem traz holidays: feriados publicos usados na contagem (somente nacional quando region e omitido; nacional + subnacional correspondente quando region e informado), com campos completos como no ultimo tab de exemplo.
Se ainda nao cobrimos o calendario desse pais, a API retorna 404 com error e country_code (nao e o mesmo corpo de "Country not found" em GET /api/holidays).
Os quatro primeiros tabs de exemplo omitem include (sem holidays no JSON de exemplo). O ultimo tab mostra include=1 com array holidays.
Os exemplos abaixo usam 2026. Os numeros de business_days foram conferidos manualmente com regras nacionais oficiais: feriados federais dos EUA (OPM); feriados alemaes observados em todos os estados naquela data; feriados estatutarios federais do Canada (julho de 2026 tem Canada Day em uma quarta-feira). Feriados fixos no fim de semana nao reduzem a contagem de dias de semana. Valores da API ao vivo seguem os feriados armazenados no HolidayDB e devem bater para as mesmas regras; se uma linha for adicionada ou corrigida em nossos dados, as contagens podem mudar levemente.
Exemplos
Requisicao
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://api.holidaydb.com/api/business-days?country=US&year=2026&month=1"Resposta de exemplo
{
"country_code": "US",
"region": null,
"weekdays": [
1,
2,
3,
4,
5
],
"year": 2026,
"month": 1,
"range": {
"from": "2026-01-01",
"to": "2026-01-31"
},
"business_days": 20
}7. GET /api/working-hours
Teste sem escrever codigo
A calculadora de horas trabalhadas deste site usa as mesmas regras de feriados de business-days, mais uma duracao de jornada (workday), para voce calcular minutos e horas trabalhadas totais.
Retorna quantos working minutes (e um resumo de horas/minutos) caem em um mes calendario, ano completo ou intervalo de datas inclusivo para um pais ISO. Usa as mesmas regras de dias da semana e feriados de GET /api/business-days, depois multiplica por uma duracao de jornada obrigatoria (workday).
Filtragem por subdivisao (region) exige plano com feriados de subdivisao (Pro/Full), igual a API de feriados e business-days.
Parametros de consulta
| Parametro | Tipo | Descricao |
|---|---|---|
country | string | Obrigatorio. Codigo de pais ISO 3166-1 alpha-2 de duas letras (ex.: KE, NG). |
region | string | Opcional. Subdivisao ISO 3166-2 (ex.: US-CA ou CA com country=US). Mesmas regras e limites de plano de business-days. |
year | integer | Obrigatorio no modo calendario. Mesmas regras de janela movel de business-days. Nao envie com from/to. |
month | integer | Opcional no modo calendario. Mes 1-12; omita para o ano completo. Nao envie com from/to. |
from | date | Modo intervalo: data inicial YYYY-MM-DD, inclusiva. Use com to apenas (sem year/month). Mesmas regras de intervalo maximo de business-days. |
to | date | Modo intervalo: data final YYYY-MM-DD, inclusiva. Deve ser igual ou posterior a from. |
weekdays | string | Opcional. Igual a business-days: numeros de dias ISO separados por virgula de 1-7. Padrao seg-sex. |
lang | string | Opcional. Idioma para nomes no array holidays quando include=1. Codigo de GET /api/languages (ex.: de, pt-BR, en). Correspondencia sem diferenciar maiusculas; hifen e sublinhado sao equivalentes. Codigos nao suportados usam nomes em ingles. Padrao en se omitido. |
include | string | Opcional. Igual a business-days: 1/true inclui array holidays; omitido/vazio/0/false nao inclui. |
workday | string | Obrigatorio. Duracao da jornada no formato H:MM ou HH:MM (ex.: 08:00, 7:30). Deve ser no minimo 00:01 e no maximo 24:00. |
Response: objeto JSON com os mesmos campos base de business-days, mais working_days, workday, workday_minutes, working_minutes e working_hours (resumo horas/minutos).
Exemplos
Requisicao
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://api.holidaydb.com/api/working-hours?country=US&year=2026&month=1&workday=08:00"Resposta de exemplo
{
"country_code": "US",
"region": null,
"weekdays": [
1,
2,
3,
4,
5
],
"year": 2026,
"month": 1,
"range": {
"from": "2026-01-01",
"to": "2026-01-31"
},
"working_days": 20,
"workday": "08:00",
"workday_minutes": 480,
"working_minutes": 9600,
"working_hours": {
"hours": 160,
"minutes": 0
}
}8. GET /api/salary-proration
Teste sem escrever codigo
Use a calculadora de rateio salarial deste site para prorratear um salario por dias uteis dentro de um periodo de folha (dias da semana menos feriados publicos).
Prorrateia um valor salarial com base em working days dentro de uma janela selecionada de um periodo de folha. Working days sao contados como dias ISO selecionados (padrao seg-sex) menos feriados publicos (e feriados regionais opcionais quando region e usado).
Voce pode escolher o periodo de folha pelo modo calendario (year/month) ou por datas explicitas (period_from/period_to). Opcionalmente, informe uma janela personalizada de proracao (from/to) dentro desse periodo; caso contrario, a janela e o periodo inteiro.
Parametros de consulta
| Parametro | Tipo | Descricao |
|---|---|---|
country | string | Obrigatorio. Codigo de pais ISO 3166-1 alpha-2 de duas letras (ex.: US, KE). |
region | string | Opcional. Subdivisao ISO 3166-2 (Pro/Full). Adiciona feriados subnacionais as regras nacionais. |
weekdays | string | Opcional. Numeros de dias ISO separados por virgula de 1-7. Padrao seg-sex (1,2,3,4,5). |
lang | string | Opcional. Idioma para nomes no array holidays quando include=1. Codigo de GET /api/languages (ex.: de, pt-BR, en). Correspondencia sem diferenciar maiusculas; hifen e sublinhado sao equivalentes. Codigos nao suportados usam nomes em ingles. Padrao en se omitido. |
salary | string | Obrigatorio. Valor decimal em string (ex.: 5000, 5000.00, 1234.5). |
salary_scale | integer | Opcional. Casas decimais para normalizar salary (0-6). Padrao: 2. |
year | integer | Modo calendario. Obrigatorio ao usar month ou quando period_from/period_to sao omitidos. Mesmas regras de janela movel de ano de business-days. |
month | integer | Modo calendario. Opcional 1-12; omita para periodo de folha anual completo. Nao combine com period_from/period_to. |
period_from | date | Modo de periodo explicito. Data inicial do periodo de folha YYYY-MM-DD, inclusiva. Deve ser usada junto com period_to. Nao combine com year/month. |
period_to | date | Modo de periodo explicito. Data final do periodo de folha YYYY-MM-DD, inclusiva. Deve ser igual ou posterior a period_from. |
from | date | Inicio opcional da janela de proracao YYYY-MM-DD, inclusivo. Deve estar dentro do periodo de folha. Use com to. |
to | date | Fim opcional da janela de proracao YYYY-MM-DD, inclusivo. Deve estar dentro do periodo de folha. |
include | string | Opcional. Mesma semantica de business-days: 1/true inclui array holidays da janela de proracao; omitido/vazio/0/false nao inclui. |
Response: objeto JSON com period_working_days, window_working_days, ratio, salary e prorated_salary. Use period para os limites do periodo de folha e range para a janela de proracao.
Exemplos
Requisicao
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://api.holidaydb.com/api/salary-proration?country=US&year=2026&month=1&salary=5000"Resposta de exemplo
{
"country_code": "US",
"region": null,
"weekdays": [
1,
2,
3,
4,
5
],
"year": 2026,
"month": 1,
"period": {
"from": "2026-01-01",
"to": "2026-01-31"
},
"range": {
"from": "2026-01-01",
"to": "2026-01-31"
},
"period_working_days": 20,
"window_working_days": 20,
"ratio": "1.000000",
"salary": "5000.00",
"salary_scale": 2,
"prorated_salary": "5000.00"
}9. GET /api/leave-pto
Teste sem escrever codigo
Use a calculadora de licenca / PTO deste site para modelar acumulacao, licenca tirada e saldo final (horas + dias).
Calcula licenca acumulada, licenca tirada (janela opcional) e saldo final para um periodo de apuracao. O tempo de trabalho e derivado dos weekdays selecionados menos feriados publicos para o country selecionado e region opcional.
Parametros de consulta
| Parametro | Tipo | Descricao |
|---|---|---|
country | string | Obrigatorio. Codigo de pais ISO 3166-1 alpha-2 de duas letras (ex.: US, DE). |
region | string | Opcional. Subdivisao ISO 3166-2 (Pro/Full). Adiciona feriados subnacionais as regras nacionais. |
weekdays | string | Opcional. Numeros de dias ISO separados por virgula de 1-7. Padrao seg-sex (1,2,3,4,5). |
workday | string | Obrigatorio. Duracao da jornada em H:MM ou HH:MM (ex.: 08:00, 7:30). Usado para calcular horas e dias derivados. |
lang | string | Opcional. Idioma para nomes no array holidays quando include=1. Codigo de GET /api/languages (ex.: de, pt-BR, en). Correspondencia sem diferenciar maiusculas; hifen e sublinhado sao equivalentes. Codigos nao suportados usam nomes em ingles. Padrao en se omitido. |
include | string | Opcional. 1/true inclui um array holidays (para a janela de licenca quando informada, caso contrario para todo o periodo de apuracao). |
year | integer | Modo calendario. Obrigatorio ao usar month ou quando period_from/period_to sao omitidos. |
month | integer | Modo calendario. Opcional 1-12; omita para periodo anual completo. Nao combine com period_from/period_to. |
period_from | date | Modo de periodo explicito. Inicio do periodo de apuracao YYYY-MM-DD, inclusivo. Deve ser usado junto com period_to. Nao combine com year/month. |
period_to | date | Modo de periodo explicito. Fim do periodo de apuracao YYYY-MM-DD, inclusivo. Deve ser igual ou posterior a period_from. |
from | date | Inicio opcional da janela de licenca YYYY-MM-DD, inclusivo. Deve estar dentro do periodo de apuracao. Use com to. |
to | date | Fim opcional da janela de licenca YYYY-MM-DD, inclusivo. Deve estar dentro do periodo de apuracao. |
from[] / to[] | date[] | Opcional. Multiplas janelas de licenca. Informe pares repetidos de from[] e to[] (mesma quantidade de itens). Janelas podem se sobrepor; sobreposicoes sao mescladas para nao contar dias em dobro. Quando varias janelas sao informadas, a resposta inclui leave_windows e leave fica null. |
taken_hours_override | string | Opcional. Sobrescreve o tempo tirado calculado para a janela de licenca (string decimal de horas, ex.: 7.5). |
carryover_hours | string | Opcional. Saldo inicial (pode ser negativo), como string decimal de horas. |
accrual_rate_hours_per_workday | string | Opcional. Taxa de acumulacao por dia util (horas decimais). Mutuamente exclusivo com accrual_hours_per_month / accrual_hours_per_year. |
accrual_hours_per_month | string | Opcional. Valor de acumulacao para um mes calendario completo (horas decimais). Exige que o periodo de apuracao seja um mes calendario completo (use year+month). |
accrual_hours_per_year | string | Opcional. Valor de acumulacao para um ano calendario completo (horas decimais). Exige que o periodo de apuracao seja um ano calendario completo (use year sem month). |
accrual_cap_hours | string | Opcional. Se informado, o saldo final e limitado a esse valor (horas decimais). |
Response: objeto JSON com limites do periodo, totais de trabalho e campos hibridos de saldo: accrued_hours/taken_hours/ending_balance_hours mais valores derivados *_days.
Exemplos
Requisicao
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://api.holidaydb.com/api/leave-pto?country=US&year=2026&month=1&workday=08:00&accrual_hours_per_month=8"Resposta de exemplo
{
"country_code": "US",
"region": null,
"weekdays": [
1,
2,
3,
4,
5
],
"year": 2026,
"month": 1,
"workday": "08:00",
"workday_minutes": 480,
"period": {
"from": "2026-01-01",
"to": "2026-01-31"
},
"period_working_days": 21,
"accrued_hours": "8.00",
"taken_hours": "0.00",
"ending_balance_hours": "8.00"
}10. GET /api/sla-deadline
Calcula uma data de vencimento adicionando dias uteis a uma data inicial, excluindo fins de semana e feriados publicos para o country selecionado e region opcional.
Teste sem escrever codigo
Use a calculadora de prazo de SLA deste site para uma verificacao rapida de prazo.
Parametros de consulta
Os parametros obrigatorios sao country, start e sla_business_days.
| Parametro | Tipo | Descricao |
|---|---|---|
country | string | Obrigatorio. Codigo de pais ISO 3166-1 alpha-2 de duas letras (ex.: US, DE). |
start | date | Obrigatorio. Data inicial YYYY-MM-DD. A data inicial e tratada como dia 0. |
sla_business_days | integer | Obrigatorio. Numero de dias uteis a adicionar apos start (0 retorna o mesmo dia). |
region | string | Opcional. Subdivisao ISO 3166-2 (Pro/Full). Adiciona feriados subnacionais as regras nacionais. |
weekdays | string | Opcional. Numeros de dias ISO separados por virgula 1-7 (padrao seg-sex). |
include | string | Opcional. 1/true inclui um array holidays para o intervalo analisado. |
lang | string | Opcional. Idioma para nomes quando include=1. Codigo de GET /api/languages (ex.: de, pt-BR, en). Correspondencia sem diferenciar maiusculas; hifen e sublinhado sao equivalentes. Codigos nao suportados usam nomes em ingles. Padrao en se omitido. |
Response: objeto JSON com deadline e campos de contexto relacionados (country/region, weekdays e intervalo de analise).
Exemplos
Requisicao
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://api.holidaydb.com/api/sla-deadline?country=US&start=2026-01-02&sla_business_days=1"Resposta de exemplo
{
"country_code": "US",
"region": null,
"weekdays": [
1,
2,
3,
4,
5
],
"start": "2026-01-02",
"sla_business_days": 1,
"deadline": "2026-01-05"
}11. GET /api/delivery-date
Calcula uma data estimada de entrega adicionando dias uteis a uma data inicial, excluindo fins de semana e feriados publicos para o country selecionado e region opcional.
Teste sem escrever codigo
Use a calculadora de data de entrega deste site para uma estimativa rapida.
Parametros de consulta
Os parametros obrigatorios sao country, start e delivery_business_days.
| Parametro | Tipo | Descricao |
|---|---|---|
country | string | Obrigatorio. Codigo de pais ISO 3166-1 alpha-2 de duas letras (ex.: US, DE). |
start | date | Obrigatorio. Data inicial YYYY-MM-DD. A data inicial e tratada como dia 0. |
delivery_business_days | integer | Obrigatorio. Numero de dias uteis a adicionar apos start (0 retorna o mesmo dia). |
region | string | Opcional. Subdivisao ISO 3166-2 (Pro/Full). Adiciona feriados subnacionais as regras nacionais. |
weekdays | string | Opcional. Numeros de dias ISO separados por virgula 1-7 (padrao seg-sex). |
include | string | Opcional. 1/true inclui um array holidays para o intervalo analisado. |
lang | string | Opcional. Idioma para nomes quando include=1. Codigo de GET /api/languages (ex.: de, pt-BR, en). Correspondencia sem diferenciar maiusculas; hifen e sublinhado sao equivalentes. Codigos nao suportados usam nomes em ingles. Padrao en se omitido. |
Response: objeto JSON com delivery_date e campos de contexto relacionados (country/region, weekdays e intervalo de analise).
Exemplos
Requisicao
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://api.holidaydb.com/api/delivery-date?country=US&start=2026-01-02&delivery_business_days=3"Resposta de exemplo
{
"country_code": "US",
"region": null,
"weekdays": [
1,
2,
3,
4,
5
],
"start": "2026-01-02",
"delivery_business_days": 3,
"delivery_date": "2026-01-07"
}12. GET /api/bridge-days
Retorna oportunidades de 'bridge day' para um country e year - sequencias curtas de dias de trabalho entre dias nao uteis, onde pelo menos um bloco vizinho contem feriado publico. Cada oportunidade inclui o bloco consecutivo de folga resultante e uma razao de eficiencia para voce classificar boas oportunidades de feriado prolongado.
Teste sem escrever codigo
Use a calculadora de pontes / feriados prolongados deste site para planejar feriados prolongados no navegador.
Parametros de consulta
Os parametros obrigatorios sao country e year.
| Parametro | Tipo | Descricao |
|---|---|---|
country | string | Obrigatorio. Codigo de pais ISO 3166-1 alpha-2 de duas letras (ex.: US, DE). |
year | integer | Obrigatorio. Ano calendario dentro da janela movel permitida. |
month | integer | Opcional. 1-12 para limitar a analise a um unico mes. |
region | string | Opcional. Subdivisao ISO 3166-2 (Pro/Full). Adiciona feriados subnacionais as regras nacionais. |
weekdays | string | Opcional. Numeros de dias ISO separados por virgula 1-7 (padrao seg-sex). |
max_gap | integer | Opcional. Tamanho maximo da ponte em dias uteis (1-3, padrao 1). Valores maiores mostram oportunidades de 2 e 3 dias, como feriado na terca seguido do fim de semana. |
include | string | Opcional. 1/true inclui um array holidays para o intervalo consultado. |
lang | string | Opcional. Idioma para nomes de feriados. Codigo de GET /api/languages (ex.: de, pt-BR, en). Correspondencia sem diferenciar maiusculas; hifen e sublinhado sao equivalentes. Codigos nao suportados usam nomes em ingles. Padrao en se omitido. |
Response: objeto JSON com um array bridge_opportunities ordenado por eficiencia decrescente. Cada oportunidade expoe os dias uteis que precisam ser tirados, o bloco consecutivo de folga resultante, a quantidade de dias de folga, a razao de eficiencia (dias de folga / dias de ponte) e os feriados ancora.
Exemplos
Requisicao
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://api.holidaydb.com/api/bridge-days?country=DE&year=2026"Resposta de exemplo
{
"country_code": "DE",
"region": null,
"weekdays": [
1,
2,
3,
4,
5
],
"year": 2026,
"month": null,
"max_gap": 1,
"range": {
"from": "2026-01-01",
"to": "2026-12-31"
},
"bridge_opportunities": [
{
"bridge_days": [
"2026-05-15"
],
"bridge_days_count": 1,
"off_block": {
"from": "2026-05-14",
"to": "2026-05-17"
},
"off_days_count": 4,
"efficiency": 4,
"anchor_holidays": [
{
"uuid": "...",
"summary": "Christi Himmelfahrt",
"start_date": "2026-05-14",
"end_date": "2026-05-14"
}
]
}
]
}13. GET /api/languages
Retorna a lista de codigos de idioma suportados pelo HolidayDB para nomes de feriados traduzidos. Este endpoint esta disponivel para planos que incluem varios idiomas (Full). Se o seu plano incluir apenas ingles, a API retorna `403`.
Parametros de consulta
Nenhum.
Resposta
Objeto JSON com um array languages. Cada item contem um code (ex.: en, de, pt_BR, en_US) e um name. Passe esses codigos em lang; veja o parametro lang para correspondencia e fallback de tags primary.
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://api.holidaydb.com/api/languages"{
"languages": [
{ "code": "en", "name": "English" },
{ "code": "de", "name": "German" }
]
}As paginas de calculadora deste site usam um endpoint auxiliar publico GET /api/tools/languages para preencher seletores de idioma sem exigir API key.
14. Erros
| Status | Significado |
|---|---|
| 401 | API key ausente ou invalida. |
| 402 | Cota mensal do plano Free excedida. message / detail obsoletos e campos legacy podem ainda ser retornados. |
| 403 | Filtro por subdivisao ou recurso nao incluido no seu plano (ex.: Pro/Full necessario), ou token sem escopo api. |
| 404 | Pais nao encontrado em GET /api/holidays, ou sem cobertura de feriados nas calculadoras (inclui country_code quando conhecido). |
| 422 | Erro de validacao: pelo menos um entre country/religion obrigatorio (formulario de consulta), type/scope invalido, provisional, substitute ou include em GET /api/holidays, intervalo de datas invalido, slug de religiao invalido, include invalido em GET /api/business-days (use 0, false, 1 ou true), workday invalido em GET /api/working-hours, ou campos invalidos de business-days/working-hours (ex.: weekdays). Inclui um objeto errors. |
| 500 | Sem plano de assinatura ativo ou erro interno inesperado. message / detail obsoletos e campos legacy podem ainda ser retornados. |
Corpo da resposta de erro
Respostas de erro sao JSON na API de produto autenticada (GET /api/holidays, endpoints de calculadora, etc.).
| Campo | Estado | Descricao |
|---|---|---|
error | Obrigatorio | Mensagem legivel. Use este campo em integracoes novas. |
errors | Somente 422 | Objeto que mapeia nomes de campo para arrays de mensagens (validacao). |
country_code | Somente 404 | Codigo ISO do pais quando nao ha cobertura de feriados (endpoints de calculadora). |
message | Obsoleto | Mesmo texto que error. Ainda retornado por compatibilidade. |
detail | Obsoleto | Mesmo texto que error em algumas respostas 402 e 500. Ainda retornado por compatibilidade. |
id, status, title, code | Obsoleto | Campos legacy em algumas respostas 402 e 500 (code ex.: E0, nao um slug snake_case). |
Rotas publicas /api/tools/* usam outro formato de erro e nao sao descritas aqui.
API key ausente ou invalida.
{
"error": "Unauthorized. Provide a valid API key in the Authorization header as Bearer token."
}