Skip to content

Excel

WEBSERVICE (Excel 2013 and later, on Windows) fetches a URL into a cell. With format=text the API answers with one bare value.

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.

Is the date in A2 a business day on the NYSE?

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

Returns the text true or false; compare it, =WEBSERVICE(...)="true", for a real TRUE or FALSE.

T+2 settlement date for a USD trade on the NYSE, from the trade date in A2:

=DATEVALUE(WEBSERVICE("https://api.financecalendarapi.com/v1/business-days/add?date=" & TEXT(A2,"yyyy-mm-dd") & "&n=2&calendars=USD,XNYS&format=text&key=YOUR_KEY"))

Format the cell as a date.

For WORKDAY and NETWORKDAYS, load a calendar’s closures into a table once and refresh it when you need to.

  1. Data → Get Data → From Other Sources → From Web.
  2. Enter:
    https://api.financecalendarapi.com/v1/holidays?calendars=XNYS&from=2026-01-01&to=2028-12-31&kind=holiday&format=csv&key=YOUR_KEY
  3. Load it. Name the date column’s range Holidays.
  4. Use it: =WORKDAY(A2, 2, Holidays).

kind=holiday leaves out early closes, which are still business days. Refresh with Data → Refresh All.

  • Each cell’s WEBSERVICE is one request, counted against your plan. For hundreds of rows, use the Power Query table with WORKDAY instead.
  • Excel for Mac and Excel on the web don’t have WEBSERVICE; use Power Query, or Google Sheets.