🇺🇾 Uruguay · 13 public holidays · Updated 2026

Uruguay Holiday API

Uruguay is the only country in Latin America where religious holiday names are replaced by secular ones by law. "Semana Santa" is "Semana de Turismo", "Navidad" is "Día de la Familia" — and Carnaval is 2 official national holidays. The API returns official names exactly as defined by the Uruguayan government.

Free plan includes commercial use · no credit card required

Why Uruguay's calendar can't be hardcoded

Uruguay's holiday system is one of the most distinct in the region — a combination of secular renaming, unique observances, and extended holiday windows that don't exist in any other LATAM country.

Legal distinction
Secular holiday names

Since 1919, Uruguay officially replaced religious names with secular ones. 'Semana Santa' is 'Semana de Turismo', 'Navidad' is 'Día de la Familia', 'Reyes' is 'Día de los Niños'. Your app must use the official names — not what the rest of LATAM calls them.

Unique to Uruguay
Carnaval: 2 full holidays

Uruguay is the only country in Latin America where Carnaval Monday and Tuesday are official national non-working days. If your system handles multi-country operations, no other country in the region grants these 2 days.

Extended window
Semana de Turismo: 4+ days

Most countries observe 1–2 days around Easter. Uruguay shuts down for the full Semana de Turismo — Thursday through Sunday at minimum, sometimes with adjacent Monday decreed. Static lists miss the extra declared days.

API response for Uruguay

The name field returns the official Uruguayan secular name — not the religious equivalent used in other countries.

GET /v1/UY/holidays/2026
{
  "success": true,
  "data": [
    {
      "date": "2026-02-16",
      "name": "Carnaval",
      "type": "national"
    },
    {
      "date": "2026-02-17",
      "name": "Carnaval",
      "type": "national"
    },
    {
      "date": "2026-04-02",
      "name": "Jueves de Semana de Turismo",
      "type": "national"
    },
    {
      "date": "2026-04-03",
      "name": "Viernes de Semana de Turismo",
      "type": "national"
    }
  ],
  "meta": { "country": "UY", "year": 2026, "total": 13 }
}
GET /v1/UY/is-business-day?date=2026-02-17
{
  "success": true,
  "data": {
    "date": "2026-02-17",
    "is_business_day": false,
    "holiday_name": "Carnaval"
  },
  "meta": { "country": "UY" }
}

Endpoints for Uruguay

Replace :country with UY. Free plan includes holidays, is-business-day, and next-holiday.

GET /v1/UY/holidays/:year Free

All public holidays for Uruguay in a given year. Returns official secular names as defined by Uruguayan law.

"total": 13, "name": "Día de la Familia"
GET /v1/UY/is-business-day?date=YYYY-MM-DD Free

Check if a date is a business day in Uruguay. Returns holiday name if the date is a public holiday.

"is_business_day": false, "holiday_name": "Carnaval"
GET /v1/UY/business-days/add?date=YYYY-MM-DD&days=N Starter

Add N business days to a date, skipping weekends and Uruguayan holidays including Carnaval and Semana de Turismo.

"result_date": "2026-02-20"
GET /v1/UY/business-days/between?from=YYYY-MM-DD&to=YYYY-MM-DD Starter

Count business days between two dates, excluding Uruguayan holidays.

"business_days": 18
GET /v1/UY/last-business-day?date=YYYY-MM-DD Starter

Get the last business day of the month for the given date. Used for billing cycles and accounting cutoffs.

"last_business_day": "2026-04-30"

Scheduling payments around Carnaval in Uruguay

Carnaval Monday and Tuesday are non-working days unique to Uruguay. A payment processor handling Uruguayan customers must skip these dates explicitly.

Node.js · Free plan
const API = "https://api.feriados.io/v1";
const KEY = process.env.FERIADOS_API_KEY;

async function resolveUruguayPaymentDate(date) {
  const res = await fetch(
    `${API}/UY/is-business-day?date=${date}`,
    { headers: { Authorization: `Bearer ${KEY}` } }
  );
  const { data } = await res.json();

  if (data.is_business_day) return date;

  // Advance to next business day (common for Uruguayan billing)
  const next = await fetch(
    `${API}/UY/business-days/add?date=${date}&days=1`,
    { headers: { Authorization: `Bearer ${KEY}` } }
  );
  const { data: shifted } = await next.json();
  return shifted.result_date;
}

// Carnaval Tuesday → shifts to Wednesday
const paymentDate = await resolveUruguayPaymentDate("2026-02-17");
// → "2026-02-18"

Common use cases for Uruguay

The same API key works for all 11 LATAM countries — Uruguay is just the country code.

High-risk months for Uruguay in 2026

These are the months where date calculation bugs are most likely to surface in production.

February
High

Carnaval: Feb 16 (Mon) + Feb 17 (Tue) — 2 official national holidays. No other LATAM country grants these days off.

April
High

Semana de Turismo: Thu Apr 2 + Fri Apr 3 (official). Extended window may include Mon Apr 6 if decreed — 4-day gap minimum.

July
Medium

Constitución (Jul 18, Sat in 2026). Potential observed day on Fri Jul 17 depending on decree — affects payroll cutoffs.

August
Low–Medium

Independencia (Aug 25, Tue in 2026). Back-to-back with weekend if near Friday — creates a 3-day window.

Also available for 10 more LATAM countries

Same API, same endpoints — just swap the country code.

Ready for production

Free API key in 30 seconds. Free plan includes is-business-day for Uruguay with commercial use. Starter plan from $9/mo for full operational logic.