IFSC Validation API
An IFSC Validation API is a service used to verify and fetch details associated with an Indian bank’s
IFSC (Indian Financial System Code). It helps applications confirm whether a given IFSC code is valid and returns information
such as the bank name, branch name, address, MICR code, state, district, and supported payment services like NEFT, RTGS,
and IMPS. These APIs are commonly used in banking platforms, payment gateways, payroll systems, KYC onboarding, and
financial applications to reduce transaction errors and ensure accurate bank identification.
Request URL
POST
https://g99.in/api/public/ifsc/validate
Request Body Parameters
| Type |
Name |
Optional |
Description |
| String |
ifsccode |
Required |
IFSC (Indian Financial System Code) for a bank branch. |
Sample Request Payload
{
"ifsccode": "SBIN0012345"
}
Sample Code
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://g99.in/api/public/ifsc/validate',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS =>'{
"ifsccode": "SBIN0012345"
}',
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
import requests
import json
url = "https://g99.in/api/public/ifsc/validate"
payload = json.dumps({
"ifsccode": "SBIN0012345"
})
headers = {
'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://g99.in/api/public/ifsc/validate");
var content = new StringContent("{\r\n \"ifsccode\": \"SBIN0012345\"\r\n}", null, "application/json");
request.Content = content;
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
Console.WriteLine(await response.Content.ReadAsStringAsync());
Response
HTTP status code 200
| Key |
Type |
Description |
| valid |
String |
Indicates whether the IFSC code is valid or exists in the banking database. |
| bank |
String |
Name of the bank associated with the IFSC code. |
| code |
String |
Internal or unique identifier code of the bank/branch record. |
| ifsc |
String |
Indian Financial System Code used to identify a specific bank branch. |
| micr |
String |
Magnetic Ink Character Recognition code used for cheque processing. |
| branch |
String |
Name of the bank branch linked to the IFSC code. |
| city |
String |
City where the bank branch is located. |
| district |
String |
District in which the bank branch operates. |
| state |
String |
State where the bank branch is situated. |
| address |
String |
Complete postal address of the bank branch. |
| neft |
String |
Indicates whether the branch supports NEFT transactions. |
| imps |
String |
Indicates whether the branch supports IMPS transactions. |
| rtgs |
String |
Indicates whether the branch supports RTGS transactions. |
Sample Response
Sample response for valid document
{
"valid": true,
"bank": "State Bank of India",
"code": "SBIN",
"ifsc": "SBIN0012345",
"micr": "222001111",
"branch": "KINATHUKADAVU",
"city": "COIMBATORE",
"district": "KINATHUKADAVU",
"state": "TAMIL NADU",
"address": "BAZAAR STREET,KINATHUKADAVU,POLLACHI TALUK,COIMBATORE DISTRICT 641109",
"neft": true,
"imps": true,
"rtgs": true
}
Error Response
| Parameter |
Type |
Description |
| status |
Number |
Unique error codes for different errors. Always available. |
| message |
String |
Error message describing the error. Always Available. |
| error |
Boolean |
True / False for different errors. Always available. |
Error Codes
| HTTP Status |
Error Code |
Error Message |
| 400 |
4001 |
Malformed data or missing required parameter values. |
| 400 |
4002 |
Invalid IFSC Code. |
| 500 |
5001 |
Request could not be processed. Please try again later. |
Sample Error Response
{
"message": "Malformed data or missing required parameter values.",
"status": 4001,
"error": True
}