Central bank exchange rates for one or more central banks.
Returns the exchange rates each requested central bank publishes: the exchangeRates side of /v2/central_bank. Rates keep the direction the bank publishes them in, so fromCurrency is not always the bank's own currency.
Requires the Central bank exchange & interest rates add-on. See Data plans.
Exchange rates are returned once their effective date has arrived in the bank's local time zone. Some banks publish the next day's rate in advance (for example RUS): /v1/central_bank_rate returns it as soon as it is published, this endpoint from the date it is effective for.
Each exchange rate pair returned counts as one rate request.
Also available as XML and CSV by appending .xml or .csv to the path.
https://xecdapi.xe.com/v2/central_bank/exchange_rate.csv?bank_code=CAN&iso=*
API key created on your Xe Currency Data account's API page, sent as a Bearer token in the Authorization header.
In: header
Query Parameters
REQUIRED - One or more central bank codes, comma-separated (for example BRA,CAN), or an asterisk * for every supported bank. Codes are case-insensitive. /v2/central_bank/metadata lists the codes. An asterisk returns every rate from every bank, which can use thousands of rate requests in one call, so list the codes of the banks you need or limit the currencies with iso.
OPTIONAL - Comma-separated list of ISO 4217 currency codes that limits the rates returned. A pair is returned when either of its currencies matches. Use an asterisk * or omit the parameter for all currencies.
OPTIONAL - YYYY-MM-DD format - request the rates in effect on a past date, in the bank's local time zone. Each bank returns the most recent rates published on or before that date, so check the date in the response. A future date returns 400. Unlike /v1/central_bank_rate, bid and ask are available for past dates. exchangeRates.ratesFrom in /v2/central_bank/metadata is the earliest date available.
OPTIONAL - Comma-separated list of rate fields, one or more of "mid", "bid" or "ask". Bid and ask are returned only for banks that publish them.
"mid"OPTIONAL - If true, each rate is inverted and its currencies swapped: mid becomes 1/mid, bid becomes 1/ask and ask becomes 1/bid. Inverted rates are rounded to 10 decimal places unless decimal_places is set.
falseOPTIONAL - Amount to convert. Each rate is multiplied by this amount. Must be greater than 0.
1OPTIONAL - Number of decimal places, from 1 to 20. If omitted, rates keep the precision the bank publishes.
Response Body
application/json
application/json
application/json
application/json
application/json
text/plain
curl -X GET "https://example.com/v2/central_bank/exchange_rate?bank_code=string"{ "terms": "https://www.xe.com/legal", "privacy": "https://www.xe.com/privacy", "centralBanks": [ { "bankCode": "BRA", "name": "Central Bank of Brazil", "currency": "BRL", "timezone": "America/Fortaleza", "exchangeRates": { "date": "2026-10-09", "amount": 1, "rates": [ { "fromCurrency": "EUR", "toCurrency": "BRL", "mid": 5.58355, "bid": 5.5827, "ask": 5.5844 }, { "fromCurrency": "USD", "toCurrency": "BRL", "mid": 4.9889, "bid": 4.9886, "ask": 4.9892 } ] } } ]}{ "code": 34, "message": "Unsupported bank code 'ZZZ'", "documentation_url": "https://developers.xe.com/docs/currency-data-api"}{ "code": 1, "message": "Bad credentials", "documentation_url": "https://developers.xe.com/docs/currency-data-api"}{ "code": 16, "message": "Endpoint not authorized. Feature missing: central-bank-rates-v2", "documentation_url": "https://developers.xe.com/docs/currency-data-api"}{ "code": 4, "message": "Current interval rate limit exceeded.", "documentation_url": "https://developers.xe.com/docs/currency-data-api"}"An unexpected error occurred"Convert from one base currency to one or multiple counter currencies. GET
**This feature is in beta.** Access and functionality may evolve. If you’d like to participate, please sign up for our free trial. This endpoint provides **indicative spot bid-ask pricing**, updated **every 10 seconds** and sourced from aggregated institutional liquidity. Data is **informational only** and may contain inaccuracies during the beta phase. ## Endpoint Example [https://xecdapi.xe.com/v1/bid_ask?from=GBP&to=EUR,USD](https://xecdapi.xe.com//v1/bid_ask?from=GBP&to=EUR,USD) ## Supported Currencies The Bid & Ask (Beta) endpoint supports the following currencies: **AUD, BRL, CAD, CHF, CNH, DKK, EUR, GBP, JPY, NOK, NZD, PLN, SEK, USD** Any pair can be requested in either direction (as **from** or **to**), with the following exceptions involving **CNH** (offshore Chinese yuan): - CNH is not available with **BRL**, **DKK**, or **PLN** in either direction. - CNH is supported only as the target currency for **NOK** and **SEK**: **from=NOK&to=CNH** and **from=SEK&to=CNH** are available, but **from=CNH&to=NOK** and **from=CNH&to=SEK** are not. The rates provided are indicative spot bid-ask prices derived from aggregated institutional liquidity sources and refreshed every 10 seconds. As this feature is in beta, behaviour and coverage may change, and occasional inaccuracies or inconsistencies may occur. These rates are intended for informational use only and should not be relied upon for financial reporting or decision-making.
Central bank policy interest rates for one or more central banks. GET
Returns the policy interest rate for each requested central bank: the `interestRate` side of `/v2/central_bank`. Only some central banks publish one; `interestRates.published` in `/v2/central_bank/metadata` shows which. Requires the Central bank exchange & interest rates add-on. See [Data plans](https://developers.xe.com/docs/currency-data-api/data-plans). The European Central Bank sets the policy rate for the euro area, so the code of a euro area national bank returns the European Central Bank's rate, under `ECB`. Each interest rate returned counts as one rate request. Also available as XML and CSV by appending `.xml` or `.csv` to the path. [https://xecdapi.xe.com/v2/central_bank/interest_rate.csv?bank_code=*](https://xecdapi.xe.com/v2/central_bank/interest_rate.csv?bank_code=*)