---
title: Bank Code Validator API
slug: bank-code-validator-api
url: https://apyverse.com/pankajretestflows/service/bank-code-validator-api
provider: External Providers
categories: [Data Validation, Finance]
tags: [bank-validation, swift-bic, iban, ifsc, payment-verification, finance]
auth: api_key
version: 1.0.0
service_type: sync
endpoints: 1
atoms: 10
mcp: true
---

# Bank Code Validator API

Validate SWIFT/BIC, IBAN, or IFSC codes and get normalized results, bank details, and structured error reasons for bad or unsupported inputs.

## Endpoints

| Method | URL | Description | Atoms |
| --- | --- | --- | --- |
| POST | `https://api.eu.apyverse.com/pankajretestflows/bank-code-validator-api` | What it does Validates a bank code provided in the request body and returns whether it is valid, al… | 10 |

## Endpoint reference

### Validate a bank code

`POST https://api.eu.apyverse.com/pankajretestflows/bank-code-validator-api` · 10 atoms · accepts `application/json` · returns `application/json`

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `value` | body | string | yes | SWIFT/BIC (8 or 11 characters), IBAN or IFSC code. Spaces are ignored. Example: `PK69 HABB 0018 9879 0042 9003`. |
| `country` | body | string | no | Optional ISO 3166-1 alpha-2 code of the payout destination (case-insensitive). When omitted, the country is taken from the code itself. Example: `PK`. |

#### Quickstart

Validate a bank code by sending the code value in the request body.

```bash
curl -X POST "https://api.eu.apyverse.com/pankajretestflows/bank-code-validator-api" \
  -H "apy-token: $APY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"value":"PK69 HABB 0018 9879 0042 9003"}'
```

#### What you'll get back

Returns a JSON object with a `data` field. On success, `data` is an object containing `valid`, `input`, `identifier`, `country_code`, `bank_details`, and `source`; on failure, `data` contains `valid`, `input`, `identifier`, and `error`.

```json
{
  "data": {
    "valid": true,
    "input": "PK69HABB0018987900429003",
    "identifier": "IBAN",
    "country_code": "PK",
    "bank_details": {
      "name": "HABIB BANK LIMITED",
      "bic": "HABBPKKAXXX",
      "lei": "549300N63RJKPUYAY631",
      "bank_code": "0019",
      "branch": "MUMBAI MAIN",
      "address": "9th Floor, Habib Bank Tower, Jinnah Avenue, Blue Area Islamabad",
      "city": "Islamabad",
      "postal_code": "44000",
      "sources": ["swiftref", "gleif"],
      "city": "Islamabad"
    },
    "source": "apyhub"
  }
}
```

## About

## What it does
Bank Code Validator checks a bank code and tells you whether it is valid. Send a `value` containing a SWIFT/BIC, IBAN, or IFSC code; you can also pass an optional `country` as an ISO 3166-1 alpha-2 code when you want to validate against a destination country.

The response includes the normalized `input`, a boolean `valid` flag, the detected `identifier` type, and the `country_code` when the code is valid. For valid codes, you also get the validator-specific fields for that code type, plus `bank_details` when available. That bank metadata may include the bank `name`, `bic`, `lei`, `bank_code`, `branch`, `address`, `city`, `postal_code`, and the lookup `sources` that filled each field.

Use Bank Code Validator when you need to validate payment instructions, reduce failed transfers, or confirm banking details before storing them in a payout or onboarding flow. If the input is invalid, the API returns an `error` object with a stable `reason` and a human-readable `message`, so you can handle bad formats, unsupported countries, or destination mismatches in your own workflow.

## Usage

Base URL: `https://api.eu.apyverse.com` (default region — see
`GET https://apyverse.com/api/public/regions` for the rest).

Authenticate with an ApyHub API key in the `apy-token` header.
Full docs and a live playground: https://apyverse.com/pankajretestflows/service/bank-code-validator-api
