You need to validate bank details fast—routing numbers for ACH, IBANs for SEPA, and SWIFT/BICs for international wires—before your next release goes out. By the end of this guide, you’ll have working requests that verify these identifiers and return bank metadata you can display in your UI or use in your payment workflows.
What this API solves for your Finance and Payments flows
The SWIFT - IBAN - Routing Bank Checker API provides three focused validation endpoints:
- Routing Bank Checker: Validates a US routing number and returns bank metadata (name, city, state, phone, last revision date).
- IBAN Code Checker: Validates an IBAN and returns country info and parsed components (bank code, branch code, BBAN, checksum).
- SWIFT Code Checker: Validates a SWIFT/BIC and returns bank identity, location, and a breakdown of the code.
Common uses include checkout pre-validation to cut failed payments, onboarding forms that auto-fill bank details after a user enters a number, treasury ops that verify beneficiaries, and support tooling that confirms bank identity during disputes.
Getting started on Zyla API Hub
Open the listing for this API, subscribe, and get your key. Zyla API Hub uses a subscription + quota model (not pay-per-call). For first-time use on the hub, you can start with a 7-day trial or 50 requests depending on the API’s current access options; check the API page for current access options and pricing.
- Go to the API page and click Subscribe (or Start Free Trial when available).
- Copy your API key.
- Send requests with Authorization: Bearer YOUR_API_KEY.
Zyla API Hub centralizes more than 10,000 public APIs under one account and one key. You can explore more categories and finance APIs directly on zylalabs.com and manage all subscriptions in one place.
Start 7-day trial on SWIFT - IBAN - Routing Bank Checker API
Authentication
Send your key in the Authorization header:
- Header: Authorization
- Value: Bearer YOUR_API_KEY
No other auth parameters are required in the examples below.
Endpoint: Routing Bank Checker
Validate a US routing number and retrieve bank metadata.
- Method: GET
- URL: https://zylalabs.com/api/1887/swift-iban-routing-bank-checker-api/1580/routing-bank-checker
- Required query parameter:
- number (number): 121000248
cURL example
curl -s -X GET "https://zylalabs.com/api/1887/swift-iban-routing-bank-checker-api/1580/routing-bank-checker?number=121000248" \
-H "Authorization: Bearer YOUR_API_KEY"
Official example response
{
"status": 200,
"success": true,
"message": "Routing Bank 031101334 is valid",
"data": {
"routing_number": "031101334",
"date_of_revision": "Jan 5, 2023",
"new_routing_number": "",
"bank": "Sofi Bank, National Association",
"address": "San Francisco, CA",
"city": "San Francisco",
"state": "CA",
"zip": "",
"phone": "855-936-2269"
}
}
What to use in your app:
- status, success, message: quick check for validation state and user-facing copy.
- data.routing_number: the validated routing number (may reflect updates if applicable).
- data.bank, data.city, data.state, data.phone: display metadata in onboarding forms or admin tools.
- data.date_of_revision and data.new_routing_number: useful for reconciliation and migration handling.
Note: date_of_revision is a human-readable date string. If you need sorting or comparisons, parse it into your standard date format server-side.
Python example using requests
import os
import requests
API_KEY = os.getenv("ZYLALABS_API_KEY", "YOUR_API_KEY")
url = "https://zylalabs.com/api/1887/swift-iban-routing-bank-checker-api/1580/routing-bank-checker"
params = {"number": "121000248"}
headers = {"Authorization": f"Bearer {API_KEY}"}
resp = requests.get(url, headers=headers, params=params, timeout=10)
resp.raise_for_status()
data = resp.json()
if data.get("success"):
bank_info = data.get("data", {})
print("Validated:", data.get("message"))
print("Routing:", bank_info.get("routing_number"))
print("Bank:", bank_info.get("bank"))
print("Location:", f'{bank_info.get("city")}, {bank_info.get("state")}')
print("Phone:", bank_info.get("phone"))
else:
# Handle validation failure (e.g., show a form error)
print("Validation failed:", data.get("message"))
Endpoint: IBAN Code Checker
Validate an IBAN and retrieve country and structural details.
- Method: GET
- URL: https://zylalabs.com/api/1887/swift-iban-routing-bank-checker-api/1581/iban-code-checker
- Required query parameter:
- number (string): PT50000101231234567890192
On success, you receive validation state and parsed fields such as:
- iban, country, sepa_country, checksum
- bban, bank_code, branch_code, account_number
Use cases:
- Auto-fill bank name fields downstream once a valid IBAN is provided.
- SEPA-specific routing: check sepa_country equals Yes before enabling SEPA payment methods.
- Client-side validation before passing payments to your processor.
Endpoint: SWIFT Code Checker
Validate a SWIFT/BIC and retrieve bank identity and a breakdown of the code.
- Method: GET
- URL: https://zylalabs.com/api/1887/swift-iban-routing-bank-checker-api/1582/swift-code-checker
- Required query parameter:
- code (string): ADTVBRDF
On success, you receive validation state, identity fields, and a structured breakdown, including:
- swift_code, bank, city, branch, address, post_code, country, country_code
- breakdown.swift_code, breakdown.bank_code, breakdown.country_code, breakdown.location_code, breakdown.code_status, breakdown.branch_code
Typical implementations:
- Show bank and country as soon as a payer types a SWIFT/BIC, reducing form friction.
- Guardrails in payout onboarding by checking country_code aligns with the expected corridor.
- Audit logs: persist the breakdown fields to track why a code was accepted or rejected.
Putting it together in your product
Checkout and payout forms
- Client-side check: hit the relevant endpoint when a field loses focus (debounced), and surface message as inline feedback.
- Server-side recheck: perform the same call before persisting or initiating a payment to avoid tampering.
- On success, store normalized identifiers (routing_number, iban, swift_code) and bank metadata for display and review.
Treasury and finance ops
- Batch-verify beneficiary lists overnight; log message and data fields to reconcile updates (e.g., new_routing_number).
- Gate cross-border corridors: use IBAN country and SWIFT country_code to enable specific rails.
Support tooling
- Build a “Verify bank details” panel that fetches and displays bank, city, state/country, and contact fields for quick confirmations.
Operational notes and integration tips
- Idempotency: GET requests are safe to cache. Cache positive validations (and associated bank metadata) for commonly used beneficiaries.
- Dates: date_of_revision is a human-readable string; parse as needed for storage or comparisons.
- International vs domestic: route US ACH to Routing Bank Checker; use IBAN Code Checker for IBAN regions; use SWIFT Code Checker everywhere you collect BICs.
- Error handling: check success and status before consuming data. Always surface a clear, actionable message to the user.
- Throughput and quotas: usage is subscription + quota. Check the API page for current access options and pricing.
Call the API via AI agents using MCP
If you orchestrate finance workflows with MCP-compatible tools (e.g., Claude Code, Cursor, Windsurf), you can call this API through Zyla’s MCP endpoint. Configure your agent to reach:
Use your Zyla API key (apikey query parameter) and have the agent invoke the SWIFT - IBAN - Routing Bank Checker API endpoints by their marketplace paths. This lets autonomous tools validate routing numbers, IBANs, or SWIFT codes as part of multi-step tasks (e.g., parse a CSV then verify each beneficiary).
Testing checklist
- Routing: test with number=121000248 and verify you parse message, success, and data fields.
- IBAN: test with number=PT50000101231234567890192 and confirm sepa_country and parsed components are handled.
- SWIFT: test with code=ADTVBRDF and ensure you can display bank, country, and breakdown fields.
- Timeouts and retries: set sensible client timeouts and retry only on transient network errors.
- Logging: store the message and a subset of data fields for audit trails and support diagnostics.
Explore more on Zyla API Hub
Manage all your finance validations and more under one key on zylalabs.com. When you need to expand beyond validations, browse other Finance & Payments listings and wire them into the same build process.
FAQ
What’s the difference between routing, IBAN, and SWIFT codes?
A routing number is used for US domestic transfers (ACH/wires). An IBAN is used in many countries (including SEPA) and encodes country, bank, branch, and account information. A SWIFT/BIC identifies a bank internationally and is used for cross-border payments.
How do I authenticate requests?
Send Authorization: Bearer YOUR_API_KEY in the request headers for each call to the marketplace endpoint URLs shown above.
Can I use this from a serverless function?
Yes. These are standard HTTPS GET requests with a header for auth. Keep your API key in your platform’s secret manager and set appropriate timeouts.
Are the response fields stable?
Use the fields demonstrated in the examples (e.g., status, success, message, data.*). If you need to depend on additional fields, consult the API page for any updates before releasing to production.
What are the access options and limits?
The hub uses a subscription + quota model. First-time access typically offers a 7-day trial or 50 requests; check the API page for current access options and pricing.
Ready to validate bank details and ship with confidence? Start your integration here: Start 7-day trial on SWIFT - IBAN - Routing Bank Checker API