Clear rates
One base unit equals the returned quote.
Read the methodology →Current rates, currency conversion, and historical FX data with one key.
curl --request GET \
--url "https://api.narwhalapi.com/v1/fx/rates/USD?currencies=EUR,JPY" \
--header "Authorization: Bearer $NARWHAL_API_KEY"{
"base": "USD",
"market_session": "open",
"rates": [
{
"currency": "EUR",
"rate": "0.9200",
"timestamp": "2026-08-22T06:29:41Z",
"stale": false
},
{
"currency": "JPY",
"rate": "147.23",
"timestamp": "2026-08-22T06:29:39Z",
"stale": false
}
]
}/v1/fx/rates/{base}/v1/fx/convert/v1/fx/rates/{base}/observationsOne base unit equals the returned quote.
Read the methodology →Each rate has its own timestamp and stale state.
Open, weekend, or interbank closed show market context.
Currencies, dates, limits, and gaps.
One unit of the base equals the returned amount of the quote currency.
Yes. History uses genuine stored dates, bounded pages, and opaque cursors.
The latest accepted rate can remain available with its timestamp, stale state, and weekend market session.
No. Rates and conversions are indicative, not dealer quotes or official fixings.