Introduction
In the fast-paced world of finance, accurate and timely interest rate data is crucial for developers, economists, and financial analysts. The Mumbai Interbank Offer Rate (MIBOR) is one such vital metric, reflecting the average interest rate at which banks lend to one another in the Indian financial market. Integrating MIBOR data into your fintech application can enhance decision-making, risk assessment, and financial forecasting. This blog post serves as a comprehensive guide to integrating the Mumbai Interbank Offer Rate 3-Month data into your application using the Interest Rates API from interestratesapi.com. We will cover all necessary endpoints, provide code examples, and discuss best practices for implementation.
Understanding the Interest Rates API
The Interest Rates API provides a robust framework for accessing various interest rate data, including central bank rates, interbank rates, and treasury rates. The API is designed to be developer-friendly, allowing seamless integration into applications. The base URL for all API requests is https://interestratesapi.com/api/v1/, and all requests utilize the GET method. Authentication is handled via the api_key query parameter, ensuring secure access to the data.
Step 1: Fetching Available Symbols
The first step in integrating the MIBOR data is to retrieve the available symbols from the API. This will help you identify the specific identifiers you can use in subsequent requests.
Endpoint: /symbols
This endpoint provides a catalogue of available rate symbols, allowing you to filter by category, base currency, and provider.
cURL Example:
curl "https://interestratesapi.com/api/v1/symbols?category=interbank&base=INR&api_key=YOUR_KEY"
Python Example:
import requests
response = requests.get(
'https://interestratesapi.com/api/v1/symbols',
params=dict(category='interbank', base='INR', api_key='YOUR_KEY')
)
data = response.json()
JavaScript Example:
const response = await fetch(
'https://interestratesapi.com/api/v1/symbols?category=interbank&base=INR&api_key=YOUR_KEY'
);
const data = await response.json();
PHP Example:
<?php
$url = "https://interestratesapi.com/api/v1/symbols?category=interbank&base=INR&api_key=YOUR_KEY";
$response = file_get_contents($url);
$data = json_decode($response, true);
?>
JSON Response Example:
{
"success": true,
"count": 3,
"symbols": [
{
"symbol": "MIBOR_3M",
"name": "Mumbai Interbank Offer Rate 3-Month",
"category": "interbank",
"country_code": "IN",
"currency_code": "INR",
"frequency": "daily",
"description": "The interest rate at which banks lend to one another for a 3-month period."
}
]
}
Step 2: Fetching Latest MIBOR Data
Once you have identified the MIBOR symbol, the next step is to fetch the latest available data for this rate.
Endpoint: /latest
This endpoint retrieves the latest value for the specified symbols.
cURL Example:
curl "https://interestratesapi.com/api/v1/latest?symbols=MIBOR_3M&api_key=YOUR_KEY"
Python Example:
response = requests.get(
'https://interestratesapi.com/api/v1/latest',
params=dict(symbols='MIBOR_3M', api_key='YOUR_KEY')
)
data = response.json()
JavaScript Example:
const response = await fetch(
'https://interestratesapi.com/api/v1/latest?symbols=MIBOR_3M&api_key=YOUR_KEY'
);
const data = await response.json();
PHP Example:
<?php
$url = "https://interestratesapi.com/api/v1/latest?symbols=MIBOR_3M&api_key=YOUR_KEY";
$response = file_get_contents($url);
$data = json_decode($response, true);
?>
JSON Response Example:
{
"success": true,
"date": "2026-09-07",
"base": "INR",
"rates": {
"MIBOR_3M": 5.50
},
"dates": {
"MIBOR_3M": "2026-09-07"
},
"currencies": {
"MIBOR_3M": "INR"
}
}
Step 3: Fetching Historical MIBOR Data
To analyze trends over time, you may need to retrieve historical data for the MIBOR rate.
Endpoint: /historical
This endpoint allows you to fetch the value of the MIBOR rate on a specific date.
cURL Example:
curl "https://interestratesapi.com/api/v1/historical?date=2025-06-15&symbols=MIBOR_3M&api_key=YOUR_KEY"
Python Example:
response = requests.get(
'https://interestratesapi.com/api/v1/historical',
params=dict(date='2025-06-15', symbols='MIBOR_3M', api_key='YOUR_KEY')
)
data = response.json()
JavaScript Example:
const response = await fetch(
'https://interestratesapi.com/api/v1/historical?date=2025-06-15&symbols=MIBOR_3M&api_key=YOUR_KEY'
);
const data = await response.json();
PHP Example:
<?php
$url = "https://interestratesapi.com/api/v1/historical?date=2025-06-15&symbols=MIBOR_3M&api_key=YOUR_KEY";
$response = file_get_contents($url);
$data = json_decode($response, true);
?>
JSON Response Example:
{
"success": true,
"date": "2025-06-15",
"base": "INR",
"rates": {
"MIBOR_3M": 5.45
},
"currencies": {
"MIBOR_3M": "INR"
}
}
Step 4: Fetching Time Series Data
For a more comprehensive analysis, you may want to retrieve a time series of MIBOR data over a specified date range.
Endpoint: /timeseries
This endpoint provides a series of values between two dates for the specified symbols.
cURL Example:
curl "https://interestratesapi.com/api/v1/timeseries?start=2025-01-01&end=2025-06-30&symbols=MIBOR_3M&api_key=YOUR_KEY"
Python Example:
response = requests.get(
'https://interestratesapi.com/api/v1/timeseries',
params=dict(start='2025-01-01', end='2025-06-30', symbols='MIBOR_3M', api_key='YOUR_KEY')
)
data = response.json()
JavaScript Example:
const response = await fetch(
'https://interestratesapi.com/api/v1/timeseries?start=2025-01-01&end=2025-06-30&symbols=MIBOR_3M&api_key=YOUR_KEY'
);
const data = await response.json();
PHP Example:
<?php
$url = "https://interestratesapi.com/api/v1/timeseries?start=2025-01-01&end=2025-06-30&symbols=MIBOR_3M&api_key=YOUR_KEY";
$response = file_get_contents($url);
$data = json_decode($response, true);
?>
JSON Response Example:
{
"success": true,
"base": "INR",
"start_date": "2025-01-01",
"end_date": "2025-06-30",
"rates": {
"MIBOR_3M": {
"2025-01-01": 5.40,
"2025-01-02": 5.42,
"2025-01-03": 5.45
}
},
"frequencies": {
"MIBOR_3M": "daily"
},
"currencies": {
"MIBOR_3M": "INR"
}
}
Step 5: Analyzing Fluctuations
Understanding the fluctuations in the MIBOR rate over a specified period can provide insights into market trends.
Endpoint: /fluctuation
This endpoint returns change statistics over a specified date range.
cURL Example:
curl "https://interestratesapi.com/api/v1/fluctuation?start=2025-01-01&end=2025-06-30&symbols=MIBOR_3M&api_key=YOUR_KEY"
Python Example:
response = requests.get(
'https://interestratesapi.com/api/v1/fluctuation',
params=dict(start='2025-01-01', end='2025-06-30', symbols='MIBOR_3M', api_key='YOUR_KEY')
)
data = response.json()
JavaScript Example:
const response = await fetch(
'https://interestratesapi.com/api/v1/fluctuation?start=2025-01-01&end=2025-06-30&symbols=MIBOR_3M&api_key=YOUR_KEY'
);
const data = await response.json();
PHP Example:
<?php
$url = "https://interestratesapi.com/api/v1/fluctuation?start=2025-01-01&end=2025-06-30&symbols=MIBOR_3M&api_key=YOUR_KEY";
$response = file_get_contents($url);
$data = json_decode($response, true);
?>
JSON Response Example:
{
"success": true,
"rates": {
"MIBOR_3M": {
"start_date": "2025-01-01",
"end_date": "2025-06-30",
"start_value": 5.40,
"end_value": 5.45,
"change": 0.05,
"change_pct": 0.93,
"high": 5.50,
"low": 5.30
}
}
}
Step 6: Fetching OHLC Data
For technical analysis, you may want to retrieve Open, High, Low, and Close (OHLC) data for the MIBOR rate.
Endpoint: /ohlc
This endpoint provides OHLC candlestick data for the specified symbols over a defined period.
cURL Example:
curl "https://interestratesapi.com/api/v1/ohlc?symbols=MIBOR_3M&period=monthly&start=2025-01-01&end=2025-06-30&api_key=YOUR_KEY"
Python Example:
response = requests.get(
'https://interestratesapi.com/api/v1/ohlc',
params=dict(symbols='MIBOR_3M', period='monthly', start='2025-01-01', end='2025-06-30', api_key='YOUR_KEY')
)
data = response.json()
JavaScript Example:
const response = await fetch(
'https://interestratesapi.com/api/v1/ohlc?symbols=MIBOR_3M&period=monthly&start=2025-01-01&end=2025-06-30&api_key=YOUR_KEY'
);
const data = await response.json();
PHP Example:
<?php
$url = "https://interestratesapi.com/api/v1/ohlc?symbols=MIBOR_3M&period=monthly&start=2025-01-01&end=2025-06-30&api_key=YOUR_KEY";
$response = file_get_contents($url);
$data = json_decode($response, true);
?>
JSON Response Example:
{
"success": true,
"period": "monthly",
"start_date": "2025-01-01",
"end_date": "2025-06-30",
"rates": {
"MIBOR_3M": [
{
"period": "2025-01",
"open": 5.40,
"high": 5.50,
"low": 5.30,
"close": 5.45,
"data_points": 20
}
]
}
}
Step 7: Comparing Loan Interest Costs
Finally, you may want to compare the interest costs between different rates using the conversion endpoint.
Endpoint: /convert
This endpoint allows you to compare the total interest cost of a loan at the latest rate of each symbol.
cURL Example:
curl "https://interestratesapi.com/api/v1/convert?from=MIBOR_3M&to=RBA_CASH_RATE&amount=100000&term_months=12&api_key=YOUR_KEY"
Python Example:
response = requests.get(
'https://interestratesapi.com/api/v1/convert',
params=dict(from='MIBOR_3M', to='RBA_CASH_RATE', amount=100000, term_months=12, api_key='YOUR_KEY')
)
data = response.json()
JavaScript Example:
const response = await fetch(
'https://interestratesapi.com/api/v1/convert?from=MIBOR_3M&to=RBA_CASH_RATE&amount=100000&term_months=12&api_key=YOUR_KEY'
);
const data = await response.json();
PHP Example:
<?php
$url = "https://interestratesapi.com/api/v1/convert?from=MIBOR_3M&to=RBA_CASH_RATE&amount=100000&term_months=12&api_key=YOUR_KEY";
$response = file_get_contents($url);
$data = json_decode($response, true);
?>
JSON Response Example:
{
"success": true,
"amount": 100000,
"term_months": 12,
"from": {
"symbol": "MIBOR_3M",
"rate": 5.50,
"date": "2026-09-07",
"total_interest": 5500.00,
"total_payment": 105500.00
},
"to": {
"symbol": "RBA_CASH_RATE",
"rate": 5.33,
"date": "2026-09-07",
"total_interest": 5330.00,
"total_payment": 105330.00
},
"difference": {
"rate_spread": 0.17,
"interest_saved": 170.00
}
}
Error Handling
When working with APIs, it's essential to handle errors gracefully. The Interest Rates API may return various error codes that you should be prepared to manage.
Common Error Responses
- 401: Missing
api_key, invalid or revoked key, user not found. - 403: Account without active plan.
- 404: No symbols matched or no data for requested date/range.
- 422: Validation error (e.g., wrong date format, invalid symbol).
- 429: Request quota exhausted.
Rate Limit Headers
The API provides rate limit headers that can help you manage your requests effectively:
- X-RateLimit-Limit: The maximum number of requests allowed in a given time frame.
- X-RateLimit-Remaining: The number of requests remaining in the current time frame.
- X-RateLimit-Reset: The time when the rate limit will reset.
Mini Project: Node.js/Express Endpoint
To demonstrate the integration of the MIBOR data into a real application, let's create a simple Node.js/Express endpoint that fetches, caches, and serves the MIBOR rate data.
Setting Up the Project
mkdir mibor-api
cd mibor-api
npm init -y
npm install express axios node-cache
Creating the Server
const express = require('express');
const axios = require('axios');
const NodeCache = require('node-cache');
const app = express();
const cache = new NodeCache();
const API_KEY = 'YOUR_KEY';
const BASE_URL = 'https://interestratesapi.com/api/v1/latest?symbols=MIBOR_3M&api_key=' + API_KEY;
app.get('/mibor', async (req, res) => {
const cachedData = cache.get('miborData');
if (cachedData) {
return res.json(cachedData);
}
try {
const response = await axios.get(BASE_URL);
cache.set('miborData', response.data, 3600); // Cache for 1 hour
res.json(response.data);
} catch (error) {
res.status(500).json({ error: 'Failed to fetch MIBOR data' });
}
});
app.listen(3000, () => {
console.log('Server is running on http://localhost:3000/mibor');
});
Conclusion
Integrating the Mumbai Interbank Offer Rate 3-Month data into your application using the Interest Rates API from interestratesapi.com is a straightforward process that can significantly enhance your financial applications. By following the steps outlined in this guide, you can effectively access and utilize vital interest rate data, enabling better financial decision-making and analysis. Whether you are building a fintech application, conducting economic research, or performing quantitative analysis, the Interest Rates API provides the tools you need to succeed. Get started with Interest Rates API today and unlock the potential of financial data in your applications.




