Get started

Learn how to get started and make API requests

Authentication

Start by creating an account here and get your API key. Every request to the API requires an API key to be provided in the x-api-key header.

Plans specifications

Depending on your plan, you have a limit on the number of API calls you can make per month. The API will also return different data depending on your plan:

PlanMonthly limitDetailed bank infoBulk enabledMax IBANs per bulk validation
Free300NoNo-
Starter10,000YesNo-
Pro50,000YesYes100
BusinessUnlimitedYesYes2,000
The details.bank field will always be null for Free plan users.

Available endpoints

Base URL: https://api.pocketbase.io

POST - /iban/validate/:iban

Validate an IBAN.

Example request:

curl --location "https://api.secureiban.com/iban/validate/DE22100100100021788102" \
--header "Content-Type: application/json" \
--header "x-api-key: YOUR_API_KEY" \
--request POST

Example response:

{
  "details": {
    "account_number": "00100021788102",
    "bank": {
      "address": "BUNDESKANZLERPLATZ 6",
      "bic": "PBNKDEFF",
      "city": "BONN",
      "meta": {
        "bank_code": "10010010",
        "confidence": "high",
        "method": "specific"
      },
      "name": "Deutsche Bank AG - Postbank Branch",
      "phone": "",
      "sepa_b2b": true,
      "sepa_cor": true,
      "sepa_cor1": false,
      "sepa_scc": true,
      "sepa_sct": true
    },
    "bank_code": "10010010",
    "bban": "100100100021788102",
    "country_code": "DE",
    "country_name": "Germany",
    "currency_code": "EUR"
  },
  "iban": "DE22100100100021788102",
  "message": "Valid IBAN Number",
  "valid": true,
  "validations": [
    {
      "code": "BASIC_FORMAT",
      "message": "Valid IBAN format",
      "valid": true
    },
    {
      "code": "COUNTRY_CODE",
      "message": "Valid country code",
      "valid": true
    },
    {
      "code": "LENGTH",
      "message": "Valid length",
      "valid": true
    },
    {
      "code": "CHECKSUM",
      "message": "Valid checksum",
      "valid": true
    },
    {
      "code": "BBAN_FORMAT",
      "message": "Valid BBAN format",
      "valid": true
    }
  ]
}

POST - /iban/validate/bulk

Validate a list of IBANs at once.

Example request

curl --location "https://api.secureiban.com/iban/validate/bulk" \
--header "Content-Type: application/json" \
--header "x-api-key: YOUR_API_KEY" \
--request POST \
--data '{"ibans": ["DE22100100100021788102", "DE2210010010002178810"]}'

Example response

{
  "count": 2,
  "results": [
    {
      "details": {
        "account_number": "00100021788102",
        "bank": null,
        "bank_code": "10010010",
        "bban": "100100100021788102",
        "country_code": "DE",
        "country_name": "Germany",
        "currency_code": "EUR"
      },
      "iban": "DE22100100100021788102",
      "message": "Valid IBAN Number",
      "valid": true,
      "validations": [
        {
          "code": "BASIC_FORMAT",
          "message": "Valid IBAN format",
          "valid": true
        },
        {
          "code": "COUNTRY_CODE",
          "message": "Valid country code",
          "valid": true
        },
        {
          "code": "LENGTH",
          "message": "Valid length",
          "valid": true
        },
        {
          "code": "CHECKSUM",
          "message": "Valid checksum",
          "valid": true
        },
        {
          "code": "BBAN_FORMAT",
          "message": "Valid BBAN format",
          "valid": true
        }
      ]
    },
    {
      "details": null,
      "iban": "DE2210010010002178810",
      "message": "Invalid IBAN Number",
      "valid": false,
      "validations": [
        {
          "code": "BASIC_FORMAT",
          "message": "Valid IBAN format",
          "valid": true
        },
        {
          "code": "COUNTRY_CODE",
          "message": "Valid country code",
          "valid": true
        },
        {
          "code": "LENGTH",
          "message": "IBAN length should be 22",
          "valid": false
        }
      ]
    }
  ]
}

GET - /balance

Get detailed information about your plan such as the number of API calls left, available features and more.

Example response

{
  "api_calls": 1,
  "bulk_enabled": false,
  "bulk_limit": 0,
  "limit": 300,
  "plan": "free"
}