All APIs

FX API

Current rates, currency conversion, and historical FX data with one key.

First request

Quickstart
curl --request GET \
  --url "https://api.narwhalapi.com/v1/fx/rates/USD?currencies=EUR,JPY" \
  --header "Authorization: Bearer $NARWHAL_API_KEY"
Example response Illustrative response · not a live request
{
  "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
    }
  ]
}

Endpoints

GETCurrent rates/v1/fx/rates/{base}
GETCurrency conversion/v1/fx/convert
GETHistorical rates/v1/fx/rates/{base}/observations

Sources and methodology

Freshness

Each rate has its own timestamp and stale state.

Market context

Open, weekend, or interbank closed show market context.

Currencies, dates, limits, and gaps.

Developer guides

Common questions

What does an FX rate mean?

One unit of the base equals the returned amount of the quote currency.

Does the API include historical rates?

Yes. History uses genuine stored dates, bounded pages, and opaque cursors.

What happens on weekends?

The latest accepted rate can remain available with its timestamp, stale state, and weekend market session.

Are these executable dealer quotes?

No. Rates and conversions are indicative, not dealer quotes or official fixings.

Make your first request

Get a free API key