/v1/next_settlement_dateFinds the next valid settlement date.
Last Updated: 2026-06-21
This endpoint determines the very next valid settlement date immediately following the provided base date. It ensures that the returned date is a business day according to the specified calendar, effectively skipping any non-settlement days.
GET https://fincalapi.com/v1/next_settlement_date
| Name | Type | Required | Description |
|---|---|---|---|
date |
string | ✅ Yes | Base date in `YYYY-MM-DD` format (e.g., `2025-01-01`). |
calendar |
string | ✅ Yes | Holiday calendar to use (e.g., `SIFMA-US`, `NYSE`). |
format |
string | No (Default: `json`) | Response format: `json`, `text`, `plain`, `html`, `csv`. |
Get the next settlement date for a date in cell `A2` on the `SIFMA-US` calendar. Pass your API key as the api_key parameter:
=WEBSERVICE("https://fincalapi.com/v1/next_settlement_date?date="&TEXT(A2,"YYYY-MM-DD")&"&calendar=SIFMA-US&api_key=fincal_live_YOUR_KEY_HERE")
Security note: The api_key parameter works but your key appears in server logs and Excel's formula bar. For better security, use Power Query (Excel 2016+) with the Authorization header instead.
Excel 2016+ supports custom HTTP headers in Power Query, keeping your key out of the URL:
let
ApiKey = "fincal_live_YOUR_KEY_HERE",
Source = Web.Contents(
"https://fincalapi.com/v1/next_settlement_date?date=2025-12-25&calendar=SIFMA-US",
[Headers = [Authorization = "Bearer " & ApiKey]]
),
Result = Json.Document(Source)
in
Result
Automate finding the next settlement date:
Function GetNextSettlementDate(targetDate As String, calendarName As String) As String
Dim http As Object
Set http = CreateObject("MSXML2.XMLHTTP")
Dim url As String
url = "https://fincalapi.com/v1/next_settlement_date?date=" & targetDate & "&calendar=" & calendarName
http.Open "GET", url, False
http.setRequestHeader "Authorization", "Bearer fincal_live_YOUR_KEY_HERE"
http.Send
GetNextSettlementDate = http.responseText
End Function
' Example: MsgBox GetNextSettlementDate("2025-12-25", "NYSE")
Import the next settlement date into your Google Sheet using the api_key query parameter:
=IMPORTDATA("https://fincalapi.com/v1/next_settlement_date?date=2025-12-25&calendar=SIFMA-US&api_key=fincal_live_YOUR_KEY_HERE")
Find the next settlement date programmatically:
import requests
import json
API_KEY = "fincal_live_YOUR_KEY_HERE"
base_url = "https://fincalapi.com/v1/next_settlement_date"
params = {
"date": "2025-12-25", # Christmas Day, a holiday
"calendar": "SIFMA-US"
}
response = requests.get(base_url, params=params, headers={"Authorization": f"Bearer {API_KEY}"})
if response.status_code == 200:
data = response.json()
print(json.dumps(data, indent=2))
# Expected output (assuming Dec 26, 2025 is a business day):
# {
# "input_date": "2025-12-25",
# "calendar": "SIFMA-US",
# "next_settlement_date": "2025-12-26"
# }
else:
print(f"Error: {response.status_code} - {response.text}")
Get the next settlement date from the command line:
curl -H "Authorization: Bearer fincal_live_YOUR_KEY_HERE" \
"https://fincalapi.com/v1/next_settlement_date?date=2025-01-01&calendar=NYSE"