swift_lookup
Search banks and financial institutions by name, SWIFT/BIC code, or country.
Covers both SWIFT-connected banks and non-SWIFT financial institutions (e-money issuers, payment processors, MFOs, brokerages, VASPs, etc.).
Returns: SWIFT/BIC code (if any), name, city, country, institution type, GPI membership, a coarse sanctions FLAG across 7 hard-sanctions watchlists (OFAC SDN, EU, UK, CA, CH, AU, NZ — see sanctions_note; this is NOT a full screen, use sanctions_screen for a compliance verdict), and enriched bank profile when available.
EVERY BANK COMES BACK SAYING WHETHER WE HOLD ITS CORRESPONDENT CHAIN.
Read settlement_instructions on each bank: on_file: true with a
currencies_on_file count means we hold that BIC8's actual correspondent
BIC, nostro account number and national clearing ID, and read_with is the
exact ssi_lookup call that returns them. on_file: false means we hold none
in any currency — a gap in our data, not a finding about the bank. A null is
"not established yet" and is neither. This is the answer to "which
intermediary bank do I put on the instruction?", and it is a fact we either
have or do not have — never one to recall from training data.
The country parameter accepts both 2-letter ISO codes ("ID", "DE") and full English names ("Indonesia", "Germany"). Names are resolved automatically.
A BIC IDENTIFIES AN OFFICE, NOT A BRAND, AND THE DIFFERENCE IS PRICED.
A name search returns ONE representative office per bank, elected by BIC
convention rather than by relevance to the payment, and office_note says
so whenever the bank holds more than one. Published tariffs, correspondent
chains and settlement instructions are filed per BIC, so the choice changes
the answer: transfer_cost("COBADEFF") returns Commerzbank's published 0.15%
sending fee and transfer_cost("COBADEBB") refuses for want of a filed
tariff, and both of those are Commerzbank AG in Germany. So:
If the user named a CITY, put it in the query — "Commerzbank Frankfurt" resolves to the Frankfurt office, and the plain name cannot.
If they did not, ask which BIC is on their statement or payment instruction before pricing or routing, and say which office you used.
Never present a representative office's BIC as "the bank's BIC".
Examples: swift_lookup("DEUTDEFF") # exact BIC lookup swift_lookup("Deutsche Bank") # search by name swift_lookup("Commerzbank Frankfurt") # bank + city -> that office's BIC swift_lookup("TBC PAY") # find non-SWIFT payment processor swift_lookup("bank", country="KZ") # explore banks in a country swift_lookup("Halyk", country="KZ") # find specific bank in country swift_lookup("Bank Mandiri", country="Indonesia") # full country name OK
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes | ||
| country | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||