Business-Day API

API ID 12996

Accurate business-day, holiday, and scheduling math for major countries and their subdivisions — without maintaining a single holiday calendar yourself. Add or subtract working days, check if a date is a business day, find the next valid date, or count working days between two dates, with full support for regional subdivisions, custom weekends, and your own blackout dates. One simple GET call, instant JSON.

203 ms resp. média

Documentação da API

Endpoints

Requisição

Checks whether a given date is a working business day for a country or region, accounting for weekends, public holidays, and any custom blackout dates you supply. Returns true or false. Supports regional subdivisions (e.g. US states, German Länder) and configurable weekend days for Friday/Saturday-weekend regions.

Endpoint ID: 26001
GET https://docs.zylalabs.com/api/12996/business-day+api/26001/is+business+day
PARÂMETROS DE ENTRADA

Is Business Day — Recursos do endpoint

Objeto Descrição
date Obrigatório Date to check, ISO format YYYY-MM-DD (e.g. 2026-12-25)
region Obrigatório ISO country code, e.g. US, GB, DE, CA
weekend Opcional Optional weekend days, comma-separated Mon=0 to Sun=6. Default 5,6 (Sat/Sun). Use 4,5 for Friday/Saturday regions
extra_holidays Opcional Optional comma-separated ISO dates to treat as non-working days
subdiv Opcional Optional state/province/region code, e.g. CA for California or BY for Bavaria

Solicitações gratuitas de teste restantes: 3 de 3.


PARÂMETROS DE ENTRADA

date
region
weekend
extra_holidays
subdiv
RESPOSTA DE EXEMPLO DA API
JSON
{"date":"2026-12-25","region":"US","is_business_day":false}
Is Business Day — TRECHOS DE CÓDIGO

curl --location --request GET 'https://zylalabs.com/api/12996/business-day+api/26001/is+business+day?date=Required®ion=Required' --header 'Authorization: Bearer YOUR_API_KEY' 


    
Requisição

Adds or subtracts a number of working business days to a date, skipping weekends, public holidays, and any custom blackout dates. Supports regional subdivisions and configurable weekends.

Endpoint ID: 26002
GET https://docs.zylalabs.com/api/12996/business-day+api/26002/add+business+days
PARÂMETROS DE ENTRADA

Add Business Days — Recursos do endpoint

Objeto Descrição
date Obrigatório Date to check, ISO format YYYY-MM-DD (e.g. 2026-12-25)
days Obrigatório Number of business days to add. Use a negative number to subtract, e.g. 5 or -3
region Obrigatório ISO country code, e.g. US, GB, DE, CA
subdiv Opcional Optional state/province/region code, e.g. CA for California or BY for Bavaria
weekend Opcional Optional weekend days, comma-separated Mon=0 to Sun=6. Default 5,6 (Sat/Sun). Use 4,5 for Friday/Saturday regions
extra_holidays Opcional Optional comma-separated ISO dates to treat as non-working days, e.g. 2026-07-06

Solicitações gratuitas de teste restantes: 3 de 3.


PARÂMETROS DE ENTRADA

date
days
region
subdiv
weekend
extra_holidays
RESPOSTA DE EXEMPLO DA API
JSON
{"start":"2026-07-02","days":5,"result":"2026-07-10"}
Add Business Days — TRECHOS DE CÓDIGO

curl --location --request GET 'https://zylalabs.com/api/12996/business-day+api/26002/add+business+days?date=2026-07-02&days=5®ion=US' --header 'Authorization: Bearer YOUR_API_KEY' 


    
Requisição

Retorna o primeiro dia útil a partir de uma data dada, pulando finais de semana, feriados e datas de bloqueio personalizadas. Defina inclusive=true para permitir a própria data se ela já for um dia útil

Endpoint ID: 26003
GET https://docs.zylalabs.com/api/12996/business-day+api/26003/next+business+day
PARÂMETROS DE ENTRADA

Próximo Dia Útil — Recursos do endpoint

Objeto Descrição
date Obrigatório Date to check, ISO format YYYY-MM-DD (e.g. 2026-12-25)
region Obrigatório ISO country code, e.g. US, GB, DE, CA
inclusive Opcional Optional true or false. If true, returns the date itself when it is already a working day. Default false
subdiv Opcional Optional state/province/region code, e.g. CA for California or BY for Bavaria
weekend Opcional Optional weekend days, comma-separated Mon=0 to Sun=6. Default 5,6 (Sat/Sun). Use 4,5 for Friday/Saturday regions
extra_holidays Opcional Optional comma-separated ISO dates to treat as non-working days, e.g. 2026-07-06

