API Documentation

Access comprehensive Indian banking data programmatically with our free RESTful API

Free to Use

No authentication required

Rate Limited

60 requests/minute per IP

RESTful

Clean, predictable endpoints

Getting Started

Base URL

https://findmebank.com/api/v1

Response Format

All responses are returned in JSON format with UTF-8 encoding.

No Authentication Required

Our API is completely free and open - no API keys or authentication needed. Simply make HTTP requests to our endpoints.

Rate Limiting

Limit: 60 requests per minute per IP address

Headers: Each response includes rate limit information:

  • X-RateLimit-Limit: Maximum requests allowed per minute
  • X-RateLimit-Remaining: Remaining requests in current window
  • Retry-After: Seconds until rate limit resets (when exceeded)

429 Response: When rate limit is exceeded, you'll receive a 429 Too Many Requests error.

API Endpoints

GET /ifsc/{ifsc}

Description: Get complete branch details by IFSC code

Parameters

Parameter Type Required Description
ifsc string Yes 11-character IFSC code (e.g., SBIN0001234)

Example Request

GET https://findmebank.com/api/v1/ifsc/HDFC0000001

Example Response

{
  "data": {
    "id": 1,
    "bank": "HDFC Bank",
    "branch": "Mumbai Main Branch",
    "ifsc": "HDFC0000001",
    "micr": "400240002",
    "address": "Kamala Mills Compound, Senapati Bapat Marg, Lower Parel, Mumbai - 400013",
    "contact": "022-61606161",
    "city": "Mumbai",
    "district": "Mumbai",
    "state": "Maharashtra"
  }
}

GET /banks

Description: Get list of all banks in the database

Example Request

GET https://findmebank.com/api/v1/banks

Example Response

{
  "data": [
    {
      "name": "State Bank of India",
      "slug": "state-bank-of-india",
      "url": "https://findmebank.com/api/v1/banks/state-bank-of-india/states"
    },
    {
      "name": "HDFC Bank",
      "slug": "hdfc-bank",
      "url": "https://findmebank.com/api/v1/banks/hdfc-bank/states"
    }
  ],
  "count": 200
}

GET /banks/{bank}/states

Description: Get all states where a specific bank has branches

Parameters

Parameter Type Required Description
bank string Yes Bank slug (e.g., state-bank-of-india)

Example Request

GET https://findmebank.com/api/v1/banks/hdfc-bank/states

GET /banks/{bank}/states/{state}/cities

Description: Get all cities in a state where a bank has branches

Parameters

Parameter Type Required Description
bank string Yes Bank slug
state string Yes State slug (e.g., maharashtra)

Example Request

GET https://findmebank.com/api/v1/banks/hdfc-bank/states/maharashtra/cities

GET /banks/{bank}/states/{state}/cities/{city}/branches

Description: Get all branches of a bank in a specific city

Parameters

Parameter Type Required Description
bank string Yes Bank slug
state string Yes State slug
city string Yes City slug (e.g., mumbai)

Example Request

GET https://findmebank.com/api/v1/banks/hdfc-bank/states/maharashtra/cities/mumbai/branches

GET /branches

Description: Search for branches by keywords (bank name, branch name, IFSC, city, etc.)

Query Parameters

Parameter Type Required Description
q string Yes Search query (minimum 2 characters)

Example Request

GET https://findmebank.com/api/v1/branches?q=hdfc+mumbai

Example Response

{
  "data": [
    {
      "bank": "HDFC Bank",
      "branch": "Mumbai Main Branch",
      "ifsc": "HDFC0000001",
      "city": "Mumbai",
      "district": "Mumbai",
      "state": "Maharashtra"
    }
  ],
  "count": 5
}

GET /states

Description: Get list of all states/UTs with bank branches

Example Request

GET https://findmebank.com/api/v1/states

GET /states/{state}/cities

Description: Get all cities in a state with bank branches

Example Request

GET https://findmebank.com/api/v1/states/maharashtra/cities

Code Examples

JavaScript (Fetch API)

// Get branch by IFSC code
fetch('https://findmebank.com/api/v1/ifsc/HDFC0000001')
  .then(response => response.json())
  .then(data => {
    console.log('Bank:', data.data.bank);
    console.log('Branch:', data.data.branch);
    console.log('Address:', data.data.address);
  })
  .catch(error => console.error('Error:', error));

Python (Requests)

import requests

# Get branch by IFSC code
response = requests.get('https://findmebank.com/api/v1/ifsc/HDFC0000001')
data = response.json()

print(f"Bank: {data['data']['bank']}")
print(f"Branch: {data['data']['branch']}")
print(f"Address: {data['data']['address']}")

cURL

curl -X GET "https://findmebank.com/api/v1/ifsc/HDFC0000001" \
     -H "Accept: application/json"

PHP

$url = 'https://findmebank.com/api/v1/ifsc/HDFC0000001';
$response = file_get_contents($url);
$data = json_decode($response, true);

echo "Bank: " . $data['data']['bank'] . "\n";
echo "Branch: " . $data['data']['branch'] . "\n";
echo "Address: " . $data['data']['address'] . "\n";

Error Handling

HTTP Status Codes

Code Status Description
200 OK Request successful
400 Bad Request Invalid parameters or malformed request
404 Not Found Resource not found (e.g., IFSC code doesn't exist)
429 Too Many Requests Rate limit exceeded - wait before retrying
500 Internal Server Error Server error - please contact support if persists

Error Response Format

{
  "error": "Not found",
  "message": "Branch with this IFSC code not found"
}

Support

Need Help?

If you have questions, find bugs, or need assistance with the API:

Note: This API is provided free of charge. While we strive for high availability, we do not guarantee uptime or provide SLA commitments.

Attribution Appreciated

If you're using our API in your application, we'd appreciate attribution or a link back to FindMeBank.com. It helps us continue providing this free service!