India API

Docs › Money and business

IFSC and banks API

IFSC to bank and branch.

Branch details for every IFSC in the Reserve Bank's NEFT and RTGS lists: bank, branch, address, MICR and which payment systems the branch supports.

Base URL https://api.dharun.devNo API key600 requests a minuteThis page as Markdown

Branch for an IFSC

GET/v1/ifsc/{code}

ParameterDescription
codepath, required11-character IFSC.

curl

curl "https://api.dharun.dev/v1/ifsc/SBIN0000001"

JavaScript

const response = await fetch("https://api.dharun.dev/v1/ifsc/SBIN0000001");
const body = await response.json();
if (!response.ok) throw new Error(body.error.message);
console.log(body.data);

Python

import requests

response = requests.get("https://api.dharun.dev/v1/ifsc/SBIN0000001", timeout=10)
body = response.json()
if not response.ok:
    raise RuntimeError(body["error"]["message"])
print(body["data"])

Response

{
  "data": {
    "ifsc": "SBIN0000001",
    "bank": {
      "code": "SBIN",
      "name": "State Bank of India"
    },
    "branch": "KOLKATA MAIN",
    "address": "SAMRIDDHI BHAWAN, 1 STRAND ROAD, KOLKATA 700 001",
    "city": "Kolkata",
    "centre": "Kolkata",
    "district": "Kolkata",
    "stateCode": "WB",
    "state": "West Bengal",
    "contact": null,
    "micr": "700002021",
    "swift": null,
    "imps": true,
    "neft": true,
    "rtgs": true,
    "upi": true
  },
  "meta": {
    "source": {
      "name": "IFSC dataset",
      "url": "https://github.com/razorpay/ifsc/releases/tag/v2.0.62",
      "licence": "Public domain (dataset), as stated by the publisher",
      "version": "v2.0.62",
      "retrieved": "2026-10-13",
      "attribution": "IFSC data from the open razorpay/ifsc dataset, compiled from Reserve Bank of India and NPCI publications."
    }
  }
}

Search a bank's branches

GET/v1/ifsc

Lists branches of one bank, filtered by state, city or text in the branch name or address.

ParameterDescription
bankquery, requiredFour-letter bank code, for example SBIN.
qqueryText to find in the branch name, address or city.
statequeryState code or name, for example TN or Tamil Nadu.
cityqueryExact city name.
limitqueryResults per page, 1 to 100.
offsetqueryResults to skip.

curl

curl "https://api.dharun.dev/v1/ifsc?bank=SBIN&state=TN&q=namakkal"

JavaScript

const response = await fetch("https://api.dharun.dev/v1/ifsc?bank=SBIN&state=TN&q=namakkal");
const body = await response.json();
if (!response.ok) throw new Error(body.error.message);
console.log(body.data);

Python

import requests

response = requests.get("https://api.dharun.dev/v1/ifsc?bank=SBIN&state=TN&q=namakkal", timeout=10)
body = response.json()
if not response.ok:
    raise RuntimeError(body["error"]["message"])
print(body["data"])

Response, with lists and long text shortened

{
  "data": [
    {
      "ifsc": "SBIN0011060",
      "bank": {
        "code": "SBIN",
        "name": "State Bank of India"
      },
      "branch": "PARAMATHY VELUR",
      "address": "DIST NAMAKKAL, TAMIL NADU",
      "city": "Erode",
      "centre": "Paramathi",
      "district": "Paramathi",
      "stateCode": "TN",
      "state": "Tamil Nadu",
      "contact": null,
      "micr": "638002870",
      "swift": null,
      "imps": true,
      "neft": true,
      "rtgs": true,
      "upi": true
    },
    {
      "ifsc": "SBIN0062472",
      "bank": {
        "code": "SBIN",
        "name": "State Bank of India"
      },
      "branch": "R AND DB RACC NAMAKKAL",
      "address": "NO.2 DR. SANKARAN ROAD, NAMAKKAL 637001",
      "city": "Erode",
      "centre": "Erode",
      "district": "Erode",
      "stateCode": "TN",
      "state": "Tamil Nadu",
      "contact": null,
      "micr": null,
      "swift": null,
      "imps": true,
      "neft": true,
      "rtgs": true,
      "upi": true
    },
    {
      "ifsc": "SBIN0018751",
      "bank": {
        "code": "SBIN",
        "name": "State Bank of India"
      },
      "branch": "ERUMAIPATTI",
      "address": "THURAIYUR MAIN ROAD, ERUMAIPATTI, DIST.NAMAKKAL, TN-637013",
      "city": "Namakkal",
      "centre": "Erumaipatti",
      "district": "Erumaipatti",
      "stateCode": "TN",
      "state": "Tamil Nadu",
      "contact": "+919445864441",
      "micr": "636002135",
      "swift": null,
      "imps": true,
      "neft": true,
      "rtgs": true,
      "upi": true
    }
  ],
  "meta": {
    "total": 19,
    "limit": 20,
    "offset": 0,
    "source": {
      "name": "IFSC dataset",
      "url": "https://github.com/razorpay/ifsc/releases/tag/v2.0.62",
      "licence": "Public domain (dataset), as stated by the publisher",
      "version": "v2.0.62",
      "retrieved": "2026-10-13",
      "attribution": "IFSC data from the open razorpay/ifsc dataset, compiled from Reserve Bank of India and NPCI publications."
    }
  }
}

