We collect publicly available data about BICs and bank codes and aggregate them into one large, international database which is checked for updates every day.
¹ These BICs are regularly copied from an official directory (usually from the national bank). If a BIC is defined for some bank code, we will return this one unique BIC.
² These BICs are also regularly copied from an official directory. However, there are bank codes for which more than one BIC is defined. In such a case, we return all possible BIC candidates, so you might have to figure out which one is the correct one.
³ These BICs are regularly updated by combining two official directories, one with BICs and bank names, and another one with bank names and bank codes. We join these directories based on the bank names. Some occasional errors might occur as a result due to naming inconsistencies. Also, the BICs are not always unique, and you might need to determine which one out of several candidates is correct.
Whenever we return several BIC candidates, we always first return short ones (with 8 instead of 11 significant digits). Usually these shorter BICs are good candidates.
Sweden is not included (for technical reasons).
For the Netherlands (optional add-on), we provide a table whose format is explained below.
For all other countries listed with a "yes" in the BIC column in the table above, we provide a CSV file (alternatively, a file with fixed field widths) with the following fields:
RecordID, CountryCode, bankcode, branch category, bank name, bank city, bank street, BIC, modification marker, additional BIC candidates.
- RecordID: a number we have assigned to the record. We aim to keep it constant over the life of a record (where that fails, we generate a record deletion and new record creation event).
- CountryCode: 2-letter ISO code
- branch category: space character if unknown, otherwise 1=headquarters, 2=one level below that, 3=another level below that (3 currently occurs for CH/LI only)
- modification marker: A=Added since your last export, D=Deleted, M=Modified, U=Unchanged
- additional BIC candidates: for countries where we cannot provide a unique BIC code for every bank code, we list other possibilities here. The BIC field contains the most likely BIC. That BIC is not repeated in the "additional BIC candidates" field.
The optional extra file for the Netherlands has these columns:
- beginning of prefix range
- end of prefix range
The prefix ranges might overlap (if the percentage is below 100). To determine the most likely BIC for a Dutch account, pad it with leading zeros to 10 characters, then cut off the first six characters. If the first two characters are "00", this is a former Postbank account, now ING. The BIC code is then INGBNL2A. If the first two characters are not "00", determine the records for which the first six characters lie within the prefix range. The BIC (or, if you are unlucky, several BICs) can then be found in the BIC column of matching records, along with a percentage which gives an indication of the likelihood.
We update the database as soon as we notice a change in the source directories from which it is compiled. For some countries, the delay is close to zero (if we know about changes in advance), for some countries it is a day or two, and for some we simply import in regular intervals (once a month or so, which can lead to a few weeks' delay).
As an overall result, the data can change on any day.
Subscribers can pick their own preferred update interval.
We give you a license to use the data within your own organization, by arbitrarily many users at once. We do not give you the right to give significant portions of the data to third parties. Enriching data from third parties with our data is possible, though (for instance, adding a BIC to an already known account number record).