API Reference
/volatility Endpoint
Annualized volatility of a currency vs a base, or a stability ranking of the major currencies, in one call.
Endpoint
GET https://api.currency-core.com/v1/volatility
Measures how much a currency moves against a base: the annualized volatility
of its daily returns over a window. Name one or more currencies to measure or
compare them; omit the currency to get a stability ranking of the major
liquid currencies.
Plan requirement
/v1/volatility is available on the Growth plan and higher (same entitlement
as /history). Free / Starter keys receive HTTP 403 forbidden.
Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
currency | string | No | Currency to measure (3-letter ISO 4217), or a comma-separated list to compare. Omit to rank the liquid set by stability. |
base | string | No | Base currency to measure against. Default USD. |
from | string | No | Window start YYYY-MM-DD (UTC). Default: 365 days before to. |
to | string | No | Window end YYYY-MM-DD (UTC). Default: today. |
sort | string | No | Ranking direction: stable (least volatile first, default) or volatile. |
universe | string | No | Ranking universe: liquid (default, broad set) or majors (USD/EUR/GBP/JPY/CHF/CAD/AUD/NZD). Use majors for “most volatile major pair”. |
limit | number | No | Ranking: how many to return (default 10, max 50). |
How it’s calculated
Volatility is the sample standard deviation of daily returns, annualized over
365 calendar days, in percent (stdev × √365 × 100). The response’s basis is
annualized-daily. Our series is calendar-dense (gaps carried forward), so this is
a consistent comparison figure rather than a trading-day (252) number. Lower =
more stable.
Examples
Volatility of EUR and GBP vs USD over the last year (compare):
curl "https://api.currency-core.com/v1/volatility?currency=EUR,GBP&base=USD" \
-H "Authorization: Bearer cc_live_your_key"const res = await fetch(
"https://api.currency-core.com/v1/volatility?currency=EUR,GBP&base=USD",
{ headers: { Authorization: "Bearer cc_live_your_key" } },
);
const { results } = await res.json();
console.log(results[0].currency, results[0].volatility);import requests
res = requests.get(
"https://api.currency-core.com/v1/volatility",
params={"currency": "EUR,GBP", "base": "USD"},
headers={"Authorization": "Bearer cc_live_your_key"},
)
print(res.json()["results"]){
"base": "USD", "from": "2025-06-17", "to": "2026-06-17",
"mode": "compare", "basis": "annualized-daily",
"results": [
{ "currency": "EUR", "volatility": 6.42, "observations": 365 },
{ "currency": "GBP", "volatility": 7.88, "observations": 365 }
]
}
Most stable currencies vs USD over 5 years (ranking):
curl "https://api.currency-core.com/v1/volatility?base=USD&period=5y&sort=stable&limit=10" \
-H "Authorization: Bearer cc_live_your_key"
Most volatile major pair (ranking, majors only):
curl "https://api.currency-core.com/v1/volatility?base=USD&universe=majors&sort=volatile&limit=1" \
-H "Authorization: Bearer cc_live_your_key"
(Use from/to for an exact window; sort=volatile for the least stable.)
Errors
| Status | Code | When |
|---|---|---|
400 | invalid_input | bad base/currency/sort, or from after to. |
403 | forbidden | Your plan is below Growth (Free / Starter). |