Skip to content

Working days

What this does

Starts from a calendar date and counts forward a number of working days (Monday to Friday, excluding bank holidays for your chosen UK division). Returns the landing date and a list of skipped non-working days. Ideal for “delivery in 5 working days” or SLA deadlines.

Who it is for

  • E-commerce promised delivery dates
  • Legal and finance teams counting notice periods
  • Project tools computing sprint end dates
  • Support SLAs (“we will reply within 3 working days”)

Try it

Five working days from 25 August 2026, England and Wales:

https://fetch.li/v1/uk/working-days?start=2026-08-25&days=5&division=england-and-wales

Other examples:

https://fetch.li/v1/uk/working-days?start=2026-12-23&days=3&division=scotland
https://fetch.li/v1/uk/working-days?start=2026-01-02&days=10

HTTP example

GET /v1/uk/working-days?start=2026-08-25&days=5&division=england-and-wales HTTP/1.1
Host: fetch.li
Accept: application/json

curl

curl -sS "https://fetch.li/v1/uk/working-days?start=2026-08-25&days=5&division=england-and-wales"

JavaScript fetch

const params = new URLSearchParams({
  start: "2026-08-25",
  days: "5",
  division: "england-and-wales",
});
const response = await fetch(
  `https://fetch.li/v1/uk/working-days?${params}`
);
const result = await response.json();
console.log(result.end_date);

Python requests

import requests

response = requests.get(
    "https://fetch.li/v1/uk/working-days",
    params={
        "start": "2026-08-25",
        "days": 5,
        "division": "england-and-wales",
    },
)
response.raise_for_status()
result = response.json()
print(result["end_date"])

Example JSON response

{
  "start": "2026-08-25",
  "days_requested": 5,
  "division": "england-and-wales",
  "end_date": "2026-09-01",
  "working_days_counted": 5,
  "skipped": [
    {
      "date": "2026-08-29",
      "reason": "weekend",
      "weekday": "Saturday"
    },
    {
      "date": "2026-08-30",
      "reason": "weekend",
      "weekday": "Sunday"
    },
    {
      "date": "2026-08-31",
      "reason": "bank_holiday",
      "title": "Summer bank holiday"
    }
  ],
  "timezone": "Europe/London"
}

Parameters

Parameter Required Type Description
start Yes string Start date YYYY-MM-DD (counts from the next working day after start, or inclusive per product default; here inclusive of first working day on or after start)
days Yes integer Number of working days to advance (1–366)
division No string england-and-wales (default), scotland, or northern-ireland for bank holiday rules

Errors that can happen

HTTP error.code When
400 invalid_body Missing start or days, invalid date, or days out of range
429 rate_limited Demo limit exceeded
500 internal Unexpected server error

Demo

GET endpoints work without an API key on the public demo tier (60 calls per hour per IP). POST /v1/vibe/classify needs a key.