Solicitações gratuitas de teste restantes: 3 de 3.


PARÂMETROS DE ENTRADA

date
region
inclusive
subdiv
weekend
extra_holidays
RESPOSTA DE EXEMPLO DA API
JSON
{"from":"2026-07-02","result":"2026-07-06"}
Próximo Dia Útil — TRECHOS DE CÓDIGO

curl --location --request GET 'https://zylalabs.com/api/12996/business-day+api/26003/next+business+day?date=2026-07-02®ion=US' --header 'Authorization: Bearer YOUR_API_KEY' 


    
Requisição

Counts the number of working business days between two dates, excluding weekends, public holidays, and custom blackout dates. Supports regional subdivisions and configurable weekends.

Endpoint ID: 26004
GET https://docs.zylalabs.com/api/12996/business-day+api/26004/business+days+between
PARÂMETROS DE ENTRADA

Business Days Between — Recursos do endpoint

Objeto Descrição
start Obrigatório Start date in ISO format YYYY-MM-DD, e.g. 2026-07-01
end Obrigatório End date in ISO format YYYY-MM-DD, e.g. 2026-07-31
region Obrigatório ISO country code, e.g. US, GB, DE, CA
subdiv Opcional Optional state/province/region code, e.g. CA for California or BY for Bavaria
weekend Opcional Optional weekend days, comma-separated Mon=0 to Sun=6. Default 5,6 (Sat/Sun). Use 4,5 for Friday/Saturday regions
extra_holidays Opcional Optional comma-separated ISO dates to treat as non-working days, e.g. 2026-07-06

Solicitações gratuitas de teste restantes: 3 de 3.


PARÂMETROS DE ENTRADA

start
end
region
subdiv
weekend
extra_holidays
RESPOSTA DE EXEMPLO DA API
JSON
{"start":"2026-07-01","end":"2026-07-31","business_days":21}
Business Days Between — TRECHOS DE CÓDIGO

curl --location --request GET 'https://zylalabs.com/api/12996/business-day+api/26004/business+days+between?start=2026-07-01&end=2026-07-31®ion=US' --header 'Authorization: Bearer YOUR_API_KEY' 


    

Chave de acesso à API e autenticação

Após se cadastrar, cada desenvolvedor recebe uma chave de acesso à API pessoal, uma combinação única de letras e dígitos para acessar nosso endpoint de API. Para autenticar com a Business-Day API basta incluir seu token Bearer no cabeçalho Authorization.

Cabeçalhos
Cabeçalho Descrição
Authorization Obrigatório Deve ser Bearer access_key. Veja "Sua chave de acesso à API" acima quando você estiver inscrito.

Sem compromisso de longo prazo. Faça upgrade, downgrade ou cancele a qualquer momento. O teste gratuito inclui até 50 requisições.

(Economize 2 meses com cobrança anual 🎉)

🚀 Plano Empresarial

A partir de
$ 10.000/Ano


  • Volume personalizado
  • Limite de taxa personalizado
  • Suporte ao cliente especializado
  • Monitoramento de API em tempo real

Visão Geral

Date arithmetic looks trivial until you cross a border. "Five business days from today" means something different in California than in Bavaria, observed-holiday rules shift weekends around, some regions don't even use a Saturday/Sunday weekend, and every customer has their own closures on top of the public calendar. Getting this wrong quietly breaks SLA clocks, delivery estimates, payment settlement windows, and appointment scheduling.

This API handles all of it behind one endpoint. Public holidays for over 100 countries and their subdivisions (US states, German Länder, Canadian provinces, and more) are kept current for you. On top of that you get the things a raw calendar can't do on its own: working-day arithmetic, configurable weekend days for non-Mon–Fri regions, and per-request custom holidays so a customer's own office closures fold into the calculation.

Built for logistics and delivery-date estimation, fintech settlement and payment scheduling, SLA and ticket-aging clocks, payroll, and any appointment or booking system that has to respect real working days. Responses are small, cacheable JSON and return in milliseconds.

