BCRA Rate API

BCRA Rate API

You need BCRA’s monetary policy rate inside your software, with reliable timestamps and programmatic access for charts, models, and loan math. By the end of this guide, you’ll know exactly how to pull BCRA_RATE from the Interest Rates API, interpret the fields (value, effective date, currency), analyze changes over time, and integrate the data into fintech dashboards, pricing engines, and risk workflows.

What the BCRA Monetary Policy Rate Is (BCRA_RATE) and Why It Matters

BCRA_RATE represents the Banco Central de la República Argentina’s policy rate, the primary lever for short-term monetary policy in Argentina. As a central-bank benchmark, it informs domestic funding costs, loan pricing, and macro risk premia. In the Interest Rates API, BCRA_RATE is a central bank symbol with monthly frequency (effective per business-day observations within a month). Developers and analysts use it to:

Illustration: BCRA Rate API
  • Price ARS-linked credit products and assess sensitivity to policy changes.
  • Build macro dashboards and automated alerting on central bank moves.
  • Compare the interest cost impact versus other central bank benchmarks.

All examples below use the official REST interface at interestratesapi.com and follow the same pattern: GET requests to https://interestratesapi.com/api/v1/ with api_key authentication via a query string. To experiment quickly, Register for Interest Rates API and Interest Rates API MCP.

API Basics You’ll Use for BCRA_RATE

  • Base URL: https://interestratesapi.com/api/v1/
  • Authentication: append ?api_key=YOUR_API_KEY to every request URL.
  • HTTP: all endpoints are GET.
  • Symbols: use exact identifiers; BCRA_RATE is the focus here.
  • Frequency: BCRA_RATE is monthly. The API may still expose values per business day within a month; for historical requests, “the last day with data within that month” is used.
  • Units: rates are returned as numeric values (percent per annum). Do not assume compounding; compounding models are up to the client.
  • Effective dates: read the date field and dates map for the precise effective date used for each symbol.

For comprehensive reference models and schema, see the MCP. To get an API key now, use Register.

Catalogue: Find and Inspect Rate Symbols

Use /symbols to list available benchmarks. Filter by category or currency when exploring the catalogue. The following is the official sample request/response for central bank rates (filters shown are illustrative of usage):

curl -s "https://interestratesapi.com/api/v1/latest?api_key=YOUR_API_KEY&symbols=SOFR"
{
"success": true,
"date": "2026-10-02",
"base": "USD",
"rates": {
"SOFR": 3.88
},
"dates": {
"SOFR": "2026-10-02"
},
"currencies": {
"SOFR": "USD"
},
"base_filter_note": null
}

In production, query without the base filter or scan for BCRA_RATE programmatically.

Python (requests)

import requests

url = "https://interestratesapi.com/api/v1/symbols"
params = {
"category": "central_bank",
"api_key": "YOUR_API_KEY"
}
resp = requests.get(url, params=params)
resp.raise_for_status()
data = resp.json()

# find BCRA_RATE in results
bcra = next((s for s in data.get("symbols", []) if s.get("symbol") == "BCRA_RATE"), None)
if bcra:
print("Found:", bcra["symbol"], bcra.get("frequency"))
else:
print("BCRA_RATE not found in this page/filter")

JavaScript (fetch)

const res = await fetch("https://interestratesapi.com/api/v1/symbols?category=central_bank&api_key=YOUR_API_KEY");
const data = await res.json();
const bcra = (data.symbols || []).find(s => s.symbol === "BCRA_RATE");
console.log(bcra);

PHP

<?php
$url = "https://interestratesapi.com/api/v1/symbols?category=central_bank&api_key=YOUR_API_KEY";
$json = file_get_contents($url);
$data = json_decode($json, true);
$bcra = null;
if (isset($data["symbols"])) {
foreach ($data["symbols"] as $s) {
if ($s["symbol"] === "BCRA_RATE") { $bcra = $s; break; }
}
}
print_r($bcra);
?>

Latest: Get the Most Recent BCRA_RATE

Use /latest to fetch the most recent available value. The response contains:

  • date: the API’s response date (context date).
  • rates: a map from symbol to its numeric value.
  • dates: a map from symbol to the effective date of that value.
  • currencies: a map from symbol to its currency code.

Official sample (verbatim)

BCRA-focused example

