Reserve Bank of India
RBI DBIE — India's repo rate, rupee, inflation and banking statistics — the RBI's database, browser export
For Indian monetary and banking series from the source — the repo rate, the RBI reference rate for USD/INR, bank credit, money supply, foreign exchange reserves — when the World Bank or FRED mirrors are too coarse or too slow.
Reach for it when…
For Indian monetary and banking series from the source — the repo rate, the RBI reference rate for USD/INR, bank credit, money supply, foreign exchange reserves — when the World Bank or FRED mirrors are too coarse or too slow.
Not for: Automated pulls (the portal is a JavaScript application; export by hand), Indian CPI and GDP (MOSPI), Indian equities (NSE or a market-data API).
Units, revisions, traps
Units. Rates in percent; USD/INR in rupees per dollar; credit and money in ₹ crore (1 crore = 10 million); reserves in US$ millions.
Revisions. Banking data are revised in the following fortnight's release.
- Crore and lakh units — convert before comparing with anything else.
- The financial year runs April–March; 'FY26' means April 2025 to March 2026.
- Weekly banking data are for the fortnight ending on alternate Fridays.
Classic mistake: Reading ₹ crore as ₹ millions (a factor of ten).
Three recipes
- Recipe 1 · Browser export, then pandas
- Recipe 2 · The same headline series by script (mirrors)
- Recipe 3 · World Bank for the annual picture
Each recipe: Python · Excel · Sheets, with how to read the result. Python recipes run under pandas; recipe 1 is re-run by the weekly check where the source allows it.
How to use it in your own work
Copy the snippet, change the series id, read the result the way the footer says. Replace YOUR_…_KEY with your own key where one is needed.
Recipe 1Browser export, then pandas
# data.rbi.org.in → Statistics → select a table (e.g. Key Rates) → Export (xlsx/csv), then
import pandas as pd
df = pd.read_excel("RBI_export.xlsx", skiprows=3)
print(df.head())- Open the export directly; the first rows carry the table title and the unit line.
- File → Import the export.
Recipe 2The same headline series by script (mirrors)
# FRED mirrors the Indian policy rate (INTDSRINM193N, discount rate) and USD/INR (DEXINUS)
import pandas as pd
u = "https://fred.stlouisfed.org/graph/fredgraph.csv?id=DEXINUS"
df = pd.read_csv(u, index_col="observation_date", parse_dates=True, na_values=".")
print(df.dropna().tail())- From Web with the FRED URL.
=IMPORTDATA with the FRED URL.Recipe 3World Bank for the annual picture
import requests, pandas as pd
u = "https://api.worldbank.org/v2/country/IN/indicator/FP.CPI.TOTL.ZG?format=json&mrv=10"
df = pd.DataFrame(requests.get(u, timeout=30).json()[1])
print(df[["date", "value"]])- From Web with the World Bank URL.
- Use the Python recipe.
Series → question map
The ids we use from RBI DBIE, each with the question it answers. The catalog's compare view reads the concept tags behind these rows.
| Series | Answers | Region | Concept |
|---|---|---|---|
| Key Rates · Repo Rate | What is India's repo rate? | India | policy_rate |
| Reference Rate · USD/INR | Rupees per dollar, RBI reference | India | fx_usd |
| Bank Credit | Is bank credit growing? | India | bank_lending |
| Foreign Exchange Reserves | How large are India's reserves? | India | reserves |
Compare with
Same question, different source: BOK ECOS, BNM OpenAPI, World Bank Indicators API. The compare view lines up coverage, frequency, history and access side by side and lists what the combination makes possible.
Questions readers ask
Is there an RBI API?
Not a public documented one. DBIE exports tables to Excel and CSV from the browser.
Where is Indian CPI?
MOSPI (mospi.gov.in) publishes CPI monthly; the RBI republishes it in DBIE with a lag.
Why do RBI and FRED rupee rates differ?
Different fixings: the RBI reference rate is a Mumbai midday fix; FRED's DEXINUS is the New York noon rate.
Educational only — we explain, we never advise · snippet licence: public domain · corrections to [email protected], fixed within a day and logged in the changelog.