> ## Documentation Index
> Fetch the complete documentation index at: https://docs.greip.io/llms.txt
> Use this file to discover all available pages before exploring further.

# IBAN Lookup

> This method enables you to validate International Bank Account Numbers (IBANs) and obtain essential information about the country associated with each IBAN.

By using this API, you can ensure that the IBANs are formatted correctly and gain insights into the banking institution, enhancing security and accuracy in financial transactions.

export const MCPCallout = () => {
  return <div class="callout my-4 px-5 py-4 overflow-hidden rounded-2xl flex gap-3 border border-[rgba(192, 132, 252, 0.2)] bg-[rgba(192, 132, 252, 0.1)] dark:border-[#c084fc4d] dark:bg-[#c084fc1a] text-[#6005BB] dark:text-[#FFFFFF]" data-callout-type="callout">
      <div class="mt-0.5 w-4" data-component-part="callout-icon">
        <svg class="h-4 w-4 !m-0 shrink-0 bg-[#c084fc] [mask-image:url('https://d3gk2c5xim1je2.cloudfront.net/v7.1.0/duotone/fire.svg')] [-webkit-mask-image:url('https://d3gk2c5xim1je2.cloudfront.net/v7.1.0/duotone/fire.svg')] [mask-repeat:no-repeat] [-webkit-mask-repeat:no-repeat] [mask-position:center] [-webkit-mask-position:center]"></svg>
      </div>
      <div class="text-sm prose dark:prose-invert min-w-0 w-full [&_kbd]:bg-background-light dark:[&_kbd]:bg-background-dark text-[#6005BB] dark:text-[#FFFFFF]" data-component-part="callout-content">
        <span data-as="p">
          Want to skip the docs? Use the{" "}
          <a class="link mint-text-xs border-[#C792FC]" href="/docs-mcp-server">
            <b>MCP Server</b>
          </a>
        </span>
      </div>
    </div>;
};

export const Availability = ({plan, color}) => {
  const colorMap = {
    green: "text-green-700 dark:text-green-400",
    blue: "text-blue-700 dark:text-blue-400",
    purple: "text-purple-700 dark:text-purple-400"
  };
  return <div dir="ltr" data-orientation="horizontal" class="p-4 px-5 mt-0 md:mt-4 flex flex-col sm:flex-row flex-wrap gap-2 relative overflow-hidden rounded-2xl border border-gray-950/10 dark:border-white/10 my-0 bg-gray-50 dark:bg-white/5 dark:codeblock-dark text-gray-950 dark:text-gray-50 codeblock-light text-sm prose prose-gray dark:prose-invert font-semibold no-wrap-words">
      Endpoint availability:{" "}
      <span class={` ${colorMap[color]} flex-1`}>{plan}</span>
      <a class="custom-link text-xs" href="https://greip.io/detailed-pricing">
        Learn more
      </a>
    </div>;
};

### Overview

The IIN (Issuer Identification Number), also known as the BIN (Bank Identification Number), is the first 6 digits of a debit or credit card number. These unique numbers are used to identify the issuing entity, such as the bank or financial institution that issued the card.

One of the most common and critical use cases of this method is to detect and prevent fraud payments in your app or website. This is an essential task for any business that accepts online payments, as fraud can lead to significant financial losses and reputational damage.

For example, if you notice a user from the UK purchasing large amounts of your product, and the card used for payment is issued by a bank located in the US, this could be a red flag. This may indicate that the user is using a stolen or fraudulent card to complete the checkout process. By flagging such transactions for review or rejection, you can prevent fraud and protect your business from financial loss.

### Query Parameters

<ParamField query="iban" type="string" placeholder="The IBAN" required>
  The International Bank Account Number (IBAN) you want to validate.

  Sample value: `BE71096123456769`, or `BE71 0961 2345 6769`.
</ParamField>

<ParamField query="format" type="string" default="JSON" placeholder="Response format">
  The format command is used to get a response in a specific format.

  Expected values: `JSON`, `XML`, `CSV`, or `Newline`

  For more information please refer to [Response Format](/options/response-format).
</ParamField>

<ParamField query="mode" type="string" default="live" placeholder="Environment">
  The mode command is used to in the development stage to simulate the integration process before releasing it to the production environment.

  Expected values: `live`, or `test`.

  For more information please refer to [Development Environment](/options/development-environment).
</ParamField>

<ParamField query="userID" type="string" placeholder="User Identifier">
  The userID command can be used to identify requests sent by specific users to monitor in the [Events Page](/dashboard-guides/monitoring-capabilities/real-time-threat-monitoring).

  Expected values: email address, phone number, user id, name, etc.

  For more information please refer to [User Identifier](/options/user-identifier).
</ParamField>