How to read this for BCRA_RATE:

  • rates.BCRA_RATE is the policy rate value, expressed as a percentage per annum.
  • dates.BCRA_RATE is the effective date for that value.
  • currencies.BCRA_RATE is the currency code associated with the symbol.

Python (requests)

import requests

resp = requests.get(
"https://interestratesapi.com/api/v1/latest",
params={"symbols": "BCRA_RATE", "api_key": "YOUR_API_KEY"}
)
data = resp.json()
value = data["rates"]["BCRA_RATE"]
eff_date = data["dates"]["BCRA_RATE"]
ccy = data["currencies"]["BCRA_RATE"]
print(value, eff_date, ccy)

JavaScript (fetch)

const response = await fetch(
"https://interestratesapi.com/api/v1/latest?symbols=BCRA_RATE&api_key=YOUR_API_KEY"
);
const data = await response.json();
const value = data.rates["BCRA_RATE"];
const effDate = data.dates["BCRA_RATE"];
const ccy = data.currencies["BCRA_RATE"];
console.log(value, effDate, ccy);

PHP

<?php
$url = "https://interestratesapi.com/api/v1/latest?symbols=BCRA_RATE&api_key=YOUR_API_KEY";
$json = file_get_contents($url);
$data = json_decode($json, true);
$value = $data["rates"]["BCRA_RATE"] ?? null;
$effDate = $data["dates"]["BCRA_RATE"] ?? null;
$ccy = $data["currencies"]["BCRA_RATE"] ?? null;
echo "$value $effDate $ccy\n";
?>

Historical: BCRA_RATE on a Specific Date

Use /historical to fetch the value on a target date. For monthly symbols, “the last day with data within that month” is used.

Python (requests)

import requests

params = {"date": "2025-06-15", "symbols": "BCRA_RATE", "api_key": "YOUR_API_KEY"}
r = requests.get("https://interestratesapi.com/api/v1/historical", params=params)
data = r.json()
print(data["rates"]["BCRA_RATE"])

JavaScript (fetch)

const res = await fetch(
"https://interestratesapi.com/api/v1/historical?date=2025-06-15&symbols=BCRA_RATE&api_key=YOUR_API_KEY"
);
const data = await res.json();
console.log(data.rates["BCRA_RATE"]);

PHP

<?php
$url = "https://interestratesapi.com/api/v1/historical?date=2025-06-15&symbols=BCRA_RATE&api_key=YOUR_API_KEY";
echo file_get_contents($url);
?>

Timeseries: BCRA_RATE History Between Two Dates

Use /timeseries for charting, backtesting, or rolling-window statistics. Although BCRA_RATE is monthly, the API exposes date-keyed values for business days in range.

Python (requests)

import requests

params = {
"start": "2025-10-06",
"end": "2026-10-06",
"symbols": "BCRA_RATE",
"api_key": "YOUR_API_KEY"
}
resp = requests.get("https://interestratesapi.com/api/v1/timeseries", params=params)
series = resp.json()["rates"]["BCRA_RATE"]
# Example: iterate date/value pairs
for d, v in series.items():
print(d, v)

JavaScript (fetch)

const url = "https://interestratesapi.com/api/v1/timeseries?start=2025-10-06&end=2026-10-06&symbols=BCRA_RATE&api_key=YOUR_API_KEY";
const ts = await fetch(url).then(r => r.json());
const bcraSeries = ts.rates["BCRA_RATE"];
Object.entries(bcraSeries).forEach(([d, v]) => console.log(d, v));

PHP

<?php
$url = "https://interestratesapi.com/api/v1/timeseries?start=2025-10-06&end=2026-10-06&symbols=BCRA_RATE&api_key=YOUR_API_KEY";
$json = file_get_contents($url);
$data = json_decode($json, true);
foreach ($data["rates"]["BCRA_RATE"] as $d => $v) {
echo $d . " " . $v . PHP_EOL;
}
?>

Fluctuation: Change Statistics for BCRA_RATE

Use /fluctuation to compute start/end values, absolute and percent change, and the observed high/low in the period. This is useful for quick diagnostics without client-side rollups.

Python (requests)

import requests

params = {
"start": "2025-10-06",
"end": "2026-10-06",
"symbols": "BCRA_RATE",
"api_key": "YOUR_API_KEY"
}
stats = requests.get("https://interestratesapi.com/api/v1/fluctuation", params=params).json()
bcra = stats["rates"]["BCRA_RATE"]
print(bcra["change"], bcra["change_pct"], bcra["high"], bcra["low"])

