Holidays

Public holidays of Uruguay, computed from the law. Choose the year.

Loading holidays…

What each field means

There is no official yearly list to download, so each date is computed with the rules of the law and keeps its legal basis. The explanations are mine.

API fieldExplanation
dateDay on which the holiday is observed.
name_es / name_enName of the holiday in Spanish and in English.
typepaid_non_working: paid and non-working. working: working day.
categoryfixed (not moved), movable (moved to a Monday), carnival, tourism_week or inauguration.
original_dateDay it falls on by its anniversary, if it was moved to another day. Otherwise null.
legal_basisLaw or rule the date is based on.
confirmedfalse when the way of counting has no official source we could read (Tourism Week).
countryCountry. Only uy for now.

Good to know

  • Paid, non-working (Ley 12.590, art. 18): the worker is paid for the day even if they do not work and, if they do, gets double pay. They are 1 January, 1 May, 18 July, 25 August and 25 December. On working holidays the employer may require work; collective agreements can change the conditions.
  • Holidays declared by law that fall on a Tuesday or Wednesday move to the previous Monday, and those that fall on a Thursday or Friday move to the next Monday (Ley 16.805). Not moved: Carnival, Tourism Week, 1 and 6 January, 1 May, 19 June, 18 July, 25 August, 2 November and 25 December.
  • The law names Tourism Week but does not say which days it has. It is shown from Monday to Sunday of Easter week, as reported by the press, and marked as not confirmed.
  • 1 March is a non-working holiday the year the president takes office (2020, 2025, 2030).
  • One day can have more than one holiday: 19 April 2025 fell inside Tourism Week.
  • It does not include one-year holidays (for example, a census day) or those of a sector or agreement. If one is missing, contact me from the author page.

Use this data in your systems

The API is public and free: it returns the holidays in JSON format, with no sign-up.

import requests

URL = "https://apitool.techspot365.com/api/v1/holidays"

# Paid, non-working holidays of 2026
response = requests.get(
    URL,
    params={"year": 2026, "type": "paid_non_working"},
    timeout=30,
)
response.raise_for_status()
result = response.json()

for holiday in result["data"]:
    print(holiday["date"], holiday["name_es"])