API v1 · stable · CC-BY-4.0

Finnish public holidays as JSON

Free, open, no auth. One URL gets you every Finnish public holiday and long-weekend opportunity for the year.

Try it

One curl, one JSON file. No keys, no signup.

terminalSample session · response truncated
$ curl https://vapaapaivat.com/api/v1/fi/holidays/2026.json
# 200 OK · application/json

{
  "apiVersion": "1",
  "jurisdiction": "FI",
  "year": 2026,
  "timezone": "Europe/Helsinki",
  "holidays": [
    {
      "id": "newyear",
      "date": "2026-01-01",
      "name": {
        "fi": "Uudenvuodenpäivä",
        "en": "New Year's Day",
        "sv": "Nyårsdagen",
        "et": "uusaasta",
        "ru": "Новый год",
        "uk": "Новий рік",
        "ar": "رأس السنة الميلادية"
      },
      "official": true,
      "weekend": false,
      "businessDay": false
    }
  ]
}

Endpoints

Two routes today, both returning a single JSON file per year. Pick one to see its shape.

Endpoint
GET /api/v1/fi/holidays/{year}.json
Example
https://vapaapaivat.com/api/v1/fi/holidays/2026.json

Dates, names, and whether each date is an official holiday, weekend, or business day. Use a year from 2000 to 2099. The /fi/ path segment identifies Finland.

Top-level response

FieldTypeDescription
apiVersionstringAPI version
jurisdictionstringCountry, FI
yearnumberCalendar year
timezonestringTimezone Europe/Helsinki
holidaysarrayHoliday item fields

Holiday item fields

FieldTypeDescription
idstringStable holiday identifier
datestringISO date, YYYY-MM-DD
nameobjectNames in fi, sv, en, ar, ru, uk, and et
officialbooleanOfficial public holiday
weekendbooleanFalls on Saturday or Sunday
businessDaybooleanFinnish business day
Endpoint
GET /api/v1/fi/long-weekends/{year}.json
Example
https://vapaapaivat.com/api/v1/fi/long-weekends/2026.json

Vacation days that can turn public holidays and weekends into longer breaks. Use a year from 2000 to 2099. The /fi/ path segment identifies Finland.

Top-level response

FieldTypeDescription
apiVersionstringAPI version
jurisdictionstringCountry, FI
yearnumberCalendar year
timezonestringTimezone Europe/Helsinki
longWeekendsarrayLong-weekend item fields

Long-weekend item fields

FieldTypeDescription
startDatestringStart of the break, YYYY-MM-DD
endDatestringEnd of the break, YYYY-MM-DD
vacationDaysstring[]Vacation days to use
vacationDayCountnumberNumber of vacation days
totalDaysOffnumberConsecutive days off
efficiencynumberDays off per vacation day
seasonstringwinter or summer
jsonResponse · truncated
{
  "apiVersion": "1",
  "jurisdiction": "FI",
  "year": 2026,
  "longWeekends": [
    {
      "startDate": "2026-04-03",
      "endDate": "2026-04-06",
      "vacationDays": [],
      "vacationDayCount": 0,
      "totalDaysOff": 4,
      "efficiency": null,
      "season": "spring"
    }
  ]
}

Stability

v1 is stable. New years roll out each November. Non-breaking additions stay in v1; any breaking change ships under /api/v2/.

Spot a wrong date or a missing language? Report it. Looking for municipal school-holiday data? See datasets. openapi.json