Skip to content

Google Sheets

IMPORTDATA loads a URL’s text or CSV into the sheet. With format=text, the holidays endpoint returns one date per line for one calendar.

Replace YOUR_KEY with an API key from your dashboard. Anyone who can open the file can read the key, so give spreadsheets their own key and revoke it if the file is shared too widely.

A calendar’s closures for 2027, one per row:

=IMPORTDATA("https://api.financecalendarapi.com/v1/holidays?calendars=XLON&from=2027-01-01&to=2027-12-31&kind=holiday&format=text&key=YOUR_KEY")

Use that range with WORKDAY and NETWORKDAYS:

=WORKDAY(A2, 2, Holidays!A:A)

One answer in a cell, such as whether the date in A2 is a business day for EUR settlement (TARGET2):

=IMPORTDATA("https://api.financecalendarapi.com/v1/days/" & TEXT(A2,"yyyy-mm-dd") & "?calendars=EUR&format=text&key=YOUR_KEY")

The full table, with names and close times, as CSV:

=IMPORTDATA("https://api.financecalendarapi.com/v1/holidays?calendars=XNYS,XLON&from=2027-01-01&to=2027-12-31&format=csv&key=YOUR_KEY")

Google refreshes IMPORTDATA about once an hour. Each formula is a request; keep a sheet under about 50 of them.