Bank for a four-letter code

GET/v1/banks/{code}

ParameterDescription
codepath, requiredFour-letter bank code.

curl

curl "https://api.dharun.dev/v1/banks/HDFC"

JavaScript

const response = await fetch("https://api.dharun.dev/v1/banks/HDFC");
const body = await response.json();
if (!response.ok) throw new Error(body.error.message);
console.log(body.data);

Python

import requests

response = requests.get("https://api.dharun.dev/v1/banks/HDFC", timeout=10)
body = response.json()
if not response.ok:
    raise RuntimeError(body["error"]["message"])
print(body["data"])

Response

{
  "data": {
    "code": "HDFC",
    "name": "HDFC Bank",
    "type": "Private",
    "micr": "400240001",
    "upi": true,
    "branches": 11007
  },
  "meta": {
    "source": {
      "name": "IFSC dataset",
      "url": "https://github.com/razorpay/ifsc/releases/tag/v2.0.62",
      "licence": "Public domain (dataset), as stated by the publisher",
      "version": "v2.0.62",
      "retrieved": "2026-10-13",
      "attribution": "IFSC data from the open razorpay/ifsc dataset, compiled from Reserve Bank of India and NPCI publications."
    }
  }
}

Search banks

GET/v1/banks

Finds banks by name or code, largest branch network first.

ParameterDescription
qqueryText to find in the bank name or code.
limitqueryResults per page, 1 to 100.
offsetqueryResults to skip.

curl

curl "https://api.dharun.dev/v1/banks?q=gramin"

JavaScript

const response = await fetch("https://api.dharun.dev/v1/banks?q=gramin");
const body = await response.json();
if (!response.ok) throw new Error(body.error.message);
console.log(body.data);

Python

import requests

response = requests.get("https://api.dharun.dev/v1/banks?q=gramin", timeout=10)
body = response.json()
if not response.ok:
    raise RuntimeError(body["error"]["message"])
print(body["data"])

Response, with lists and long text shortened

{
  "data": [
    {
      "code": "PKGB",
      "name": "Karnataka Gramin Bank",
      "upi": false,
      "branches": 1818
    },
    {
      "code": "RMGB",
      "name": "Rajasthan Marudhara Gramin Bank",
      "upi": false,
      "branches": 1650
    },
    {
      "code": "MAHG",
      "name": "Maharashtra Gramin Bank",
      "upi": false,
      "branches": 778
    }
  ],
  "meta": {
    "total": 44,
    "limit": 50,
    "offset": 0,
    "source": {
      "name": "IFSC dataset",
      "url": "https://github.com/razorpay/ifsc/releases/tag/v2.0.62",
      "licence": "Public domain (dataset), as stated by the publisher",
      "version": "v2.0.62",
      "retrieved": "2026-10-13",
      "attribution": "IFSC data from the open razorpay/ifsc dataset, compiled from Reserve Bank of India and NPCI publications."
    }
  }
}

Data source

IFSC dataset, v2.0.62. Retrieved 2026-10-13. Licence: Public domain (dataset), as stated by the publisher. IFSC data from the open razorpay/ifsc dataset, compiled from Reserve Bank of India and NPCI publications.

Guides

Show the bank and branch for an IFSC code

Using an AI assistant? Connect the MCP server and it can call this API by itself.