JavaScript (fetch)

const f = await fetch("https://interestratesapi.com/api/v1/fluctuation?start=2025-10-06&end=2026-10-06&symbols=BCRA_RATE&api_key=YOUR_API_KEY").then(r => r.json());
const s = f.rates["BCRA_RATE"];
console.log(s.start_value, s.end_value, s.change, s.change_pct);

PHP

<?php
$url = "https://interestratesapi.com/api/v1/fluctuation?start=2025-10-06&end=2026-10-06&symbols=BCRA_RATE&api_key=YOUR_API_KEY";
echo file_get_contents($url);
?>

OHLC: Candlestick Aggregates for BCRA_RATE

Use /ohlc to derive open-high-low-close per period (monthly by default). This is computed on the fly from daily observations; there is no persistent OHLC table.

Python (requests)

import requests

params = {
"symbols": "BCRA_RATE",
"period": "monthly",
"start": "2025-10-06",
"end": "2026-10-06",
"api_key": "YOUR_API_KEY"
}
ohlc = requests.get("https://interestratesapi.com/api/v1/ohlc", params=params).json()
bars = ohlc["rates"]["BCRA_RATE"]
for bar in bars:
print(bar["period"], bar["open"], bar["high"], bar["low"], bar["close"], bar["data_points"])

JavaScript (fetch)

const o = await fetch("https://interestratesapi.com/api/v1/ohlc?symbols=BCRA_RATE&period=monthly&start=2025-10-06&end=2026-10-06&api_key=YOUR_API_KEY").then(r => r.json());
(o.rates["BCRA_RATE"] || []).forEach(b => console.log(b.period, b.open, b.close));

PHP

<?php
$url = "https://interestratesapi.com/api/v1/ohlc?symbols=BCRA_RATE&period=monthly&start=2025-10-06&end=2026-10-06&api_key=YOUR_API_KEY";
$json = file_get_contents($url);
$data = json_decode($json, true);
foreach ($data["rates"]["BCRA_RATE"] as $bar) {
echo $bar["period"] . " O:" . $bar["open"] . " H:" . $bar["high"] . " L:" . $bar["low"] . " C:" . $bar["close"] . PHP_EOL;
}
?>

Convert: Compare Interest Cost Versus Another Benchmark

Use /convert to compare the simple-loan interest cost at the latest rate of two symbols over a fixed term. This is useful for illustrating spread impact on a loan amount.

Python (requests)

import requests

params = {
"from": "BCRA_RATE",
"to": "ECB_MRO",
"amount": 100000,
"term_months": 12,
"api_key": "YOUR_API_KEY"
}
cmp_data = requests.get("https://interestratesapi.com/api/v1/convert", params=params).json()
print(cmp_data["difference"]["rate_spread"], cmp_data["difference"]["interest_saved"])

JavaScript (fetch)

const url = "https://interestratesapi.com/api/v1/convert?from=BCRA_RATE&to=ECB_MRO&amount=100000&term_months=12&api_key=YOUR_API_KEY";
const comp = await fetch(url).then(r => r.json());
console.log(comp.from.total_interest, comp.to.total_interest, comp.difference.rate_spread);

PHP

<?php
$url = "https://interestratesapi.com/api/v1/convert?from=BCRA_RATE&to=ECB_MRO&amount=100000&term_months=12&api_key=YOUR_API_KEY";
echo file_get_contents($url);
?>

How to Interpret Key Fields and Effective Dates

  • rates map: symbol-to-value. Values are percentages per annum (numeric).
  • dates map: symbol-to-effective-date for the returned value. Use this for accurate labeling in charts and audit logs.
  • currencies map: symbol-to-currency code.
  • frequencies map: indicates the symbol’s natural observation frequency (e.g., daily, monthly). BCRA_RATE is monthly.
  • fluctuation fields: start_value, end_value, change, change_pct (percentage change; null if start_value is 0), high, low.
  • OHLC fields: open, high, low, close with data_points showing how many daily observations contributed to that aggregate.

Monthly symbols and business days: While BCRA_RATE is monthly, the API exposes date keys aligned to business days. When you request a specific date within a month via /historical, the API uses the last available business day in that month.

