Service Overview
Bank-kun is a free API for looking up Japanese financial institution codes (bank codes and branch codes). Since its launch in 2015, it has been used in a wide range of business systems, including accounting systems, payroll systems, and financial apps.
Financial institution codes are essential for bank transfers, direct debits, and other financial transactions in Japan. But they are easy to get wrong when typed by hand, and a single mistake can cause failed transfers and business delays. With Bank-kun, you can instantly retrieve the correct code from a bank or branch name and eliminate input errors.
It covers about 1,400 financial institutions and about 13,000 branches nationwide, including banks, shinkin banks, credit cooperatives, and agricultural cooperatives. It is also linked with the National Tax Agency’s corporate number data to provide highly reliable information.
Why Is It Free?
Looking up financial institution codes is a basic function that many business systems need. Yet paid APIs come with high monthly fees, making them a significant hurdle for small businesses and independent developers.
Guided by our mission to “make people’s experiences simpler and more comfortable through technology,” Teraren believes this kind of basic infrastructure should be free. Bank-kun is completely free so that developers can focus on creating real value.
Main Use Cases
1. Accounting and Bookkeeping Systems
When registering transfer details for business partners, just enter the bank and branch names to automatically retrieve the correct financial institution codes. It lightens the load on accounting staff and prevents transfer mistakes.
2. Payroll Systems
When registering employees’ account information, the accuracy of bank and branch codes is checked automatically. Failed salary transfers are prevented before they happen, helping you keep your employees’ trust.
3. Financial Apps and Fintech Services
When users register a bank account, they only need to type part of the bank name to see a narrowed-down list of candidates. An intuitive UI improves the user experience.
4. Account Registration on E-commerce Sites
Makes it easy for sellers and suppliers to choose their bank and branch when registering payout accounts, saving them from searching through a huge list of financial institutions.
How to Use It
Search by Bank Name
// JavaScript (Fetch API)
const bankName = 'みずほ';
fetch(`https://bank.teraren.com/banks.json?name=${encodeURIComponent(bankName)}`)
.then(response => response.json())
.then(data => {
console.log(data);
// [
// {
// "code": "0001",
// "name": "みずほ銀行",
// "kana": "ミズホ"
// }
// ]
});
Search Branches by Bank Code
const bankCode = '0001';
fetch(`https://bank.teraren.com/banks/${bankCode}/branches.json`)
.then(response => response.json())
.then(data => {
console.log(data);
// [
// {
// "code": "001",
// "name": "東京営業部",
// "kana": "トウキヨウ",
// "address": "東京都千代田区..."
// },
// ...
// ]
});
Fuzzy Search by Branch Name
const bankCode = '0001';
const branchName = '渋谷';
fetch(`https://bank.teraren.com/banks/${bankCode}/branches.json?name=${encodeURIComponent(branchName)}`)
.then(response => response.json())
.then(data => {
console.log(data);
// [
// {
// "code": "650",
// "name": "渋谷支店",
// "kana": "シブヤ",
// "address": "東京都渋谷区..."
// },
// {
// "code": "651",
// "name": "渋谷中央支店",
// "kana": "シブヤチユウオウ",
// "address": "東京都渋谷区..."
// }
// ]
});
React Example
import { useState, useEffect } from 'react';
function BankSelector() {
const [banks, setBanks] = useState([]);
const [branches, setBranches] = useState([]);
const [selectedBank, setSelectedBank] = useState('');
const [searchQuery, setSearchQuery] = useState('');
// Fetch bank name suggestions
useEffect(() => {
if (searchQuery.length < 2) return;
const fetchBanks = async () => {
const response = await fetch(
`https://bank.teraren.com/banks.json?name=${encodeURIComponent(searchQuery)}`
);
const data = await response.json();
setBanks(data);
};
const timer = setTimeout(fetchBanks, 300);
return () => clearTimeout(timer);
}, [searchQuery]);
// Fetch the branch list for the selected bank
useEffect(() => {
if (!selectedBank) return;
const fetchBranches = async () => {
const response = await fetch(
`https://bank.teraren.com/banks/${selectedBank}/branches.json`
);
const data = await response.json();
setBranches(data);
};
fetchBranches();
}, [selectedBank]);
return (
<div>
<input
type="text"
value={searchQuery}
onChange={(e) => setSearchQuery(e.target.value)}
placeholder="Enter a bank name"
/>
<select onChange={(e) => setSelectedBank(e.target.value)}>
<option value="">Select a bank</option>
{banks.map(bank => (
<option key={bank.code} value={bank.code}>
{bank.name} ({bank.code})
</option>
))}
</select>
{branches.length > 0 && (
<select>
<option value="">Select a branch</option>
{branches.map(branch => (
<option key={branch.code} value={branch.code}>
{branch.name} ({branch.code})
</option>
))}
</select>
)}
</div>
);
}
Response Format
Successful Bank Search (200 OK)
[
{
"code": "0001",
"name": "みずほ銀行",
"kana": "ミズホ",
"type": "銀行"
}
]
Successful Branch Search (200 OK)
[
{
"code": "001",
"name": "東京営業部",
"kana": "トウキヨウ",
"address": "東京都千代田区大手町1-5-5",
"postal_code": "1000004",
"phone": "03-1234-5678"
}
]
Data Reliability
Bank-kun uses the following public data sources:
- Japanese Bankers Association: List of financial institution codes
- National Tax Agency Corporate Number Publication Site: Up-to-date information on financial institutions
- Official websites of each financial institution: Branch addresses and phone numbers
When financial institutions merge or branches are consolidated or closed, we usually update the data within two to four weeks. We strive to handle important changes even sooner.
Performance and Infrastructure
- Cloudflare Workers: Fast responses through edge computing
- Fuzzy search engine: Supports partial matches and kana searches
- Cache optimization: Frequently searched banks are returned extremely fast
A custom index structure enables fast searches across data for about 13,000 branches.
Troubleshooting
My search returns no results
- Search using the bank’s official name (e.g., 三菱UFJ銀行 / MUFG Bank)
- Former names may not be searchable
- For financial institutions that have merged, search using the new name
Old branch codes are returned
- It may take some time for branch consolidation information to be reflected
- If you need the very latest information, please contact us
Fuzzy search isn’t working
- Enter at least two characters
- Katakana, hiragana, and kanji are all supported
Comparison with Competing Services
| Item | Bank-kun | API Service A | API Service B |
|---|---|---|---|
| Price | Completely free | From ¥10,000/month | Free tier (5,000 requests/month) |
| Financial institutions | About 1,400 | About 1,200 | About 1,500 |
| Branches | About 13,000 | About 12,000 | About 14,000 |
| Fuzzy search | ○ | ○ | × |
| Authentication | Not required | API key required | OAuth required |
| Update frequency | Monthly | Quarterly | Monthly |
Roadmap
- Notifications about closures and mergers of financial institutions
- Historical bank code data
- SWIFT code support
- Business hours of financial institutions
We will keep expanding the service so it can be of use to your business. If you have any requests, please feel free to contact us.