Wise API: Search SWIFT codes
Finds the SWIFT/BIC codes and branch locations Wise lists for a bank in a country, optionally narrowed by city, address, postcode, branch name or code; head office first.
Unofficial. Not affiliated with or endorsed by Wise.
Inputs
Values from the run on Oct 31, 2026, shown under Output.
- Bank, required
bank Bank name, such as Barclays.
Chase
- Country, required
country Country name or two-letter code, such as United Kingdom or GB.
US
- Max Results optional
max_results Maximum number of codes to return, such as 20.
100
Whole number from 1 to 100. Default
20.- City or Branch optional
city_or_branch Optional city, address, postcode, branch name or SWIFT code to narrow results, such as London.
(default)
Input as JSON
{ "bank": "Chase", "country": "US", "max_results": 100}Output
{ "codes": [ { "city": "NEW YORK", "address": "270 PARK AVENUE", "country": "United States", "postcode": "10179", "bank_name": "JPMORGAN CHASE BANK, N.A.", "branch_name": "Head office", "swift_bic_code": "CHASUS33XXX", "wise_page_link": "https://wise.com/gb/swift-codes/CHASUS33XXX" }, { "city": "NEW YORK", "address": null, "country": "United States", "postcode": null, "bank_name": "JPMORGAN CHASE BANK, N.A.", "branch_name": null, "swift_bic_code": "CHASUS31HPQ", "wise_page_link": "https://wise.com/gb/swift-codes/CHASUS31HPQ" }, { "city": "NEW YORK", "address": "270 PARK AVENUE", "country": "United States", "postcode": "10179", "bank_name": "JPMORGAN CHASE BANK, N.A.", "branch_name": null, "swift_bic_code": "CHASUS331MX", "wise_page_link": "https://wise.com/gb/swift-codes/CHASUS331MX" } ]}Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"wise.com/search_swift_codes","input":{"bank":"Chase","country":"US","max_results":100}}' # Save as fous.py, then run: python3 fous.pyimport json, os, timefrom urllib.error import HTTPErrorfrom urllib.request import Request, urlopenAPI = "https://api.fous.com/v1/runs" KEY = os.environ["FOUS_API_KEY"]HEADERS = { "Authorization": f"Bearer {KEY}", "Content-Type": "application/json" ,}def call(url, body=None): data = json.dumps(body).encode() if body else None request = Request(url, data, HEADERS) try: with urlopen(request, timeout=120) as r: return r.status, json.load(r) except HTTPError as error: message = json.load(error)["error"]["message"] raise RuntimeError(message) from errorstatus, run = call(API, { "method": "wise.com/search_swift_codes" , "input": { "bank": "Chase", "country": "US", "max_results": 100 }})# 202: still going after 30 s. Ask again until it ends.while status == 202: time.sleep(2) status, run = call(f"{API}/{run['id']}")print(json.dumps(run["data"], indent=2))// Save as fous.mjs, then run: node fous.mjsconst api = "https://api.fous.com/v1/runs" ;const headers = { Authorization: `Bearer ${process.env.FOUS_API_KEY}`, "Content-Type": "application/json" ,};let response = await fetch(api, { method: "POST", headers, body: JSON.stringify({ "method": "wise.com/search_swift_codes" , "input": { "bank": "Chase", "country": "US", "max_results": 100 } }), signal: AbortSignal.timeout(120_000),});let run = await response.json();// 202: still going after 30 s. Ask again until it ends.while (response.status === 202) { await new Promise((done) => setTimeout(done, 2_000)); response = await fetch(`${api}/${run.id}`, { headers }); run = await response.json();}if (!response.ok) throw new Error(run.error.message);console.log(run.data);# Connect your agent to Fous once, over MCP (Streamable HTTP):# https://api.fous.com/mcp# Set FOUS_API_KEY first: create a key at https://app.fous.com/keys.# Claude Codeclaude mcp add \ --scope user \ --transport http fous https://api.fous.com/mcp \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Codexcodex mcp add fous \ --url https://api.fous.com/mcp \ --bearer-token-env-var FOUS_API_KEY# Cursor, VS Code, Windsurf, Cline and morenpx -y add-mcp https://api.fous.com/mcp -g -n fous \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Then ask your agent:# "Use Fous to run wise.com/search_swift_codes# with {"bank":"Chase","country":"US","max_results":100}"Over HTTP, the answer’s data holds the output. A run still going after 30 seconds answers 202 with its id: ask GET /v1/runs/{id} until it ends.
Schema
Input schema
{ "type": "object", "required": [ "bank", "country" ], "properties": { "bank": { "type": "string", "description": "Bank name, such as Barclays." }, "country": { "type": "string", "description": "Country name or two-letter code, such as United Kingdom or GB." }, "max_results": { "type": "integer", "default": 20, "maximum": 100, "minimum": 1, "description": "Maximum number of codes to return, such as 20." }, "city_or_branch": { "type": "string", "default": "", "description": "Optional city, address, postcode, branch name or SWIFT code to narrow results, such as London." } }}Output schema
{ "type": "object", "required": [ "codes" ], "properties": { "codes": { "type": "array", "items": { "type": "object", "required": [ "bank_name", "swift_bic_code", "branch_name", "address", "city", "postcode", "country", "wise_page_link" ], "properties": { "city": { "type": [ "string", "null" ] }, "address": { "type": [ "string", "null" ] }, "country": { "type": [ "string", "null" ] }, "postcode": { "type": [ "string", "null" ] }, "bank_name": { "type": [ "string", "null" ] }, "branch_name": { "type": [ "string", "null" ] }, "swift_bic_code": { "type": "string", "description": "SWIFT/BIC code with 8 or 11 characters." }, "wise_page_link": { "type": "string", "description": "Wise page for this code." } }, "additionalProperties": false }, "description": "Matching bank codes, head office first." } }, "additionalProperties": false}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
wise.com/search_swift_codes- Returns
- bank name, SWIFT/BIC code, branch name, address, city, postcode, country, Wise page link
Use it from your agent
Give your agent this line. It reads SKILL.md, gets a Fous API key and connects the Fous MCP server. Its run then takes the method wise.com/search_swift_codes with the inputs above.
Ask your agent
- What's the SWIFT code for HSBC in Hong Kong? I need the head office one for an incoming wire.
- Look up BIC codes for Deutsche Bank branches in Frankfurt, Germany, with addresses and postcodes.
- On wise.com, find the SWIFT/BIC for Banco Santander in Spain, Madrid branch.
- I'm sending money to a friend who banks with ICICI Bank in Mumbai, India. Which SWIFT code should I use, and what's the branch address?
- Use Wise to list up to 10 SWIFT codes for Commonwealth Bank of Australia, including branch names and cities.
See more
All Wise methodsChecks an IBAN's country length and check digits locally, then looks up the bank details Wise shows for it. A valid format does not confirm the account exists; branch names may be unavailable.
wise.com/check_ibanCompares what recipients get from Wise and other providers for a transfer amount and currency pair, with fees, rates and delivery times.
wise.com/compare_transfer_costsGets Wise's current mid-market exchange rate and converted amount for two currencies, with optional daily rate history.
wise.com/get_exchange_rateLooks up a UK postcode on Postcodes.io, including its location, administrative areas and whether it is still in use. Retired postcodes return location and retirement year only.
postcodes.io/get_postcodeFinds postal codes, place names and coordinates for a town and state or region in a country covered by Zippopotam.us.
zippopotam.us/search_postal_codesFinds available hostels, hotels and guesthouses on Hostelworld in a city for given dates, with per-night dorm and private room prices, ratings, facilities and booking links.
hostelworld.com/search_hostelsFinds Indian post offices matching a place name, with PIN codes, branch types, delivery statuses, districts and states. Optionally narrows by state or district.
postalpincode.in/search_pin_codesSearches the UK Companies House register by company name and returns each company's status, type, incorporation date and registered office address, in result order.
find-and-update.company-information.service.gov.uk/search_companies