Current exchange rates API
Request current rates by base and quote currencies.
One base unit equals each returned quote. REST and fx_get_rates use the same schema.
Request
REST
curl --request GET \
--url "https://api.narwhalapi.com/v1/fx/rates/USD?currencies=EUR,JPY" \
--header "Authorization: Bearer $NARWHAL_API_KEY"| Parameter | Rule |
|---|---|
base | Required uppercase circulating ISO 4217 code. |
currencies | Optional list of 1–64 unique quote currencies. Omit it for all supported quotes. |
Response
200 OK
{
"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
}
]
}Rates are ordered records, not dynamic keys. Every rate keeps its own timestamp and stale state.
Freshness
market_session is open, weekend, or interbank_closed. A weekend response can remain usable when its timestamp and stale state are clear.
On Basic and Pro, the prices stream sends each rate when it changes, in the same format. Prices stream reference
Errors
400 invalid_query · 401 invalid_api_key · 404 currency_not_supported · 429 quota_exhausted · 503 upstream_unavailable
Docs