Highlights

  • 100+ countries with regional subdivision support
  • Add / subtract business days, with correct observed-holiday handling
  • Check any date, find the next working day, or count working days in a range
  • Configurable weekends (e.g. Friday/Saturday regions)
  • Per-request custom holidays / blackout dates
  • Tiny JSON in, tiny JSON out — one GET call, no SDK required

Endpoint reference

All endpoints are GET. Dates are ISO YYYY-MM-DD. region is an ISO country code (e.g. US, GB, DE, CA). Optional params:

  • subdiv — state/province/region code (e.g. CA for California, BY for Bavaria)
  • weekend — comma-separated weekday numbers, Monday=0 … Sunday=6. Default 5,6 (Sat/Sun). Example: 4,5 for a Friday/Saturday weekend.
  • extra_holidays — comma-separated ISO dates to treat as non-working (a customer's own closures), merged with the public calendar.

1. Is business day — GET /v1/is-business-day

Returns whether a date is a working day (not a weekend, public holiday, or supplied blackout date).

Param Required Example
date yes 2026-12-25
region yes US
subdiv no CA
weekend no 5,6
extra_holidays no 2026-12-24

Request:

 
GET /v1/is-business-day?date=2026-12-25&region=US

Response:

 
json
{ "date": "2026-12-25", "region": "US", "is_business_day": false }

2. Add business days — GET /v1/add-business-days

Adds (or subtracts, if days is negative) N working days to a date.

Param Required Example
date yes 2026-07-02
days yes 5
region yes US
subdiv no CA
weekend no 5,6
extra_holidays no 2026-07-06

Request:

 
GET /v1/add-business-days?date=2026-07-02&days=5&region=US&subdiv=CA

Response:

 
json
{ "start": "2026-07-02", "days": 5, "result": "2026-07-10" }

(July 3 is the observed Independence Day holiday, plus two weekends, so five working days lands on July 10.)

3. Next business day — GET /v1/next-business-day

Returns the first working day after a date. Pass inclusive=true to allow the date itself if it is already a working day.

Param Required Example
date yes 2026-12-25
region yes US
inclusive no false
subdiv no CA
weekend no 5,6
extra_holidays no

Request:

 
GET /v1/next-business-day?date=2026-12-25&region=US

Response:

 
json
{ "from": "2026-12-25", "result": "2026-12-28" }

4. Business days between — GET /v1/business-days-between

Counts working days in the half-open interval (start, end]. Negative if end precedes start.

Param Required Example
start yes 2026-12-24
end yes 2026-12-31
region yes US
subdiv no CA
weekend no 5,6
extra_holidays no

Request:

 
GET /v1/business-days-between?start=2026-12-24&end=2026-12-31&region=US

Response:

 
json
{ "start": "2026-12-24", "end": "2026-12-31", "business_days": 4 }

Errors

  • 400 — bad input (malformed date, out-of-range weekend, unsupported region). Body: { "detail": "" }
  • 401 — missing or invalid key (handled by the marketplace layer).
  • 429 — rate limit exceeded.

International examples (demonstrate coverage, don't just claim it)

These show the regional parameters actually changing the result — the most credible thing a browsing developer can see. All values verified against the live calendars.

Subdivisions matter — same date, different answer

Epiphany (Jan 6, 2026, a Tuesday) is a public holiday in Bavaria but a normal working day in Berlin:

 
GET /v1/is-business-day?date=2026-01-06&region=DE&subdiv=BY
{ "date": "2026-01-06", "region": "DE", "is_business_day": false }

GET /v1/is-business-day?date=2026-01-06&region=DE&subdiv=BE
{ "date": "2026-01-06", "region": "DE", "is_business_day": true }

The arithmetic reflects it too — adding one working day to Wed June 3 skips Corpus Christi (Thu June 4) in Bavaria, but not in Berlin:

 
GET /v1/add-business-days?date=2026-06-03&days=1&region=DE&subdiv=BY
{ "start": "2026-06-03", "days": 1, "result": "2026-06-05" }

GET /v1/add-business-days?date=2026-06-03&days=1&region=DE&subdiv=BE
{ "start": "2026-06-03", "days": 1, "result": "2026-06-04" }

Non-Mon–Fri weekends

Egypt with a Friday/Saturday weekend — one working day after Thursday March 5 lands on Sunday March 8, not Friday:

 
GET /v1/add-business-days?date=2026-03-05&days=1&region=EG&weekend=4,5
{ "start": "2026-03-05", "days": 1, "result": "2026-03-08" }

GET /v1/next-business-day?date=2026-03-05&region=EG&weekend=4,5
{ "from": "2026-03-05", "result": "2026-03-08" }

Counting working days under a Friday/Saturday weekend (Saudi Arabia, Mar 1–8):

 
GET /v1/business-days-between?start=2026-03-01&end=2026-03-08&region=SA&weekend=4,5
{ "start": "2026-03-01", "end": "2026-03-08", "business_days": 5 }

Region changes the holiday set

July 3, 2026 is the observed US Independence Day holiday, but an ordinary working day in the UK:

 
GET /v1/is-business-day?date=2026-07-03&region=US
{ "date": "2026-07-03", "region": "US", "is_business_day": false }

GET /v1/is-business-day?date=2026-07-03&region=GB
{ "date": "2026-07-03", "region": "GB", "is_business_day": true }

Business-Day API FAQs

Each endpoint returns JSON data that indicates business day status, calculated dates, or the number of working days. For example, the "Is Business Day" endpoint returns whether a specific date is a working day, while the "Add Business Days" endpoint provides the resulting date after adding or subtracting business days.

Key fields in the response include "date" (the input date), "region" (the specified region), "is_business_day" (boolean for business day status), "result" (calculated date), and "business_days" (count of working days between two dates).

Os parâmetros incluem "data" (obrigatório), "região" (obrigatório), "subdiv" (opcional para subdivisões), "fim de semana" (opcional para fins de semana personalizados), "dias" (obrigatório para adicionar/subtrair dias) e "feriados extras" (opcional para datas de bloqueio personalizadas)

The response data is structured in a JSON format with key-value pairs. Each endpoint's response contains relevant fields based on the request, such as "start," "end," and "result" for date calculations, allowing users to easily parse and utilize the information.

The data is sourced from official holiday calendars for over 100 countries and their subdivisions. The API maintains current holiday information to ensure accuracy, allowing users to rely on it for precise business day calculations.

Casos de uso típicos incluem logística e estimativa de data de entrega, agendamento de liquidações financeiras, rastreamento de SLA, processamento de folha de pagamento e agendamento de compromissos, onde cálculos precisos de dias úteis são cruciais para as operações

Users can customize requests by specifying parameters such as "subdiv" for regional subdivisions, "weekend" for non-standard weekends, and "extra_holidays" for custom closures, tailoring the calculations to their specific needs.

Users can utilize the returned data by interpreting the "is_business_day" field to determine scheduling feasibility, using "result" for planning future dates, and leveraging "business_days" for understanding timelines between events or deadlines.

Perguntas Frequentes Gerais

O Zyla API Hub é como uma grande loja de APIs, onde você pode encontrar milhares delas em um só lugar. Também oferecemos suporte dedicado e monitoramento em tempo real de todas as APIs. Após se cadastrar, você pode escolher quais APIs deseja usar. Lembre-se apenas de que cada API precisa de sua própria assinatura. Mas se você se inscrever em várias, usará a mesma chave para todas elas, facilitando as coisas para você.
Os preços são listados em USD (Dólar Americano), EUR (Euro), CAD (Dólar Canadense), AUD (Dólar Australiano) e GBP (Libra Esterlina). Aceitamos todos os principais cartões de débito e crédito. Nosso sistema de pagamento usa a mais recente tecnologia de segurança e é operado pela Stripe, uma das empresas de pagamento mais confiáveis do mundo. Se tiver problemas para pagar com cartão, entre em contato conosco em [email protected]

Além disso, se você já tiver uma assinatura ativa em qualquer uma dessas moedas (USD, EUR, CAD, AUD, GBP), essa moeda será mantida para assinaturas subsequentes. Você pode alterar a moeda a qualquer momento, desde que não tenha assinaturas ativas.
A moeda local exibida na página de preços é baseada no país do seu endereço IP e é fornecida apenas como referência. Os preços reais são em USD (Dólar Americano). Ao efetuar o pagamento, a cobrança aparecerá no extrato do seu cartão em USD, mesmo que você veja o valor equivalente em sua moeda local em nosso site. Isso significa que você não pode pagar diretamente com sua moeda local.
Ocasionalmente, o banco pode recusar a cobrança devido às configurações de proteção contra fraude. Sugerimos contatar seu banco inicialmente para verificar se estão bloqueando nossas cobranças. Você também pode acessar o Portal de Cobrança e alterar o cartão associado para realizar o pagamento. Se isso não funcionar e precisar de mais ajuda, entre em contato com nossa equipe em [email protected]
Os preços são determinados por uma assinatura recorrente mensal ou anual, dependendo do plano escolhido.
As chamadas de API são descontadas do seu plano com base nas requisições bem-sucedidas. Cada plano possui um número específico de chamadas por mês. Apenas chamadas bem-sucedidas, indicadas por uma resposta com Status 200, serão contabilizadas, garantindo que falhas não afetem sua cota mensal.
O Zyla API Hub funciona com um sistema de assinatura mensal recorrente. Seu ciclo de cobrança começa no dia em que você compra um dos planos pagos e será renovado no mesmo dia do mês seguinte. Portanto, cancele sua assinatura com antecedência se quiser evitar cobranças futuras.
Para fazer upgrade do seu plano atual, acesse a página de preços da API e selecione o novo plano desejado. O upgrade é instantâneo, permitindo aproveitar imediatamente os recursos do novo plano. Observe que as chamadas restantes do plano anterior não serão transferidas; você será cobrado pelo valor integral do novo plano.
Para verificar quantas chamadas de API restam para o mês atual, consulte o campo 'X-Zyla-API-Calls-Monthly-Remaining' no cabeçalho da resposta. Por exemplo, se seu plano permite 1.000 requisições por mês e você usou 100, este campo no cabeçalho da resposta indicará 900 chamadas restantes.
Para ver o número máximo de requisições de API que seu plano permite, verifique o cabeçalho de resposta 'X-Zyla-RateLimit-Limit'. Por exemplo, se seu plano inclui 1.000 requisições por mês, este cabeçalho exibirá 1.000.
O cabeçalho 'X-Zyla-RateLimit-Reset' mostra o número de segundos até seu limite de taxa ser redefinido. Isso informa quando sua contagem de requisições começará do zero. Por exemplo, se exibir 3.600, significa que restam 3.600 segundos até o limite ser redefinido.
Sim, você pode cancelar seu plano a qualquer momento acessando sua conta e selecionando a opção de cancelamento na página de Cobrança. Observe que upgrades, downgrades e cancelamentos têm efeito imediato. Além disso, após o cancelamento, você não terá mais acesso ao serviço, mesmo que ainda tenha chamadas restantes na sua cota.
Para oferecer a oportunidade de experimentar nossas APIs sem compromisso, oferecemos um teste gratuito de 7 dias que permite realizar até 50 chamadas de API sem custo. Esse teste pode ser usado apenas uma vez; recomendamos aplicá-lo à API que mais interessa. Embora a maioria das APIs ofereça teste gratuito, algumas podem não oferecer. O teste termina após 7 dias ou quando você atingir 50 requisições, o que ocorrer primeiro. Se atingir o limite, será necessário "Iniciar seu plano pago" para continuar. Você encontra esse botão no perfil em Assinatura -> Escolha a API -> aba Preços. Se não cancelar até o 7º dia, sua assinatura será cobrada automaticamente, liberando todas as chamadas do plano.
Após 7 dias, será cobrado o valor total do plano ao qual você estava inscrito durante o teste. Portanto, é importante cancelar antes do término do período. Solicitações de reembolso por esquecimento de cancelamento não são aceitas.
Ao assinar um teste gratuito de API, você pode fazer até 50 chamadas. Se desejar fazer chamadas adicionais além desse limite, a API solicitará que você "Inicie seu plano pago". Você encontra o botão no perfil em Assinatura -> Escolha a API -> aba Preços.
As Ordens de Pagamento são processadas entre os dias 20 e 30 de cada mês. Se você enviar sua solicitação antes do dia 20, seu pagamento será processado dentro desse período.
Você pode nos contatar via chat para receber assistência imediata. Estamos online de 8h às 17h (EST). Se nos contatar após esse horário, retornaremos o mais rápido possível. Além disso, você pode enviar um e-mail para [email protected]

APIs relacionadas