Brazil is Latin America’s largest economy and a major exporter of commodities such as soybeans, iron ore and oil. The real is widely traded for an emerging-market currency and can move sharply with commodity prices, domestic politics and global risk appetite. The fxapi BRL exchange rate API returns real rates against 190+ currencies – and, unusually, its history covers the currency’s switch to a floating exchange rate.
BRL facts for developers
- Where it’s used: Brazil.
- Symbol and formatting:
R$before the amount, a period as thousands separator and a comma as decimal separator:R$ 1.234,56. - Minor unit: 2 decimals (centavos).
- Central bank: Banco Central do Brasil (BCB), which also publishes the PTAX reference rate.
- Regime: free float with an inflation target. The real was introduced in 1994 under the Plano Real and initially managed against the US dollar.
- Events in the historical data: after a devaluation attempt on 13 January 1999, Brazil let the real float on 15 January 1999 – the sample date on this page – and it lost a large part of its value against the dollar in the following weeks. Election-related volatility in 2002 and the 2015–2016 recession also left clear marks in the data.
Get BRL rates with the fxapi API
/v1/historical and /v1/latest work on every plan. This JavaScript snippet (Node 18+) compares USD/BRL before and after the 1999 float with today’s rate and formats a converted amount for Brazilian users:
const API = "https://api.fxapi.com/v1";
const headers = { apikey: process.env.FXAPI_KEY };
const brl = new Intl.NumberFormat("pt-BR", { style: "currency", currency: "BRL" });
async function usdBrl(date) {
const path = date ? `historical?date=${date}¤cies=BRL` : "latest?currencies=BRL";
const res = await fetch(`${API}/${path}`, { headers });
if (!res.ok) throw new Error(`fxapi ${res.status}`);
return (await res.json()).data.BRL.value;
}
for (const date of ["1999-01-12", "1999-01-29", null]) {
const rate = await usdBrl(date);
console.log(`${date ?? "latest"}: US$1,000 = ${brl.format(1000 * rate)}`);
}
For a percentage change over any period, the free fluctuation endpoint does it in one request. More: historical exchange rates API, JavaScript guide, and the other big Latin American currency, the Mexican peso.
Things to watch
- PTAX vs market. Contracts and tax rules in Brazil often specify PTAX – use it where required, and fxapi for pricing and analytics.
- Locale formatting.
R$ 1.234,56is easily misparsed by code that expects1,234.56; never parse formatted strings back into numbers. - Volatility. The real can move several percent in a week; refresh cached rates accordingly.
Popular BRL pairs
Request any of these pairs – or any other combination of the 190+ supported currencies – with base_currency=BRL:
| Pair | Latest rate request |
|---|---|
| BRL/USD | /v1/latest?base_currency=BRL¤cies=USD |
| BRL/EUR | /v1/latest?base_currency=BRL¤cies=EUR |
| BRL/ARS | /v1/latest?base_currency=BRL¤cies=ARS |
| BRL/CNY | /v1/latest?base_currency=BRL¤cies=CNY |
| BRL/GBP | /v1/latest?base_currency=BRL¤cies=GBP |
| BRL/MXN | /v1/latest?base_currency=BRL¤cies=MXN |
| BRL/CLP | /v1/latest?base_currency=BRL¤cies=CLP |
Monthly averages and fluctuation for BRL
# Monthly average BRL rates for 2025 (IAS 21 / ASC 830)
curl -G "https://api.fxapi.com/v1/average" \
-d date_from=2025-01-01 -d date_to=2025-12-31 -d period=month \
-d base_currency=BRL -d currencies=USD,EUR,ARS \
-H "apikey: $FXAPI_KEY"
# How did BRL move over the last year?
curl -G "https://api.fxapi.com/v1/fluctuation" \
-d date_from=2025-10-01 -d date_to=2026-10-01 \
-d base_currency=BRL -d currencies=USD,EUR,ARS \
-H "apikey: $FXAPI_KEY"See the historical exchange rates API, average rates API and documentation for every parameter.
BRL is one of 190+ currencies in fxapi, the foreign exchange rates API for developers – live rates, daily history since 1999 and monthly averages with one API key.
Frequently asked questions
How do I get the USD to BRL exchange rate via API?
/v1/latest?currencies=BRL with your key in the apikey header. With USD as the default base, the value is reais per 1 US dollar.Does fxapi have historical real rates before 1999?
How do I format reais for Brazilian users?
pt-BR locale: new Intl.NumberFormat('pt-BR', { style: 'currency', currency: 'BRL' }) renders R$ 1.234,56.