AÇIKLA
Bu sitedeki her araç, doğrudan çağrılabilir. Anahtar yok, hesap yok, istek sınırı yok: her istek dağıtımla birlikte gelen veriden yanıtlanır ve hiçbir şey saklanmaz.
GET /validate, valid:false ve hangi kontrolün düştüğünü söyleyen bir error_code ile 200 döner. Yalnızca eksik parametre 400'dür — bin hesabı kontrol eden bir çağrıcı, dokuz yüz başarısızlığı aktarım hatası gibi ele almak zorunda kalmamalı.
Dizinde olmayan bir banka bank_name'i null bırakır. Yayınlanmış kontrol hanesi olmayan bir ülke tahmin etmek yerine national_check_valid'i null bildirir. Burada hiçbir şey elinde olmayan bir değeri uydurmaz.
Hesap numaraları sorgudan okunur, yanıtlanır ve atılır. Kaydı, veritabanı ve üçüncü tarafı yok.
OPENAPI
Makine okur tanım — bu sayfayla aynı rota tablosundan üretiliyor. Var olmayan bir ucu tarif etmesi mümkün değil.
curl /api/openapi.json
VERİFY
/api/v1/validate
Checks length, structure and mod-97, then the country's own check digits where one is published, and enriches the result from the bundled bank directory. A malformed IBAN is HTTP 200 with valid:false — only a missing iban parameter is a 400.
PARAMETRELER
iban
zorunlu ·
query
curl /api/v1/validate?iban=DE89370400440532013000
/api/v1/validate
The same check, for callers that would rather not put an account number in a URL.
GÖVDE
iban
string ·
zorunlu
ÖRNEK GÖVDE
{
"iban": "DE89370400440532013000"
}
curl -X POST /api/v1/validate \
-H 'content-type: application/json' \
-d '{"iban":"DE89370400440532013000"}'
/api/v1/validate/bulk
Repeat the iban parameter once per account. Returns the same result object for each, plus valid and invalid counts.
PARAMETRELER
iban
zorunlu ·
query
curl /api/v1/validate/bulk?iban=DE89370400440532013000&iban=GB29NWBK60161331926819
/api/v1/validate/bulk
The same, with the list in a JSON body. Preferred for more than a handful.
GÖVDE
ibans
string[] ·
zorunlu
ÖRNEK GÖVDE
{
"ibans": [
"DE89370400440532013000",
"GB29NWBK60161331926819",
"NOPE"
]
}
curl -X POST /api/v1/validate/bulk \
-H 'content-type: application/json' \
-d '{"ibans":["DE89370400440532013000","GB29NWBK60161331926819","NOPE"]}'
/api/v1/extract
Scans prose — an email, an invoice, a chat log — and validates every candidate it finds. The text is processed in the request and discarded.
GÖVDE
text
string ·
zorunlu
ÖRNEK GÖVDE
{
"text": "Please pay DE89 3704 0044 0532 0130 00 by Friday. Old account was GB29 NWBK 6016 1331 9268 19."
}
curl -X POST /api/v1/extract \
-H 'content-type: application/json' \
-d '{"text":"Please pay DE89 3704 0044 0532 0130 00 by Friday. Old account was GB29 NWBK 6016 1331 9268 19."}'
/api/v1/repair
Almost every real failure is one of four things — a wrong character, a missing one, an extra one, or two neighbours swapped. Returns only edits that produce a valid IBAN. unambiguous is true when exactly one does, which is the only case safe to apply without asking.
PARAMETRELER
iban
zorunlu ·
query
limit
isteğe bağlı ·
query
curl /api/v1/repair?iban=DE89370400440532013001
BUİLD
/api/v1/generate
Structurally valid IBANs that satisfy mod-97 and, where one exists, the national check digit. They belong to no real account. Pass every_country=1 for one per country instead.
PARAMETRELER
country
zorunlu ·
query
count
isteğe bağlı ·
query
letters
isteğe bağlı ·
query
every_country
isteğe bağlı ·
query
curl /api/v1/generate?country=DE&count=3
/api/v1/convert
Deterministic construction for AE, BE, DE, FR, GB, NL, TR. Field names match what is printed on the documents a person reads from. Pass bban instead to assemble any country's IBAN from a raw BBAN.
PARAMETRELER
country
zorunlu ·
query
bban
isteğe bağlı ·
query
blz
isteğe bağlı ·
query
account_number
isteğe bağlı ·
query
bank_code
isteğe bağlı ·
query
branch_code
isteğe bağlı ·
query
rib_key
isteğe bağlı ·
query
sort_code
isteğe bağlı ·
query
domestic_number
isteğe bağlı ·
query
reserved_digit
isteğe bağlı ·
query
curl /api/v1/convert?country=DE&blz=37040044&account_number=0532013000
/api/v1/qr
With a beneficiary name, an EPC069-12 payment payload a banking app can pre-fill. Without one, the plain IBAN — still scannable, and honest about carrying no payment. Returns the payload, its byte count and an SVG. The IBAN is validated first: a code built around a broken account number scans cleanly and fails at the bank.
PARAMETRELER
iban
zorunlu ·
query
name
isteğe bağlı ·
query
amount
isteğe bağlı ·
query
bic
isteğe bağlı ·
query
remittance
isteğe bağlı ·
query
reference
isteğe bağlı ·
query
purpose
isteğe bağlı ·
query
note
isteğe bağlı ·
query
curl /api/v1/qr?iban=DE89370400440532013000&name=Example%20GmbH&amount=49.90
/api/v1/qr/decode
Turns the twelve positional lines back into fields.
GÖVDE
payload
string ·
zorunlu
ÖRNEK GÖVDE
{
"payload": "BCD\n002\n1\nSCT\nCOBADEFFXXX\nExample GmbH\nDE89370400440532013000\nEUR49.9\n\n\nInvoice 2026-014\n"
}
curl -X POST /api/v1/qr/decode \
-H 'content-type: application/json' \
-d '{"payload":"BCD\n002\n1\nSCT\nCOBADEFFXXX\nExample GmbH\nDE89370400440532013000\nEUR49.9\n\n\nInvoice 2026-014\n"}'
LOOK UP
/api/v1/swift/:bic
The directory record behind a BIC. Unlike IBAN validation, a syntactically valid BIC that is not listed is a 404 rather than a 200 with null fields.
PARAMETRELER
bic
zorunlu ·
path
curl /api/v1/swift/COBADEFF
/api/v1/bic/parse
Bank, country, location and branch, from the code alone. No directory is consulted, so this answers for codes that are not listed.
PARAMETRELER
bic
zorunlu ·
query
curl /api/v1/bic/parse?bic=COBADEFFXXX
/api/v1/bic/of
The BIC the bundled directory holds for that bank code. Null when the bank is not listed — never a guess, because a wrong BIC routes money to the wrong institution.
PARAMETRELER
iban
zorunlu ·
query
curl /api/v1/bic/of?iban=DE89370400440532013000
/api/v1/banks
By name, BIC or city. Pass country alone to list a country's institutions alphabetically — browsing a country is a different question from searching with a blank term.
PARAMETRELER
q
isteğe bağlı ·
query
country
isteğe bağlı ·
query
limit
isteğe bağlı ·
query
curl /api/v1/banks?q=commerzbank
/api/v1/banks/:slug
The directory entry and its full BIC record.
PARAMETRELER
slug
zorunlu ·
path
curl /api/v1/banks/commerzbank-ag
/api/v1/bics
The same search over BIC records rather than institutions.
PARAMETRELER
q
isteğe bağlı ·
query
country
isteğe bağlı ·
query
limit
isteğe bağlı ·
query
curl /api/v1/bics?country=TR&limit=5
/api/v1/bank-info/:bic
The lookup the site's own interface uses. Never fails: an unknown BIC is found:false with HTTP 200.
PARAMETRELER
bic
zorunlu ·
path
curl /api/v1/bank-info/COBADEFF
EXPLAİN
/api/v1/countries
Length, currency, SEPA membership and a published example, per country.
curl /api/v1/countries
/api/v1/countries/:code
The registered length, the BBAN field layout, and the format mask — k check digit, n digit, A letter, c alphanumeric.
PARAMETRELER
code
zorunlu ·
path
curl /api/v1/countries/DE
/api/v1/domestic
German BLZ and Kontonummer, a British sort code and account number, and so on. Null when the country publishes no domestic presentation — that is a property of the country, not a missing answer.
PARAMETRELER
iban
zorunlu ·
query
curl /api/v1/domestic?iban=DE89370400440532013000
/api/v1/mask
Keeps the country, the check digits and a configurable tail. For logs and screenshots.
PARAMETRELER
iban
zorunlu ·
query
tail
isteğe bağlı ·
query
curl /api/v1/mask?iban=DE89370400440532013000&tail=4
/api/v1/describe
One line for a confirmation screen. Degrades as detail runs out rather than inventing any.
PARAMETRELER
iban
zorunlu ·
query
curl /api/v1/describe?iban=DE89370400440532013000
/api/v1/coverage
Counts per dataset and per country. A caller deciding whether to trust a null needs to know how much of the directory exists.
curl /api/v1/coverage