<ParamField query="callback" type="string" placeholder="JSONP callback">
  The callback command can help you make the response as a JSONP format.

  Expected values: any name that can be used as a function name in Javascript, e.g: `myFunctionName`.

  For more information please refer to [JSONP Callback](/options/jsonp-callback).
</ParamField>

<Panel>
  <MCPCallout />

  <Availability plan="Premium and above" color="purple" />

  <ResponseExample>
    ```json Success theme={null}
    {
      "data": {
        "isValid": true,
        "formats": {
          "machine": "BE71096123456769",
          "human": "BE71 0961 2345 6769",
          "obfuscated": "BE** **** **** 6769"
        },
        "country": {
          "name": "Belgium",
          "IANA": "be",
          "ISO3166": "BE",
          "currency": "EUR",
          "centralBank": {
            "url": "http://www.nbb.be/",
            "name": "National Bank of Belgium"
          },
          "membership": "eu_member",
          "isEU": true,
          "length": "16",
          "isSEPA": true,
          "swiftOfficial": true
        },
        "custom_rules_applied": {
          "total": 0,
          "rules": []
        }
      },
      "status": "success",
      "executionTime": 1
    }
    ```

    ```json Error theme={null}
    {
      "status": "error",
      "code": 101,
      "type": "invalid_key",
      "description": "The API Key is missing or invalid."
    }
    ```
  </ResponseExample>
</Panel>

### Response properties

<ResponseField name="data" type="object" required>
  <Expandable title="properties" defaultOpen={true}>
    <ResponseField name="isValid" type="boolean" required>
      A boolean value that you can rely on to determine if the IBAN is valid or not.
    </ResponseField>

    <ResponseField name="formats" type="object" required>
      <Expandable title="properties" defaultOpen={true}>
        <ResponseField name="machine" type="string" required>
          Machine format of the IBAN.
        </ResponseField>

        <ResponseField name="human" type="string" required>
          Human-readable format of the IBAN.
        </ResponseField>

        <ResponseField name="obfuscated" type="string" required>
          Obfuscated format of the IBAN.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="country" type="object" required>
      <Expandable title="properties" defaultOpen={true}>
        <ResponseField name="name" type="string" required>
          Country name where the issuing bank is located.
        </ResponseField>

        <ResponseField name="IANA" type="string" required>
          The [IANA](https://en.wikipedia.org/wiki/Internet_Assigned_Numbers_Authority) of the country.
        </ResponseField>

        <ResponseField name="ISO3166" type="string" required>
          Country code in `ISO3166` format.
        </ResponseField>

        <ResponseField name="currency" type="string" required>
          Currency of the country.
        </ResponseField>

        <ResponseField name="centralBank" type="string" required>
          <Expandable title="properties" defaultOpen={true}>
            <ResponseField name="name" type="string" required>
              The name of the central bank of the issuing country.
            </ResponseField>

            <ResponseField name="url" type="string" required>
              The URL of the central bank of the issuing country.
            </ResponseField>
          </Expandable>
        </ResponseField>

        <ResponseField name="membership" type="string" required>
          Membership type of the bank.
        </ResponseField>

        <ResponseField name="isEU" type="boolean" required>
          Determines whether the user is located within the European Union (EU) and is relevant for processing transactions or validations specific to EU countries.
        </ResponseField>

        <ResponseField name="length" type="string" required>
          IBAN length in this country.
        </ResponseField>

        <ResponseField name="isSEPA" type="boolean" required>
          Indicates whether the IBAN belongs to a country participating in the Single Euro Payments Area (SEPA)
        </ResponseField>

        <ResponseField name="swiftOfficial" type="boolean" required>
          Typically indicates whether the IBAN corresponds to an official institution or entity that is part of the SWIFT network, which facilitates international financial transactions.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="custom_rules_applied" type="object">
      The custom rules applied to this request, [learn
      more](/knowledge-base/custom-rules/overview).

      <Expandable title="properties" defaultOpen={true}>
        <ResponseField name="total" type="integer" required>
          The total number of custom rules applied to this request.
        </ResponseField>

        <ResponseField name="rules" type="object" required>
          The custom rules applied to this request, [learn
          more](/knowledge-base/custom-rules/overview).

          <Expandable title="properties" defaultOpen={true}>
            <ResponseField name="id" type="string" required>
              The rule ID as shown in the dashboard (e.g: `CR104`).
            </ResponseField>

            <ResponseField name="title" type="string" required>
              The rule title you set when creating the rule.
            </ResponseField>
          </Expandable>
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>

  <ResponseField name="status" type="string" required>
    The response status.

    Expected values: `success`, or `error`.
  </ResponseField>

  <ResponseField name="executionTime" type="integer" required>
    Time spent in milliseconds to process the data.
  </ResponseField>
</ResponseField>
