India’s software and services exports, its large remittance inflows and a fast-growing base of SaaS customers make the rupee one of the most requested currencies in billing and payroll systems. Most commercial flows are priced against the US dollar, so USD/INR is the pair that matters most, followed by EUR/INR, GBP/INR and AED/INR. The fxapi INR exchange rate API returns all of them, live and historical, from one endpoint.
INR facts for developers
- Where it’s used: India. In Bhutan the ngultrum (BTN) is pegged at par to the rupee and the rupee circulates alongside it; Nepal pegs its rupee (NPR) to the Indian rupee.
- Symbol and formatting:
₹(Unicode U+20B9, adopted in 2010) orRs. India groups digits in lakh and crore:₹12,34,567.89rather than₹1,234,567.89. - Minor unit: 2 decimals (paise).
- Central bank: the Reserve Bank of India (RBI).
- Regime: a managed float; the RBI intervenes to smooth volatility. The rupee is convertible for trade but capital-account transactions remain partly restricted, and a large share of offshore trading happens through non-deliverable forwards.
- Events in the historical data: the rupee weakened against the dollar over most of the period since 1999. During the 2013 “taper tantrum” it hit a then-record low on 28 August 2013 – the sample date on this page. In November 2016 the government withdrew the old ₹500 and ₹1,000 notes from circulation.
Get INR rates with the fxapi API
/v1/historical works on every plan. This JavaScript snippet (Node 18+) fetches the USD/INR rate for a list of invoice dates and formats the rupee amounts with Indian digit grouping:
const API = "https://api.fxapi.com/v1/historical";
const headers = { apikey: process.env.FXAPI_KEY };
const inr = new Intl.NumberFormat("en-IN", { style: "currency", currency: "INR" });
const invoices = [
{ id: "INV-1042", date: "2026-07-31", usd: 4800 },
{ id: "INV-1043", date: "2026-08-31", usd: 12500 },
];
for (const inv of invoices) {
const qs = new URLSearchParams({ date: inv.date, currencies: "INR" });
const res = await fetch(`${API}?${qs}`, { headers });
if (!res.ok) throw new Error(`fxapi ${res.status} for ${inv.date}`);
const rate = (await res.json()).data.INR.value;
console.log(`${inv.id}: $${inv.usd} × ${rate.toFixed(4)} = ${inr.format(inv.usd * rate)}`);
}
Store the rate you used with each invoice so the books can be reproduced later – see SaaS billing and invoicing and the JavaScript guide. For what “mid rate” means, read the mid-market rate.
Things to watch
- Digit grouping. Hard-coded
1,234,567formatting looks wrong to Indian users; use theen-INlocale. - Official vs market rates. Tax or regulatory filings may prescribe a specific reference rate – check before using market rates there.
- Gulf corridor. AED/INR and SAR/INR inherit the USD/INR moves because both Gulf currencies are pegged to the dollar – see the UAE dirham page.
Popular INR pairs
Request any of these pairs – or any other combination of the 190+ supported currencies – with base_currency=INR:
| Pair | Latest rate request |
|---|---|
| INR/USD | /v1/latest?base_currency=INR¤cies=USD |
| INR/EUR | /v1/latest?base_currency=INR¤cies=EUR |
| INR/GBP | /v1/latest?base_currency=INR¤cies=GBP |
| INR/AED | /v1/latest?base_currency=INR¤cies=AED |
| INR/JPY | /v1/latest?base_currency=INR¤cies=JPY |
| INR/SGD | /v1/latest?base_currency=INR¤cies=SGD |
| INR/CNY | /v1/latest?base_currency=INR¤cies=CNY |
Monthly averages and fluctuation for INR
# Monthly average INR rates for 2025 (IAS 21 / ASC 830)
curl -G "https://api.fxapi.com/v1/average" \
-d date_from=2025-01-01 -d date_to=2025-12-31 -d period=month \
-d base_currency=INR -d currencies=USD,EUR,GBP \
-H "apikey: $FXAPI_KEY"
# How did INR move over the last year?
curl -G "https://api.fxapi.com/v1/fluctuation" \
-d date_from=2025-10-01 -d date_to=2026-10-01 \
-d base_currency=INR -d currencies=USD,EUR,GBP \
-H "apikey: $FXAPI_KEY"See the historical exchange rates API, average rates API and documentation for every parameter.
INR is one of 190+ currencies in fxapi, the foreign exchange rates API for developers – live rates, daily history since 1999 and monthly averages with one API key.
Frequently asked questions
How do I get the USD to INR exchange rate via API?
/v1/latest?currencies=INR with your key in the apikey header. USD is the default base, so the value is rupees per 1 US dollar.How do I format rupee amounts with lakh and crore separators?
en-IN locale, e.g. new Intl.NumberFormat('en-IN', { style: 'currency', currency: 'INR' }), which renders ₹12,34,567.89.