The RBI reference rate is the number Indian finance teams reach for first: FEMA filings, transfer pricing documentation, Ind AS 21 translations, GST valuation on the services side and most internal policies cite it. The RBI's own Reference Rate Archive page on rbi.org.in works, but it is a form that returns one date range at a time as HTML, which is painful for a 20-year back-test or a monthly close that needs 12 month-end rates. This page lists every way to get the full series, from 2003 to today, in a form a spreadsheet or a script can read.

What the series is

The reference rate is a once-a-day mid-rate for USD, EUR, GBP and JPY against the rupee, published every business day around 13:30 IST. Since 2018 it is computed by Financial Benchmarks India Ltd (FBIL) from a randomly selected window of interbank trades; before that the RBI computed it from a poll of banks. The RBI publishes it, which is why everyone still calls it the RBI rate. In 2026 the table also carries AED and IDR. There is no buy or sell side, no weekend values and no publication on Mumbai bank holidays.

The archive mirrored here runs from 2003 to the current day: about 5,700 business days, each with four to six rates. The 2026 file alone has 206 USD observations as of 9 November.

Download option 1: one CSV per year on GitHub

The central-bank-exchange-rates repository holds the whole series under data/rbi/: latest.json for today, daily/ for individual days and history/2003.csv through history/2026.csv. Each file has a header row and the columns date, base, quote, type, value:

2025-03-28,USD,INR,reference,85.5814 2025-03-28,EUR,INR,reference,92.3246 2025-03-28,GBP,INR,reference,110.7389 2025-03-28,JPY,INR,reference,0.5675 

The files update every business day after the RBI publishes. Licence: CC BY-NC 4.0, so free for research, personal filing and internal non-commercial use with attribution. The same CSVs are mirrored to Hugging Face for load_dataset users and to Kaggle for notebooks.

Download option 2: Excel and Google Sheets

In Excel, Data → Get Data → From Web and paste the raw URL of a year file, for example:

https://raw.githubusercontent.com/AllRates-Today/central-bank-exchange-rates/main/data/rbi/history/2026.csv 

Power Query reads it as a table; filter base to USD and you have the daily series with a refresh button. In Google Sheets the same URL works inside IMPORTDATA(). For today's table only, the API serves CSV directly: =IMPORTDATA("https://allratestoday.com/api/open/central-bank/rbi?format=csv").

Download option 3: the API

Today's table is keyless at /api/open/central-bank/rbi. Dated tables and ranges are on paid plans and need an API key:

# one past date (holidays return the last published date, flagged) curl -H "Authorization: Bearer YOUR_KEY" \ "https://allratestoday.com/api/v1/central-bank/rbi/2026-03-31" # { "requested_date": "2026-03-31", "rate_date": "2026-03-30", # "published_on_requested_date": false, # "rates": [ { "base": "USD", "quote": "INR", "value": 94.6543 }, ... ] } # a series for one currency curl -H "Authorization: Bearer YOUR_KEY" \ "https://allratestoday.com/api/v1/central-bank/rbi/history?symbol=USD&from=2026-01-01&to=2026-11-09" # { "count": 206, "rates": [ { "rate_date": "2026-01-01", "value": 89.9792 }, ... ] } 

The published_on_requested_date flag is the useful part for month-end work: it tells you when 31 March or 31 December fell on a holiday so you can document that you used the last published rate. Formats json, csv, xml and xlsx are available on every table endpoint through ?format=.

Python in six lines

import pandas as pd url = "https://raw.githubusercontent.com/AllRates-Today/central-bank-exchange-rates/main/data/rbi/history/{}.csv" rbi = pd.concat(pd.read_csv(url.format(y), parse_dates=["date"]) for y in range(2003, 2027)) usd = rbi[rbi.base == "USD"].set_index("date")["value"].sort_index() print(usd.resample("YE").last()) # one closing rate per calendar year 

Each year file has a header row (date, base, quote, type, value), so pandas reads it without further options.

The year-end rates everyone asks for

Reporting date Rate date published USD EUR GBP JPY (per unit)
31 March 2025 28 March 2025 (31 March was a holiday) 85.5814 92.3246 110.7389 0.5675
31 December 2025 31 December 2025 89.9198 105.5557 121.0237 0.5742
31 March 2026 30 March 2026 (31 March was a holiday) 94.6543 109.0064 125.6347 0.5925

The rupee moved from 85.58 to 94.65 per dollar across financial year 2025-26, a 10.6% depreciation, which is why translation differences were large in the March 2026 close. The 31 March 2026 closing rate guide covers how to use these in Ind AS 21 and AS 11 working papers.

What this archive is not

It is not the SBI TT buying rate that income-tax Rules 26 and 115 and Schedule FA require; that is a bank quote, usually 0.2% to 0.4% below the reference rate, and SBI keeps no public archive of it. It is not the CBIC customs rate either, which is notified fortnightly for imports and exports. The India exchange rate API page sets out which Indian rate applies where.

FAQ

Where can I download the RBI reference rate history?

The RBI website offers a Reference Rate Archive form that returns one date range at a time. The full series from 2003 is mirrored as one CSV per year in the AllRatesToday central-bank-exchange-rates repository on GitHub, as a Hugging Face and Kaggle dataset, and through the dated and history endpoints of the AllRatesToday API.

Which currencies does the RBI reference rate cover?

USD, EUR, GBP and JPY against the rupee every business day. Since 2026 the published table also carries AED and IDR. Other currencies are not part of the reference rate; use the SBI card rate or a market rate for them.

Who computes the RBI reference rate?

Financial Benchmarks India Ltd (FBIL) has computed it since 2018 from a polled window of interbank trades around 13:30 IST; the RBI publishes it. Before 2018 the RBI computed it directly. The archive is continuous across the change.

What was the RBI reference rate on 31 March 2026?

No rate was published for 31 March 2026, a holiday. The last rate before the financial year-end is dated 30 March 2026: USD 94.6543, EUR 109.0064, GBP 125.6347, JPY 0.5925 per unit, AED 25.7694.

Is the data free to use?

The GitHub, Hugging Face and Kaggle copies are published under CC BY-NC 4.0, free for non-commercial use with attribution. Commercial use and the history endpoint of the API are covered by the paid plans.

Dated RBI tables back to 2003

Today's table is free. Any past date, ranges, CSV and Excel output, and 128 other official sources on paid plans.

See plans

Originally published on AllRatesToday: RBI Reference Rate History: Download the USD, EUR, GBP and JPY Archive 2003 to 2026 as CSV, Excel or API. The RBI and bank tables used above are free without an API key at https://allratestoday.com/api/open/central-bank/rbi and https://allratestoday.com/api/open/bank-rates/in.