Free IBAN API

The free package allows you to both test the service and access additional functionalities.

The IBAN API provides many validations metrics that will help you boost your customer experience with limited interaction.

You are one step a way of getting your free account, start by clicking the button below.
Get Your API Key

IBAN API

IBAN API Documentation

We offer a freemium REST API for IBAN validation using our database. Integration is straightforward, requiring just a few simple steps.
To begin utilizing the API, sign up for the service to obtain a free API key from here.

Authentication

API authentication is straightforward, relying on the use of an API Key. This key can be passed as a URL parameter, a POST form variable, or included in the "Authorization" header of your request.

Using CURL

The straight forward method to use the API is to call 'curl' command from terminal.
here how you can call it, don't forget to replace API_KEY with your own key.
curl "https://api.ibanapi.com/v1/validate/EE471000001020145685?api_key=API_KEY"

API Response

We will start by showing the success response, which will be similar to the following JSON.
{
    "result": 200,
    "message": "Valid IBAN Number",
    "validations": [
      {
        "result": 200,
        "message": "Valid IBAN length"
      },
      {
        "result": 200,
        "message": "Valid IBAN Checksum"
      },
      {
        "result": 200,
        "message": "Valid IBAN Structure"
      },
      {
        "result": 200,
        "message": "Valid Account Number Checksum"
      }
    ],
    "expremental": 0,
    "data": {
      "country_code": "EE",
      "iso_alpha3": "EST",
      "country_name": "Estonia",
      "currency_code": "EUR",
      "sepa_member": "Yes",
      "sepa": {
        "sepa_credit_transfer": "Yes",
        "sepa_direct_debit": "No",
        "sepa_sdd_core": "No",
        "sepa_b2b": "No",
        "sepa_card_clearing": "No"
      },
      "bban": "1000001020145685",
      "bank_account": "00102014568",
      "bank": {
        "bank_name": "AS SEB PANK",
        "phone": "6 655 100",
        "address": "Tornimäe tn 2 FLOOR 10",
        "bic": "EEUHEE2X",
        "city": "TALLINN",
        "state": "",
        "zip": "15010"
      }
    }
}

The API's default behavior includes the validation of the country's national check-sum. If you wish to deactivate this feature, you can achieve it by providing the following parameter: account_checksum=No
As you can see from JSON example, the main result object will contain four variables
  • result will be integer 200 in case of success
  • message will be string
  • validations will be object with all available validations
  • expremental will be 0 or 1 depends on the country IBAN status
  • data will be object which contains 2 more objects sepa and bank alongside other information
For SEPA (Single Euro Payments Area) object it will hold more information if only the bank is member of SEPA.

Error responses

In case of errors, you should receive http response code similar to the result variable in the JSON response.
The following JSON is for Invalid API key as an example.

{
  result: 401,
  message: "Invalid API Key",
  data:{}
}

API Endpoints

The available endpoints for the API are:
  • /validate/{IBAN} IBAN Validate: This endpoint validates the IBAN and attempts to retrieve bank information if available. It accepts both GET and POST methods. It deducts 1 credit point from basic validation and 1 credit point from bank validation.
  • /validate-basic/{IBAN} The Basic Validation endpoint checks IBAN numbers and gives results without showing bank details. It costs 1 basic credit and works with GET or POST methods.
  • /bulk-validate The Bulk Validate endpoint allows you to validate IBAN numbers in large quantities. To utilize this feature, you should make a POST request and provide the input data in raw JSON format.
    Request example
     {
      "iban_list":[
          "AL47212110090000000235698741",
          "AD1200012030200359100100"
      ]
    }
    
    
    Response example
    
    [
      {
          "result": 200,
          "message": "Valid IBAN Number",
          "validations": [
              {
                  "result": 200,
                  "message": "Valid IBAN length"
              },
              {
                  "result": 200,
                  "message": "Valid IBAN Checksum"
              },
              {
                  "result": 200,
                  "message": "Valid IBAN Structure"
              }
          ],
          "expremental": 0,
          "data": {
              "iban": "AL47212110090000000235698741",
              "country_code": "AL",
              "iso_alpha3": "ALB",
              "country_name": "Albania",
              "currency_code": "ALL",
              "sepa_member": "No",
              "sepa": {},
              "bban": "212110090000000235698741",
              "bank_account": "0000000235698741",
              "bank": {
                  "bank_name": "Credins Bank ",
                  "phone": "",
                  "address": "Rr. Ismail Qemali, nr. 21",
                  "bic": "CDISALTR",
                  "city": "Tirana",
                  "state": "",
                  "zip": "1019"
              }
          }
      },
      {
          "result": 200,
          "message": "Valid IBAN Number",
          "validations": [
              {
                  "result": 200,
                  "message": "Valid IBAN length"
              },
              {
                  "result": 200,
                  "message": "Valid IBAN Checksum"
              },
              {
                  "result": 200,
                  "message": "Valid IBAN Structure"
              }
          ],
          "expremental": 0,
          "data": {
              "iban": "AD1200012030200359100100",
              "country_code": "AD",
              "iso_alpha3": "AND",
              "country_name": "Andorra",
              "currency_code": "EUR",
              "sepa_member": "Yes",
              "sepa": {
                  "sepa_credit_transfer": "Yes",
                  "sepa_direct_debit": "Yes",
                  "sepa_sdd_core": "No",
                  "sepa_b2b": "No",
                  "sepa_card_clearing": "No"
              },
              "bban": "00012030200359100100",
              "bank_account": "200359100100",
              "bank": {
                  "bank_name": "ANDORRA BANC AGRICOL REIG S.A.",
                  "phone": "87 33 33",
                  "address": "MANUEL CERQUEDA ESCALER 6",
                  "bic": "BACAADAD",
                  "city": "ESCALDES-ENGORDANY",
                  "state": "Escaldes-Engordany",
                  "zip": "AD700"
              }
          }
      }
    ]
      
    
    Deductions from the balance will follow a standard rate for each IBAN on the list. Please note that the maximum default number of IBANs allowed per request is 200.
  • /bulk-validate-basic For bulk validation of IBAN numbers, the process is similar to bulk validation. However, in this case, deductions will be made from the basic balance, and the returned information will exclude bank details.
  • /heartbeat The Heartbeat endpoint is designed for service monitoring purposes and is provided free of charge. No balance deduction will occur when using this endpoint, but it must be accessed using a valid API key for authentication.
  • /balance The Balance Endpoint enables you to check your current balance and plan expiry status. This service is offered free of charge, and using it will not result in any balance deduction.

IBAN API JSONP integration

Our API provides a seamless solution for client-side applications, including those developed with frameworks like Angular, Vue, and React. Through JSONP integration, you can effortlessly incorporate our API without encountering cross-origin violation errors, making it the ideal choice for enhancing the functionality of your client-side applications.
The following is an example of how to use it with the popular javascript library (jQuery).

$.ajax({
      url: "https://api.ibanapi.com/v1/balance?api_key=API_KEY",
      dataType: 'jsonp',
      success: function (data) {
          console.log(data)
      }
    });
You can also use our vanilla javascript library without extra dependency, which you can download from the integrations section, or you can use CDN.
https://cdn.jsdelivr.net/gh/ibanapi/[email protected]/dist/ibanapi.min.js

Run in Postman

Just click the below button to open it in your postman

OpenAPI Docs

Please follow this link for OpenAPI/Swagger documentation and for testing the API