# Nager.Date API

> Nager.Date returns public holidays, long weekends, and country information as a workflow and API.

Nager.Date lists a country’s public holidays by year or for the next 365 days, using a country name or two-letter code. Check public holidays with a date and country, optionally adding a region; results include applicable holidays and weekend status. List long weekends by country and year, or get country names, codes, world region, and land-border neighbours by country.

- Page: https://fous.com/workflows/nager-date
- Handle: `@nager-date`
- Category: [Productivity](https://fous.com/workflows/category/productivity)
- Source website: https://date.nager.at
- Last verified: Sep 30, 2026
- Fous is not affiliated with Nager.Date.

## Methods

### Check public holiday

Operation `check_public_holiday`, version 1. 1 credit per call.

Check whether a date is a public holiday or weekend in a country. By default, only nationwide holidays count; provide a region to include holidays observed there.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `date` | string | yes | `"2026-07-14"` | Date to check in YYYY-MM-DD format, for example 2026-07-14. |
| `region` | string | no | `"Bavaria"` | Optional state or province name or subdivision code, for example Bavaria or DE-BY. Omit to check nationwide holidays only. |
| `country` | string | yes | `"France"` | Country name or two-letter country code, for example France or FR. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "country",
    "date"
  ],
  "properties": {
    "date": {
      "type": "string",
      "format": "date",
      "description": "Date to check in YYYY-MM-DD format, for example 2026-07-14.",
      "examples": [
        "2026-07-14",
        "2026-01-06",
        "2026-07-12"
      ]
    },
    "region": {
      "type": "string",
      "default": "",
      "description": "Optional state or province name or subdivision code, for example Bavaria or DE-BY. Omit to check nationwide holidays only.",
      "examples": [
        "Bavaria",
        "Berlin"
      ]
    },
    "country": {
      "type": "string",
      "description": "Country name or two-letter country code, for example France or FR.",
      "examples": [
        "France",
        "Germany",
        "DE"
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "date": "2026-07-14",
      "country": "France"
    },
    {
      "date": "2026-01-06",
      "region": "Bavaria",
      "country": "Germany"
    },
    {
      "date": "2026-01-06",
      "country": "Germany"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `date` | string | `"2026-07-14"` | Date checked. |
| `region` | string or null | `"Bavaria"` | Region checked, or null for nationwide only. |
| `country` | string | `"France"` | Country name. |
| `weekday` | string | `"Tuesday"` | Day of the week. |
| `holidays` | array |  | Applicable public holidays on the date; empty if none. |
| `holidays[].regions` | array |  | Regions where a regional holiday applies; empty for nationwide holidays. |
| `holidays[].page_link` | string | `"https://date.nager.at/PublicHoliday/France/2026"` | Page for the country’s holiday calendar. |
| `holidays[].local_name` | string | `"Fête nationale"` | Holiday name in the local language. |
| `holidays[].nationwide` | boolean | `true` | Whether the holiday applies nationwide. |
| `holidays[].english_name` | string | `"Bastille Day"` | Holiday name in English. |
| `holidays[].region_codes` | array |  | Official subdivision codes for applicable regions. |
| `is_weekend` | boolean | `false` | Whether the date falls on Saturday or Sunday. |
| `is_public_holiday` | boolean | `true` | Whether the date has an applicable public holiday. |

**Example input**

```json
{
  "date": "2026-07-14",
  "country": "France"
}
```

**Example output**

```json
{
  "date": "2026-07-14",
  "region": null,
  "country": "France",
  "weekday": "Tuesday",
  "holidays": [
    {
      "regions": [],
      "page_link": "https://date.nager.at/PublicHoliday/France/2026",
      "local_name": "Fête nationale",
      "nationwide": true,
      "english_name": "Bastille Day",
      "region_codes": []
    }
  ],
  "is_weekend": false,
  "is_public_holiday": true
}
```

### Get country info

Operation `get_country_info`, version 1. 1 credit per call.

Get a country’s common and official names, code, region, and neighbouring countries. Neighbours are geographic land borders where available.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `country` | string | yes | `"US"` | Country name or two-letter country code, for example Austria or AT. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "country"
  ],
  "properties": {
    "country": {
      "type": "string",
      "description": "Country name or two-letter country code, for example Austria or AT.",
      "examples": [
        "US",
        "Austria"
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "country": "US"
    },
    {
      "country": "Austria"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `region` | string | `"Americas"` | World region. |
| `page_url` | string | `"https://date.nager.at/api/v3/CountryInfo/US"` | Link to this country’s details. |
| `neighbours` | array |  | Countries sharing a land border with this country. |
| `neighbours[].page_url` | string | `"https://date.nager.at/api/v3/CountryInfo/CA"` | Link to the neighbouring country’s details. |
| `neighbours[].common_name` | string | `"Canada"` | Common country name. |
| `neighbours[].country_code` | string | `"CA"` | Two-letter country code. |
| `neighbours[].official_name` | string | `"Canada"` | Official country name. |
| `common_name` | string | `"United States"` | Common country name. |
| `country_code` | string | `"US"` | Two-letter country code. |
| `official_name` | string | `"United States of America"` | Official country name. |

**Example input**

```json
{
  "country": "US"
}
```

**Example output**

```json
{
  "region": "Americas",
  "page_url": "https://date.nager.at/api/v3/CountryInfo/US",
  "neighbours": [
    {
      "page_url": "https://date.nager.at/api/v3/CountryInfo/CA",
      "common_name": "Canada",
      "country_code": "CA",
      "official_name": "Canada"
    },
    {
      "page_url": "https://date.nager.at/api/v3/CountryInfo/MX",
      "common_name": "Mexico",
      "country_code": "MX",
      "official_name": "United Mexican States"
    }
  ],
  "common_name": "United States",
  "country_code": "US",
  "official_name": "United States of America"
}
```

### List long weekends

Operation `list_long_weekends`, version 1. 1 credit per call.

List long weekends for a country and year, including dates, length, and any bridge days needed. Country coverage varies.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `year` | integer | no | `2025` | Calendar year, for example 2026. Defaults to the current year when omitted. |
| `country` | string | yes | `"US"` | Country name or 2-letter code, for example Netherlands or NL. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "country"
  ],
  "properties": {
    "year": {
      "type": "integer",
      "maximum": 9999,
      "minimum": 1,
      "description": "Calendar year, for example 2026. Defaults to the current year when omitted.",
      "examples": [
        2025,
        2026
      ]
    },
    "country": {
      "type": "string",
      "description": "Country name or 2-letter code, for example Netherlands or NL.",
      "examples": [
        "US",
        "Netherlands"
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "year": 2025,
      "country": "US"
    },
    {
      "year": 2026,
      "country": "Netherlands"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `year` | integer | `2025` | Calendar year. |
| `country` | string | `"United States"` | Country name. |
| `long_weekends` | array |  | Long weekends in date order. |
| `long_weekends[].days_off` | integer | `3` | Total consecutive days off, including any bridge day. |
| `long_weekends[].end_date` | string | `"2025-01-20"` | Last date of the long weekend. |
| `long_weekends[].page_link` | string | `"https://date.nager.at/publicholiday/united-states/2025"` | Country calendar page for this long weekend. |
| `long_weekends[].start_date` | string | `"2025-01-18"` | First date of the long weekend. |
| `long_weekends[].bridge_day_dates` | array |  | Days to take off work to make the long weekend. |
| `long_weekends[].bridge_day_needed` | string | `"no"` | Whether taking a day off work is needed. |

**Example input**

```json
{
  "year": 2025,
  "country": "US"
}
```

**Example output**

```json
{
  "year": 2025,
  "country": "United States",
  "long_weekends": [
    {
      "days_off": 3,
      "end_date": "2025-01-20",
      "page_link": "https://date.nager.at/publicholiday/united-states/2025",
      "start_date": "2025-01-18",
      "bridge_day_dates": [],
      "bridge_day_needed": "no"
    },
    {
      "days_off": 3,
      "end_date": "2025-02-17",
      "page_link": "https://date.nager.at/publicholiday/united-states/2025",
      "start_date": "2025-02-15",
      "bridge_day_dates": [],
      "bridge_day_needed": "no"
    },
    {
      "days_off": 3,
      "end_date": "2025-05-26",
      "page_link": "https://date.nager.at/publicholiday/united-states/2025",
      "start_date": "2025-05-24",
      "bridge_day_dates": [],
      "bridge_day_needed": "no"
    }
  ]
}
```

### List public holidays

Operation `list_public_holidays`, version 1. 1 credit per call.

List a country’s public holidays for a year, including local names, regional coverage, and holiday types. Coverage varies by country.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `year` | integer | no | `2026` | Calendar year, for example 2026. Defaults to the current year. |
| `country` | string | yes | `"Germany"` | Country name or two-letter country code, for example Germany or DE. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "country"
  ],
  "properties": {
    "year": {
      "type": "integer",
      "maximum": 9999,
      "minimum": 1,
      "description": "Calendar year, for example 2026. Defaults to the current year.",
      "examples": [
        2026
      ]
    },
    "country": {
      "type": "string",
      "description": "Country name or two-letter country code, for example Germany or DE.",
      "examples": [
        "Germany",
        "US"
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "year": 2026,
      "country": "Germany"
    },
    {
      "country": "US"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `year` | integer | `2026` | Calendar year returned. |
| `holidays` | array |  | Holidays in date order. Nationwide holidays have no specific regions. |
| `holidays[].date` | string | `"2026-01-01"` | Holiday date. |
| `holidays[].type` | string | `"Public"` | Holiday classifications, including all applicable types. |
| `holidays[].regions` | array |  | Region names where a regional holiday applies. |
| `holidays[].weekday` | string | `"Thursday"` | Day of the week. |
| `holidays[].page_url` | string | `"https://date.nager.at/PublicHoliday/Country/DE/2026"` | Country holiday calendar page for this year. |
| `holidays[].local_name` | string | `"Neujahr"` | Local holiday name. |
| `holidays[].nationwide` | string | `"yes"` | Whether the holiday applies throughout the country. |
| `holidays[].english_name` | string | `"New Year's Day"` | English holiday name. |
| `holidays[].region_codes` | array |  | ISO region codes where this regional holiday applies. |
| `country_name` | string | `"Germany"` | Name of the country. |

**Example input**

```json
{
  "year": 2026,
  "country": "Germany"
}
```

**Example output**

```json
{
  "year": 2026,
  "holidays": [
    {
      "date": "2026-01-01",
      "type": "Public",
      "regions": [],
      "weekday": "Thursday",
      "page_url": "https://date.nager.at/PublicHoliday/Country/DE/2026",
      "local_name": "Neujahr",
      "nationwide": "yes",
      "english_name": "New Year's Day",
      "region_codes": []
    },
    {
      "date": "2026-01-06",
      "type": "Public",
      "regions": [
        "Baden-Württemberg",
        "Bavaria",
        "Saxony-Anhalt"
      ],
      "weekday": "Tuesday",
      "page_url": "https://date.nager.at/PublicHoliday/Country/DE/2026",
      "local_name": "Heilige Drei Könige",
      "nationwide": "no",
      "english_name": "Epiphany",
      "region_codes": [
        "DE-BW",
        "DE-BY",
        "DE-ST"
      ]
    },
    {
      "date": "2026-03-08",
      "type": "Public",
      "regions": [
        "Berlin",
        "Mecklenburg-Vorpommern"
      ],
      "weekday": "Sunday",
      "page_url": "https://date.nager.at/PublicHoliday/Country/DE/2026",
      "local_name": "Internationaler Frauentag",
      "nationwide": "no",
      "english_name": "International Women's Day",
      "region_codes": [
        "DE-BE",
        "DE-MV"
      ]
    }
  ],
  "country_name": "Germany"
}
```

### List upcoming holidays

Operation `list_upcoming_holidays`, version 1. 1 credit per call.

List a country’s public holidays from today through the next 365 days, with English and local names and applicable regions. Includes up to 50 holidays.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `country` | string | yes | `"United Kingdom"` | Country name or two-letter country code, for example United Kingdom or GB. |
| `max_results` | integer | no | `3` | Maximum number of upcoming holidays, for example 10 (up to 50). |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "country"
  ],
  "properties": {
    "country": {
      "type": "string",
      "description": "Country name or two-letter country code, for example United Kingdom or GB.",
      "examples": [
        "United Kingdom",
        "GB",
        "United States"
      ]
    },
    "max_results": {
      "type": "integer",
      "default": 10,
      "maximum": 50,
      "minimum": 1,
      "description": "Maximum number of upcoming holidays, for example 10 (up to 50).",
      "x-fous-developer": true,
      "examples": [
        3,
        50
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "country": "United Kingdom"
    },
    {
      "country": "GB",
      "max_results": 3
    },
    {
      "country": "United States",
      "max_results": 50
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `holidays` | array |  | Public holidays in date order. |
| `holidays[].date` | string | `"2026-11-30"` |  |
| `holidays[].regions` | string | `"Scotland"` | Applicable region names, or All regions for nationwide holidays. |
| `holidays[].weekday` | string | `"Monday"` |  |
| `holidays[].page_url` | string | `"https://date.nager.at/publicholiday/country/GB/2026"` |  |
| `holidays[].local_name` | string or null | `"Saint Andrew's Day"` |  |
| `holidays[].nationwide` | string | `"no"` |  |
| `holidays[].english_name` | string | `"Saint Andrew's Day"` |  |
| `holidays[].region_codes` | array |  | Subdivision codes for regional holidays; empty for nationwide holidays. |
| `holidays[].days_from_today` | integer | `63` |  |
| `country_name` | string | `"United Kingdom"` | Name of the country. |

**Example input**

```json
{
  "country": "United Kingdom"
}
```

**Example output**

```json
{
  "holidays": [
    {
      "date": "2026-11-30",
      "regions": "Scotland",
      "weekday": "Monday",
      "page_url": "https://date.nager.at/publicholiday/country/GB/2026",
      "local_name": "Saint Andrew's Day",
      "nationwide": "no",
      "english_name": "Saint Andrew's Day",
      "region_codes": [
        "GB-SCT"
      ],
      "days_from_today": 63
    },
    {
      "date": "2026-12-25",
      "regions": "All regions",
      "weekday": "Friday",
      "page_url": "https://date.nager.at/publicholiday/country/GB/2026",
      "local_name": "Christmas Day",
      "nationwide": "yes",
      "english_name": "Christmas Day",
      "region_codes": [],
      "days_from_today": 88
    },
    {
      "date": "2026-12-28",
      "regions": "All regions",
      "weekday": "Monday",
      "page_url": "https://date.nager.at/publicholiday/country/GB/2026",
      "local_name": "Boxing Day",
      "nationwide": "yes",
      "english_name": "St. Stephen's Day",
      "region_codes": [],
      "days_from_today": 91
    }
  ],
  "country_name": "United Kingdom"
}
```

## Quick start

Call the API with a Fous API key (`FOUS_API_KEY`). To create one, turn on Developer mode in Fous Studio, then open Keys & connections → API keys (https://app.fous.com/keys).

```bash
# First set your key: export FOUS_API_KEY='YOUR_FOUS_API_KEY'
: "${FOUS_API_KEY:?Set FOUS_API_KEY before running this example}"

curl 'https://api.fous.com/v1/query' \
  --fail-with-body --silent --show-error --max-time 120 \
  -H "Authorization: Bearer $FOUS_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "api": "@nager-date",
  "visibility": "public",
  "operation": "check_public_holiday",
  "version": 1,
  "input": {
    "date": "2026-07-14",
    "country": "France"
  },
  "response": {
    "format": "json"
  }
}'
```

```python
# Save as fous.py and run with python3 fous.py. No packages needed.
# First set your key: export FOUS_API_KEY='YOUR_FOUS_API_KEY'
import json
import os
import urllib.error
import urllib.request

api_key = os.environ.get("FOUS_API_KEY")
if not api_key:
    raise RuntimeError("Set FOUS_API_KEY before running this example")

body = json.loads("{\n  \"api\": \"@nager-date\",\n  \"visibility\": \"public\",\n  \"operation\": \"check_public_holiday\",\n  \"version\": 1,\n  \"input\": {\n    \"date\": \"2026-07-14\",\n    \"country\": \"France\"\n  },\n  \"response\": {\n    \"format\": \"json\"\n  }\n}")
request = urllib.request.Request(
    "https://api.fous.com/v1/query",
    data=json.dumps(body).encode("utf-8"),
    headers={
        "Authorization": f"Bearer {api_key}",
        "Content-Type": "application/json",
    },
    method="POST",
)
try:
    with urllib.request.urlopen(request, timeout=120) as response:
        result = json.load(response)
except urllib.error.HTTPError as error:
    raise RuntimeError(f"HTTP {error.code}: {error.read().decode('utf-8', errors='replace')}") from error
if result.get("success") is False:
    raise RuntimeError(result.get("error", {}).get("message", "Request failed"))
print(json.dumps(result["data"]["output"], indent=2))
```

```typescript
// Save as fous.mts and run with npx tsx fous.mts.
// First set your key: export FOUS_API_KEY='YOUR_FOUS_API_KEY'
const apiKey = process.env.FOUS_API_KEY;
if (!apiKey) throw new Error("Set FOUS_API_KEY before running this example");

const response = await fetch("https://api.fous.com/v1/query", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${apiKey}`,
    "Content-Type": "application/json",
  },
  signal: AbortSignal.timeout(120_000),
  body: JSON.stringify({
  "api": "@nager-date",
  "visibility": "public",
  "operation": "check_public_holiday",
  "version": 1,
  "input": {
    "date": "2026-07-14",
    "country": "France"
  },
  "response": {
    "format": "json"
  }
}),
});
type ApiResult = { success: boolean; data?: { output: unknown }; error?: { message: string } };
const result: ApiResult = await response.json();
if (!response.ok || result.success === false) {
  throw new Error(result.error?.message ?? `HTTP ${response.status}`);
}
if (!result.data) throw new Error("Missing API response data");
console.log(result.data.output);
```

Or describe the data in plain language: send `{"api":"@nager-date","prompt":"Describe the data you need, with every detail"}` to the same URL. Fous fills in the input, runs the method that fits and returns only the fields you asked for; `data.route.calls[].request` is the exact call it made. Routing is free; the run costs the same.

## Use cases

- Plan staffing around public holidays and regional observances
- Find upcoming holidays for a country
- Check whether a date is a holiday or weekend
- Identify long weekends and days to take off
- Look up country codes and neighbouring countries

## FAQ

### Is Fous affiliated with Nager.Date?

No. Fous is not affiliated with Nager.Date. This workflow reads the public date.nager.at website and returns its data.

### How much does it cost?

Each run costs 1 credit. With pay-as-you-go, a credit costs 1¢; monthly plans cost less per credit.

### Do I need a Nager.Date account?

No. You only need a Fous account.

### How current is the data?

Fous gets the data from date.nager.at when you run it; repeating the same request within a day may return the saved result. Fous checks this workflow automatically; it last passed a check on Sep 30, 2026.

### What public holidays fall in a country this year?

Use List public holidays with a country and year. The year defaults to the current year.

### Is a date a public holiday or weekend?

Use Check public holiday with a date and country. Add a region to include regional holidays.

### When are the long weekends in a country?

Use List long weekends with a country and year. The year defaults to the current year.

## Related

- [Time and Date API](https://fous.com/workflows/time-and-date.md): Time and Date provides current city times, zones, daylight-saving changes; meeting conversions (1970–2030); daily solar times and twilight; and business-day counts based on published holiday calendars.
- [GOV.UK API](https://fous.com/workflows/gov-uk.md): GOV.UK provides summarized current travel advice with linked details, published regional holidays (none for unpublished years), and possible matches on the current UK Sanctions List.
- [ElectionGuide API](https://fous.com/workflows/electionguide.md): ElectionGuide provides worldwide election dates and information, including upcoming elections and referendums within six months and the latest held national election or referendum in a specified year, with results when published.
- [Wikipedia API](https://fous.com/workflows/wikipedia.md): Wikipedia returns article summaries, images, facts, relevant search matches, readable text and daily historical events, plus human-view counts from July 2015 onward.
- [Investing.com API](https://fous.com/workflows/investing-com.md): Investing.com provides financial markets data and news, economic releases up to 31 days, and current commodity prices and government bond yields, which may be delayed or indicative.
- [Yahoo Finance API](https://fous.com/workflows/yahoo-finance.md): Yahoo Finance provides quotes, movers, company financials, analyst ratings, earnings, news, and up to 5,000 price rows with adjusted returns; prices may be delayed.
- [NASA API](https://fous.com/workflows/nasa.md): NASA provides astronomy pictures from June 16, 1995 onward, up to 100 media matches, inclusive UTC asteroid approaches, recent approximate natural events, and upcoming ISS sightings for listed cities.
- [Nasdaq API](https://fous.com/workflows/nasdaq.md): Nasdaq provides market activity, scheduled earnings by date with fiscal quarter-end month, monthly US IPO listings, and dated ex-dividend entries; dividend histories cover Nasdaq-listed stocks only.
- [All Productivity workflows](https://fous.com/workflows/category/productivity)
