BNR Historical Data API: Timeseries, Charts & Downloads

BNR Historical Data API: Timeseries, Charts & Downloads

In the rapidly evolving world of finance, access to accurate and timely interest rate data is crucial for developers, economists, and financial analysts. The BNR Historical Data API from Interest Rates API provides a comprehensive solution for retrieving historical and current interest rate data, specifically focusing on the National Bank of Romania's Monetary Policy Rate (BNR_POLICY_RATE). This blog post will delve into the various endpoints of the API, showcasing how to effectively utilize them for financial time series analysis, charting, and data downloads.

Understanding the BNR_POLICY_RATE

The BNR_POLICY_RATE is the central bank rate set by the National Bank of Romania, which influences the economy by affecting lending rates, inflation, and overall economic growth. For developers and analysts, having access to this data is essential for building applications that require accurate financial modeling and forecasting.

Key Features of the BNR Historical Data API

The BNR Historical Data API offers several endpoints that allow users to retrieve various types of data related to interest rates. Below, we will explore each endpoint in detail, providing examples and practical use cases.

1. Retrieve Available Symbols

The first step in using the API is to retrieve the available symbols, which include the BNR_POLICY_RATE. This can be done using the following endpoint:

GET /api/v1/symbols?category=central_bank&base=RON&api_key=YOUR_KEY

Example response:

{
"success": true,
"count": 1,
"symbols": [
{
"symbol": "BNR_POLICY_RATE",
"name": "National Bank of Romania Monetary Policy Rate",
"category": "central_bank",
"country_code": "RO",
"currency_code": "RON",
"frequency": "monthly",
"description": "The interest rate set by the National Bank of Romania."
}
]
}

This endpoint is crucial for developers to understand what data is available for analysis and to ensure they are using the correct symbols in their requests.

2. Fetch Latest Interest Rates

To get the most recent value of the BNR_POLICY_RATE, you can use the following endpoint:

GET /api/v1/latest?symbols=BNR_POLICY_RATE&api_key=YOUR_KEY

Example response:

{
"success": true,
"date": "2026-06-03",
"base": "RON",
"rates": {
"BNR_POLICY_RATE": 5.33
},
"dates": {
"BNR_POLICY_RATE": "2026-06-03"
},
"currencies": {
"BNR_POLICY_RATE": "RON"
}
}

This endpoint is particularly useful for applications that need to display the most current interest rates, allowing users to make informed financial decisions based on the latest data.

3. Historical Data Retrieval

For point-in-time lookups, the historical endpoint allows users to retrieve the BNR_POLICY_RATE for a specific date:

GET /api/v1/historical?date=2025-06-15&symbols=BNR_POLICY_RATE&api_key=YOUR_KEY

Example response:

{
"success": true,
"date": "2025-06-15",
"base": "RON",
"rates": {
"BNR_POLICY_RATE": 5.25
},
"currencies": {
"BNR_POLICY_RATE": "RON"
}
}

This endpoint is essential for financial analysts who need to analyze trends over time or assess the impact of historical interest rates on economic conditions.

4. Time Series Data

The time series endpoint allows users to fetch a series of interest rates between two dates, which is invaluable for trend analysis:

GET /api/v1/timeseries?start=2025-06-01&end=2026-06-01&symbols=BNR_POLICY_RATE&api_key=YOUR_KEY

Example response:

{
"success": true,
"base": "RON",
"start_date": "2025-06-01",
"end_date": "2026-06-01",
"rates": {
"BNR_POLICY_RATE": {
"2025-06-01": 5.25,
"2025-07-01": 5.30,
"2025-08-01": 5.33
}
},
"frequencies": {
"BNR_POLICY_RATE": "monthly"
},
"currencies": {
"BNR_POLICY_RATE": "RON"
}
}

This endpoint is particularly useful for developers building applications that require historical data visualization, such as financial dashboards or analytical tools.

5. Fluctuation Analysis

The fluctuation endpoint provides statistics on changes in interest rates over a specified period:

