SWIFT Code
Validate and look up bank information by SWIFT/BIC code. Returns bank name, city, country, and parsed code components.
Overview
Use Cases
- Verify international transfer routing details before payment submission
- Autofill bank metadata in treasury and reconciliation workflows
- Improve KYB and compliance checks with bank location context
- Reduce manual investigation in payment support operations
Features
ISO 9362 SWIFT/BIC format validation (8 or 11 chars)
8-character codes auto-resolve to primary office (XXX)
Structured code components (bank, country, location, branch)
Bank metadata (bank name, city, country)
Fast lookup by full SWIFT/BIC code
API Endpoints
Get SWIFT Code
Look up bank metadata for a SWIFT/BIC code.
GET
https://api.requiems.xyz/v1/finance/swift/{code}
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| code | string |
Required | SWIFT/BIC code (8 or 11 alphanumeric characters) |
Try it out
Live DemoRequest
SWIFT/BIC code (8 or 11 alphanumeric characters)
Sending request...
Response Fields
| Field | Type | Description |
|---|---|---|
| swift_code | string |
Full 11-character SWIFT/BIC code |
| bank_code | string |
Institution code (characters 1-4) |
| country_code | string |
ISO 3166-1 alpha-2 country code (characters 5-6) |
| location_code | string |
Location code (characters 7-8) |
| branch_code | string |
Branch code (characters 9-11), XXX for primary office |
| bank_name | string |
Bank or institution name |
| city | string |
City of the branch or primary office |
| country_name | string |
Full country name |
| is_primary | boolean |
true when branch_code is XXX |
Error Responses
bad_request
Invalid SWIFT/BIC format (must be 8 or 11 valid characters).
not_found
SWIFT/BIC code not found in the dataset.
internal_error
Unexpected server error.
List SWIFT Codes
List SWIFT records with optional filters and pagination.
GET
https://api.requiems.xyz/v1/finance/swift
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| country_code | string |
Optional | Optional 2-letter country code filter (e.g. DE, US) |
| bank_code | string |
Optional | Optional 4-letter bank code filter (e.g. DEUT) |
| q | string |
Optional | Optional text search across swift_code, bank_name, and city |
| limit | integer |
Optional | Max rows to return (default 50, max 200) |
| offset | integer |
Optional | Number of rows to skip (default 0) |
Try it out
Live DemoRequest
Optional 2-letter country code filter (e.g. DE, US)
Optional 4-letter bank code filter (e.g. DEUT)
Optional text search across swift_code, bank_name, and city
Max rows to return (default 50, max 200)
Number of rows to skip (default 0)
Sending request...
Code Examples
curl https://api.requiems.xyz/v1/finance/swift/DEUTDEDB \
-H "requiems-api-key: YOUR_API_KEY"
import requests
code = "DEUTDEDB"
url = f"https://api.requiems.xyz/v1/finance/swift/{code}"
headers = {"requiems-api-key": "YOUR_API_KEY"}
response = requests.get(url, headers=headers)
data = response.json()["data"]
print(data["swift_code"])
print(data["bank_name"])
print(data["country_name"])
const code = 'DEUTDEDB';
const response = await fetch(`https://api.requiems.xyz/v1/finance/swift/${code}`, {
headers: {
'requiems-api-key': 'YOUR_API_KEY'
}
});
const { data } = await response.json();
console.log(data.swift_code);
console.log(data.bank_name);
console.log(data.country_name);
require 'net/http'
require 'json'
code = 'DEUTDEDB'
uri = URI("https://api.requiems.xyz/v1/finance/swift/#{code}")
request = Net::HTTP::Get.new(uri)
request['requiems-api-key'] = 'YOUR_API_KEY'
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
http.request(request)
end
data = JSON.parse(response.body)['data']
puts data['swift_code']
puts data['bank_name']
puts data['country_name']
Error Responses
bad_request
Invalid filter or pagination parameter.
internal_error
Unexpected server error.
Frequently Asked Questions
8-character codes identify a bank's primary office. 11-character codes include a branch identifier. This API normalizes 8-character input by appending XXX.
The endpoint validates SWIFT/BIC format and returns records from the seeded dataset. It does not guarantee operational bank status in real time.
Yes. Input is normalized to uppercase before lookup.