Reverse IFSC Lookup API
IFSC code look up for a given bank and branch
Description
Reverse IFSC look up API can be used to search IFSC codes that are linked to Indian bank branches. This is the reverse of IFSC Validation API which returns the branch details for a given IFSC code.

API Definitions
This product is a combination of three different API endpoints.
- Get banks list
- Get list of branches for a given bank
- Search IFSC code for a given bank and branch
1. Get Banks List API
Type | URL |
---|---|
POST | https://api.attestr.com/api/{version} /public/finanx/banks |
Request Body Parameters
None
Request Header Parameters
Type | Name | Value / Description | Optional | Min Version | Max Version |
---|---|---|---|---|---|
String | Content-Type | application/json | Required | v1 | |
String | Authorization | Basic {authToken} | Required | v1 |
If you do not have the authentication token, please refer to Register App to generate one.
Response
Http Status 200
Key | Description | Type | Min Version | Max Version |
---|---|---|---|---|
valid | Return status flag to indicate if request was successful | Boolean | v1 | |
count | No of the items returned in the result | Integer | v1 | |
items | Array of BankObject (See definition below) | Array | v1 |
BankObject Definition
Key | Description | Type | Min Version | Max Version |
---|---|---|---|---|
name | Name of the bank as registered with RBI | String | v1 | |
code | Unique code assigned by Attestr to each bank. The same is used as input in Get Branches List and Get IFSC code API as described in the sections below. | String | v1 |
Sample Response
{
"valid": true,
"count": 24,
"items": [
{
"name": "UTTAR PRADESH COOPERATIVE BANK LTD",
"code": "eb024f67f71f3e98a2d969e3ea41293f4e989800c5ef587936f65e8570e292fa"
},
{
"name": "THE PANDHARPUR URBAN CO OP. BANK LTD. PANDHARPUR",
"code": "d9d23aae8fbea82d760d8c33b1014032c4abff6432a1aed8d2027fa3909a07c8"
}
..
.
]
}
2. Get Branches List API
Type | URL |
---|---|
POST | https://api.attestr.com/api/{version} /public/finanx/branches |
Request Body Parameters
Key | Description | Required / Optional | Type | Min Version | Max Version |
---|---|---|---|---|---|
bank | Input bank code as returned in the Get Banks List API. | Required | String | v1 | |
$filter | Filter criteria to search the branches. Filters can be applied on branch, city, state, district and code fields. See sample requests below for details. | Optional | Object | v1 | |
$sort | Sort order to be applied to the search results. Sorting can be applied on branch, city, state, district, address and code fields. If not provided, results are sorted by the branch name in ascending order. Use 1 for ascending and -1 for descending order. See sample requests below for details. | Optional | Object | v1 |
Request Header Parameters
Type | Name | Value / Description | Optional | Min Version | Max Version |
---|---|---|---|---|---|
String | Content-Type | application/json | Required | v1 | |
String | Authorization | Basic {authToken} | Required | v1 |
Sample Request Body
Sample request for fetching all branches for a bank
{
"bank": "c1d59fa082bfaa8021445fd03b217238b26c4b082ef1e273bb09fd922f029beb"
}
Sample requests demonstrating use of filters to return branches from a specific state
{
"bank": "c1d59fa082bfaa8021445fd03b217238b26c4b082ef1e273bb09fd922f029beb",
"$filter": {
"state": "UTTAR PRADESH"
}
}
Multiple filters can be applied in a single request
{
"bank": "c1d59fa082bfaa8021445fd03b217238b26c4b082ef1e273bb09fd922f029beb",
"$filter": {
"state": "UTTAR PRADESH",
"district": "GHAZIABAD"
}
}
Use of $sort parameter to fetch ordered results
{
"bank": "c1d59fa082bfaa8021445fd03b217238b26c4b082ef1e273bb09fd922f029beb",
"$filter": {
"state": "UTTAR PRADESH",
"district": "GHAZIABAD"
},
"$sort": {
"branch": 1 // Use 1 for ascending order and -1 for descending order.
}
}
Ordering can be applied on multiple fields in the order of precedence
{
"bank": "c1d59fa082bfaa8021445fd03b217238b26c4b082ef1e273bb09fd922f029beb",
"$filter": {
"state": "UTTAR PRADESH",
},
"$sort": {
"city": 1,
"branch": -1
}
}
Response
Http Status 200
Key | Description | Type | Min Version | Max Version |
---|---|---|---|---|
valid | Indicates status if the request was successful. | Boolean | v1 | |
count | No of items returned in the response | Integer | v1 | |
items | Array of BankBranchObject. Each value in the array represents a branch | Array | v1 | |
message | Error message if valid is false | String | v1 |
BankBranchObject Definition
Key | Description | Type | Min Version | Max Version |
---|---|---|---|---|
_id | Branch ID assigned by Attestr to each branch | String | v1 | |
branch | Name of the branch as registered with RBI | String | v1 | |
address | Branch address | String | v1 | |
city | City where this branch is located | String | v1 | |
district | District where this branch is located | String | v1 | |
state | State where this branch is located | String | v1 | |
code | Unique code assigned to each branch. The same should be passed as input to the Search IFSC Code API as described in the section below. | String | v1 |
Sample Response
Success case when the input bank code is valid
{
"valid": false,
"message": null,
"count": 124,
"items": [
{
"_id": "BB0D9ElF58l3Q1XkU1",
"branch": "RTGS-HO",
"address": "SCO.175-187, SECTOR-34A",
"city": "CHANDIGARH",
"district": "CHANDIGARH",
"state": "PUNJAB",
"code": "89816607deeb3ff52997e14c348f07e326898da8f9db7480b8f7bfd0ed4ebab9"
},
{
"_id": "BB0UkKsUZboTHJu0zQ",
"branch": "BRANCH OFFICE SEVENTEEN",
"address": "SCO. 50-51, BANK SQUARE, SECTOR.17-B",
"city": "CHANDIGARH",
"district": "CHANDIGARH",
"state": "PUNJAB",
"code": "2d6ffdad315fa56926faa6e2cef297a136904a5439d19e6826c5517a6a72dfb6"
},
------
---------
]
}
Sample response for the case if input bank code is not valid
{
"valid": false,
"message": "No matching bank code found",
"count": 0,
"items": []
}
3. Search IFSC API
Type | URL |
---|---|
POST | https://api.attestr.com/api/{version} /public/finanx/ifsc/search |
Request Body Parameters
Key | Description | Required / Optional | Type | Min Version | Max Version |
---|---|---|---|---|---|
bank | Input bank code as returned in the Get Banks List API. | Required | String | v1 | |
branch | Input branch code as returned in the Get Branch List API | Required | String | v1 |
Request Header Parameters
Type | Name | Value / Description | Optional | Min Version | Max Version |
---|---|---|---|---|---|
String | Content-Type | application/json | Required | v1 | |
String | Authorization | Basic {authToken} | Required | v1 |
Sample Request Body
{
"bank": "dac5f4c8ed0d9721d46356104ae138ccd1512d2183bc9dedab9d684fd5ac22bf",
"branch": "7b8c7182781209762e2b9389ca13e187eecf4cebd6acff80501af409f79e3096"
}
Response
Http Status 200
Key | Description | Type | Min Version | Max Version |
---|---|---|---|---|
valid | Indicates status if the request was successful. | Boolean | v1 | |
ifsc | IFSC code of the branch | String | v1 | |
message | Error message if no IFSC code is found matching the input bank and branch codes | String | v1 |
Sample Response
Sample response for the case when a matching IFSC code is found
{
"valid": true,
"message": null,
"ifsc": "INDB0000327"
}
Sample response for the case when no matching IFSC code is found. This could be due to non existent / bad values for the bank and branch code values.
{
"valid": false,
"message": "No entry found for the specified criteria",
"ifsc": null
}
Error Response
Parameter | Type | Description |
---|---|---|
code | Number | Unique error codes for different errors. Always available. |
message | String | Error message describing the error. Always Available. |
details | String | Detail error message. Available only for certain types of errors. |
Error Codes
HTTP Status | Error Code | Error Message |
---|---|---|
400 | 4001 | Malformed data or missing required parameter values |
400 | 4005 | Operation could not be performed due to low credits balance |
401 | 4016 | Invalid client authorization |
403 | 4031 | Unauthorized access |
403 | 4035 | Requested service is not provisioned for your account |
403 | 4039 | Client's IP address is not whitelisted |
403 | 4035 | Requested service is not provisioned for your account |
429 | 4291 | Maximum account rate limit exceeded |
429 | 4292 | Maximum API rate limit exceeded |
429 | 4293 | Maximum account daily limit exceeded |
429 | 4294 | Maximum API daily limit exceeded |
500 | 5001 | Request could not be processed |
Sample Error Response
{
"code": 4001,
"message": "Malformed data or missing required parameter values"
}