GET /api/v1/fluctuation?start=2025-06-01&end=2026-06-01&symbols=BNR_POLICY_RATE&api_key=YOUR_KEY

Example response:

{
"success": true,
"rates": {
"BNR_POLICY_RATE": {
"start_date": "2025-06-01",
"end_date": "2026-06-01",
"start_value": 5.25,
"end_value": 5.33,
"change": 0.08,
"change_pct": 1.52,
"high": 5.35,
"low": 5.20
}
}
}

This endpoint is valuable for financial analysts who need to assess the volatility of interest rates and understand market dynamics.

6. OHLC Data for Charting

For developers looking to create candlestick charts, the OHLC endpoint provides open, high, low, and close data:

GET /api/v1/ohlc?symbols=BNR_POLICY_RATE&period=monthly&start=2025-06-01&end=2026-06-01&api_key=YOUR_KEY

Example response:

{
"success": true,
"period": "monthly",
"start_date": "2025-06-01",
"end_date": "2026-06-01",
"rates": {
"BNR_POLICY_RATE": [
{
"period": "2025-06",
"open": 5.25,
"high": 5.30,
"low": 5.20,
"close": 5.33,
"data_points": 30
}
]
}
}

This data can be easily integrated with charting libraries like Chart.js or Plotly to visualize trends in interest rates over time.

7. Loan Interest Cost Comparison

The convert endpoint allows users to compare the total interest cost of loans between different rates:

GET /api/v1/convert?from=BNR_POLICY_RATE&to=ECB_MRO&amount=100000&term_months=12&api_key=YOUR_KEY

Example response:

{
"success": true,
"amount": 100000,
"term_months": 12,
"from": {
"symbol": "BNR_POLICY_RATE",
"rate": 5.33,
"total_interest": 5330.00,
"total_payment": 105330.00
},
"to": {
"symbol": "ECB_MRO",
"rate": 4.50,
"total_interest": 4500.00,
"total_payment": 104500.00
},
"difference": {
"rate_spread": 0.83,
"interest_saved": 830.00
}
}

This endpoint is particularly useful for financial advisors and consumers looking to make informed decisions about loan options based on comparative interest rates.

Building a Data Pipeline with Python

To effectively utilize the BNR Historical Data API, developers can build a data pipeline in Python that fetches data, processes it, and exports it to a CSV or Parquet file. Below is a sample implementation:

import requests
import pandas as pd

# Define API endpoint and parameters
url = 'https://interestratesapi.com/api/v1/timeseries'
params = {
'start': '2025-06-01',
'end': '2026-06-01',
'symbols': 'BNR_POLICY_RATE',
'api_key': 'YOUR_KEY'
}

# Fetch data
response = requests.get(url, params=params)
data = response.json()

# Process data into a DataFrame
dates = data['rates']['BNR_POLICY_RATE']
df = pd.DataFrame(list(dates.items()), columns=['Date', 'Rate'])

# Export to CSV
df.to_csv('bnr_policy_rate.csv', index=False)

This pipeline allows for easy data retrieval and storage, enabling further analysis and visualization.

Common Pitfalls in Time Series Analysis

When working with time series data, developers should be aware of several common pitfalls:

  • Missing Dates: Ensure that the data covers all required dates, especially for monthly symbols where data may not be available for every month.
  • Frequency Considerations: Understand the frequency of the data (daily vs. monthly) and how it impacts analysis.
  • Data Points Interpretation: Be cautious when interpreting the number of data points, as it may affect statistical calculations.

Conclusion

The BNR Historical Data API from Interest Rates API provides a robust framework for accessing and analyzing interest rate data. By leveraging the various endpoints, developers can build powerful financial applications that enhance decision-making processes. Whether you are conducting historical analysis, building visualizations, or comparing loan options, this API offers the tools necessary to succeed in the financial landscape.

For more information and to explore the features of the BNR Historical Data API, visit Explore Interest Rates API features and 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