TL;DR
Razorpay's IFSC API is a free service for looking up Indian bank branch details by IFSC (Indian Financial System Code) — the alphanumeric code used for RTGS, NEFT, and IMPS fund transfers. Pass any valid IFSC code as a URL parameter and get back the bank name, branch, full address, city, district, state, phone number, and MICR code. Built by Razorpay (a major Indian payment gateway), free and open with no authentication required. Essential for Indian fintech apps that need to validate bank details before processing payments.
Quick start: https://ifsc.razorpay.com/SBIN0RTKGB
No API key needed — just make a request!
https://ifsc.razorpay.com/SBIN0RTKGB
How to Use This API
1. Lookup Any IFSC Code
Replace the IFSC in the URL:
https://ifsc.razorpay.com/SBIN0RTKGB
Returns JSON: BANK, BRANCH, ADDRESS, CITY, DISTRICT, STATE, MICR, CONTACT, PHONE, BANKCODE, IFSC.
2. Validate Multiple IFSC Codes
If the code is invalid, the API returns a 404 with {"error":"Not Found"}.
3. JavaScript — Form Validation
async function validateIFSC(ifsc) {
const resp = await fetch(`https://ifsc.razorpay.com/${ifsc}`);
if (!resp.ok) {
console.error('Invalid IFSC code');
return null;
}
const data = await resp.json();
console.log(`Bank: ${data.BANK}`);
console.log(`Branch: ${data.BRANCH}`);
console.log(`Address: ${data.ADDRESS}`);
console.log(`City: ${data.CITY}, ${data.STATE}`);
console.log(`MICR: ${data.MICR}`);
return data;
}
validateIFSC('SBIN0RTKGB');
4. Python — Batch Bank Lookup
import requests
ifsc_codes = ['SBIN0RTKGB', 'HDFC0001234', 'ICICI0005678']
for code in ifsc_codes:
resp = requests.get(f'https://ifsc.razorpay.com/{code}')
if resp.status_code == 200:
bank = resp.json()
print(f"{code}: {bank['BANK']} — {bank['BRANCH']}, {bank['CITY']}")
else:
print(f"{code}: Invalid")
Frequently Asked Questions
- What is an IFSC code?
- IFSC (Indian Financial System Code) is an 11-character alphanumeric code that identifies bank branches in India. It's required for RTGS, NEFT, and IMPS electronic fund transfers. The first 4 characters identify the bank (e.g., SBIN, HDFC), the 5th is always 0, and the last 6 identify the branch.
- How many IFSC codes are in the database?
- The API covers all banks and branches participating in India's electronic payment systems — over 150,000+ branch codes from both public and private sector banks.
- Do I need an API key?
- No. Razorpay provides this API completely free with no authentication required. It's a public service for the Indian developer community.
- What data does the API return?
- Bank name (BANK), branch (BRANCH), address (ADDRESS), city (CITY), district (DISTRICT), state (STATE), IFSC code, MICR code, contact number (CONTACT/PHONE), bank code (BANKCODE), and branch center (CENTRE).
- What format does the response use?
- JSON. Invalid codes return an HTTP 404 with a JSON error message. Valid codes return HTTP 200 with the full branch details.
- Are there rate limits?
- No documented rate limits. The API is designed for production usage by Razorpay's merchant base and is quite reliable.
API Details
- API URL
https://ifsc.razorpay.com/{IFSC}- Documentation
- ifsc.razorpay.com
- Category
- Finance
- Authentication
- Not Required
- Geographic Coverage
- India — all participating banks and branches
What You Can Build
- Payment form validation that checks IFSC codes before processing NEFT/RTGS transfers
- Bank branch locator showing addresses and contact details from IFSC codes
- Accounting software that auto-populates bank details from IFSC entries
- Employee expense tool that validates vendor bank information
- UPI payment app that verifies beneficiary branch details before fund transfer