Practical Integration Details: Frequency, Business Days, Caching

  • Publication cadence: Central bank policy rates update when policy decisions occur; BCRA_RATE is monthly in the catalogue. Check /latest daily to capture changes promptly.
  • Business days: Time series keys align to business days. There are no values for weekends/holidays.
  • Caching: Cache /latest for short intervals (e.g., minutes) to smooth traffic spikes; version data by effective date (dates map) instead of response date.
  • Retry and limits: Respect 429 responses and the following headers if present: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset.
  • Error handling: The API returns success=false with error messages for 4xx conditions (401, 403, 404, 422, 429). On 404 for date ranges, a details field may describe available ranges.

All requests are GET with api_key in the query string. Never send the key in headers for this API. For comprehensive API semantics, visit interestratesapi.com and the MCP.

Compute Spreads, Payments, and Risk Metrics from BCRA_RATE

Spread versus another benchmark:

  • Fetch /latest for both symbols, e.g., BCRA_RATE and ECB_MRO.
  • Compute spread = rates.BCRA_RATE − rates.ECB_MRO.
  • Use dates map to ensure both values are aligned in time for your analysis window.

Simple loan interest estimate from a benchmark:

  • Given principal amount A, annual rate r (percent), and term T months, a simple interest approximation is A × r/100 × (T/12).
  • For an amortizing loan, compute periodic rate rp = r/100/12 and apply your amortization schedule. The API’s /convert endpoint provides a simple-loan comparison using latest rates if you want a quick cross-benchmark read.

Volatility and regime detection:

  • Use /timeseries to gather daily (business-day) observations for BCRA_RATE in your window.
  • Compute rolling changes, markov regime flags, or threshold alerts client-side; /fluctuation can be your first-pass check for range and direction.

Where BCRA_RATE Fits in Your Finance Stack

  • Interest rate dashboards: Combine BCRA_RATE with other central-bank symbols for cross-country views. Use /ohlc for monthly candles.
  • Lending and mortgage platforms: Parameterize ARS-linked products with BCRA_RATE via /latest; price changes propagate automatically.
  • Treasury and ALM: Monitor policy direction via /fluctuation; alert on breakouts using /timeseries.
  • Macro research and quant: Pull history with /timeseries and serialize value/date pairs for regressions, VARs, or state-space models.

Start building with the official docs and reference models in the Interest Rates API MCP, and Get started with Interest Rates API.

Endpoint Reference Recap (All Seven)

  • /symbols: discover symbols and metadata for BCRA_RATE.
  • /latest: most recent BCRA_RATE with effective date and currency.
  • /historical: BCRA_RATE on a specific calendar date (uses last day with data within month for monthly series).
  • /timeseries: BCRA_RATE series between start and end dates.
  • /fluctuation: start/end, change, change_pct, high, low for BCRA_RATE.
  • /ohlc: open, high, low, close per period from daily observations.
  • /convert: compare simple-loan cost between BCRA_RATE and another symbol.

FAQ

Q: What time zone are dates in, and how should I align BCRA_RATE with my trading day?
A: Dates are provided as YYYY-MM-DD without time-of-day. Treat them as effective calendar/business dates. Align your processing window by matching the dates map value for BCRA_RATE with your application’s notion of a “day.”

Q: Does /historical for a mid-month date return the true month-end rate for BCRA_RATE?
A: For monthly symbols, /historical uses “the last day with data within that month.” If you need explicit end-of-month, query the final business day of the month or use /timeseries and select the last key within the month.

Q: How should I cache BCRA_RATE to reduce latency and load?
A: Cache /latest responses for a short TTL and key them by the dates map value. If the effective date hasn’t changed, serve from cache. For history endpoints, cache by the tuple (symbol, start, end) or (symbol, date).

Q: What errors should my client handle?
A: Expect JSON with success=false and an error message. Common cases: 401 (invalid/missing api_key), 403 (inactive account), 404 (no symbols or no data for the date/range), 422 (validation), 429 (quota; back off using Retry-After and X-RateLimit-* headers).

Q: Can I use headers for authentication?
A: No. Authentication is via the api_key query parameter for all endpoints.

Build your BCRA_RATE integration now. Read the models in the MCP and Register to obtain your API key. For quick navigation and hands-on testing, visit interestratesapi.com and then Get started with Interest Rates API.

Ready to get started?

Get your API key and start validating bank data in minutes.

Get API Key

Related posts