bank-codes APIbank-codes.com ↗
Access SWIFT/BIC codes for international banks and Indian IFSC codes via 9 endpoints. Search, browse by country, and retrieve full branch details.
What is the bank-codes API?
The bank-codes.com API exposes 9 endpoints covering SWIFT/BIC codes for international banks and IFSC codes for Indian bank branches. Use search_swift_codes to find institutions by name and get back their SWIFT codes, branch names, cities, and countries — or drill into a full BIC code analysis breakdown with get_swift_code_details. IFSC search and browsing endpoints cover Indian banks down to the branch level, including address, district, and state.
curl -X GET 'https://api.parse.bot/scraper/87771c33-5bb5-454f-9177-356a37271d27/search_swift_codes?query=barclays' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace bank-codes-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: Bank Codes SDK — search SWIFT/BIC codes and Indian IFSC codes."""
from parse_apis.bank_codes_api import BankCodes, CodeNotFound
client = BankCodes()
# Search SWIFT codes for a bank and inspect results
for code in client.swiftcodesummaries.search(query="barclays", limit=5):
print(code.institution_name, code.swift_code, code.city, code.country)
# Drill into the first result for full details
summary = client.swiftcodesummaries.search(query="barclays", limit=1).first()
if summary:
detail = summary.details()
print(detail.institution, detail.swift_code, detail.address, detail.country)
print(detail.analysis.institutions_4_letter_code, detail.analysis.country_code)
# Browse countries and get banks for one
country = client.countries.list(limit=1).first()
if country:
for bank in country.banks(limit=3):
print(bank.name, bank.slug, bank.is_multi_branch)
# Search Indian IFSC codes
ifsc = client.ifsccodesummaries.search(query="HDFC", limit=1).first()
if ifsc:
ifsc_detail = ifsc.details()
print(ifsc_detail.bank, ifsc_detail.ifsc_code, ifsc_detail.branch, ifsc_detail.state)
# List Indian banks and get states for one
indian_bank = client.indianbanks.list(limit=1).first()
if indian_bank:
for state in indian_bank.states(limit=3):
print(state.name, state.slug)
# Typed error handling
try:
bad = client.swiftcodesummaries.search(query="barclays", limit=1).first()
if bad:
bad.url_slug = "nonexistent-slug-xyz"
bad.details()
except CodeNotFound as exc:
print(f"Not found: {exc.slug}")
print("exercised: swiftcodesummaries.search / details / countries.list / banks / ifsccodesummaries.search / details / indianbanks.list / states")
Search for SWIFT/BIC codes by bank or institution name. Returns matching institutions with their SWIFT codes, branch names, cities, and countries. Large banks (e.g. HSBC, JPMorgan) may return hundreds of results.
| Param | Type | Description |
|---|---|---|
| queryrequired | string | Search query - bank or institution name (e.g. 'barclays', 'HSBC') |
{
"type": "object",
"fields": {
"results": "array of objects with institution_name, url_slug, swift_code, branch_name, city, country"
}
}About the bank-codes API
SWIFT/BIC Code Endpoints
search_swift_codes accepts a bank or institution name (e.g. jpmorgan, HSBC) and returns an array of matching records with institution_name, swift_code, branch_name, city, country, and a url_slug for follow-on lookups. Pass that slug to get_swift_code_details to retrieve the full record: address, swift_code (11-character), swift_code_8char, and an analysis object that breaks the BIC down into institution code, country code, location code, and branch code components. This breakdown is useful for validating or parsing codes programmatically.
Browsing Banks by Country
list_countries returns every country that has SWIFT data available, with a name and slug per entry. Feed a country_slug (e.g. germany, united-states-usa) into get_banks_by_country to receive an array of banks, each with name, slug, branch_count, and is_multi_branch. Then pass a bank_slug and country_slug to get_bank_branches to list all branches for that bank, each with its own swift_code, branch_name, city, and country.
Indian IFSC Code Endpoints
search_ifsc_codes takes a bank name query and returns results with bank, state, district, city, branch, ifsc_code, and a url_slug. Use that slug with get_ifsc_code_details to get the full branch record including address and contact. get_ifsc_banks_list enumerates all Indian banks with IFSC coverage. get_bank_ifsc_by_state is dual-mode: omit state_slug to get a list of states where a bank operates; include it to receive all branches in that state with full IFSC details.
Data Shape Notes
branch_count in get_banks_by_country results can be null for some institutions — treat it as optional in your data model. The contact field from get_ifsc_code_details may return an empty string for branches where no phone number is listed.
The bank-codes API is a managed, monitored endpoint for bank-codes.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when bank-codes.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official bank-codes.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Validate SWIFT/BIC codes before initiating international wire transfers by checking the
analysisbreakdown fromget_swift_code_details - Build a bank branch locator for India using
get_bank_ifsc_by_statefiltered by state and district fields - Auto-fill bank details in payment forms by resolving an IFSC code to branch name, address, city, and district
- Enumerate all SWIFT-registered banks in a country using
get_banks_by_countryandget_bank_branches - Cross-reference institution names with SWIFT codes for compliance or KYC workflows using
search_swift_codes - Detect multi-branch institutions versus single-branch entities using the
is_multi_branchflag fromget_banks_by_country - Populate country-bank-branch drill-down UI components using the three-step
list_countries→get_banks_by_country→get_bank_brancheschain
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does bank-codes.com have an official developer API?+
What does `get_swift_code_details` return beyond the basic SWIFT code?+
analysis object that splits the code into its institution code, country code, location code, and branch code components.Does `get_bank_ifsc_by_state` return branches directly, or does it require two calls?+
bank_slug, it returns a states array listing states where that bank has branches. Adding state_slug to the same call returns a branches array with full IFSC details for every branch in that state.Does the API cover MICR codes or BIC codes for non-bank financial institutions?+
Is branch-level address data available for international (non-India) banks?+
get_swift_code_details returns an address field, but the IFSC-specific fields (district, state, contact) are only present in the Indian IFSC endpoints. Branch address completeness varies by institution and country, as bank-codes.com itself reflects what institutions have registered.