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 field | Explanation |
|---|---|
| date | Day on which the holiday is observed. |
| name_es / name_en | Name of the holiday in Spanish and in English. |
| type | paid_non_working: paid and non-working. working: working day. |
| category | fixed (not moved), movable (moved to a Monday), carnival, tourism_week or inauguration. |
| original_date | Day it falls on by its anniversary, if it was moved to another day. Otherwise null. |
| legal_basis | Law or rule the date is based on. |
| confirmed | false when the way of counting has no official source we could read (Tourism Week). |
| country | Country. 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"])- Parameters: year (a whole year), or from and to (YYYY-MM-DD, up to about 10 years); type (paid_non_working or working) and country (only uy for now). Without parameters, it returns the current year.
- Limit: 300 requests per hour per IP.
- Errors: 400 if a parameter is not valid and 429 if you go over the request limit.
- Power BI: in Get data > Blank query > Advanced editor, paste the code and choose Anonymous access.

