IBAN Checker Validate API
The Validate API from IBAN Checker — 2 operation(s) for validate.
The Validate API from IBAN Checker — 2 operation(s) for validate.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/ibanchecker-cash:ibanchecker-cash-validate-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: ibanchecker.cash Validate API
version: 1.0.0
description: REST API for IBAN validation across 92 countries. Validate single IBANs, validate up to 100 IBANs per request, extract IBANs from free text, look up country format specifications, and resolve SWIFT/BIC codes. No IBAN data is stored or logged; all validation runs in memory at the edge.
termsOfService: https://ibanchecker.cash/terms
contact:
name: ibanchecker.cash support
url: https://ibanchecker.cash/contact
email: api@ibanchecker.cash
servers:
- url: https://ibanchecker.cash/api/v1
security:
- bearerAuth: []
tags:
- name: Validate
paths:
/validate:
post:
operationId: validateIban
summary: Validate a single IBAN
description: Validates an IBAN using the ISO 13616 MOD-97-10 checksum, country-specific length and structure rules, and returns the parsed BBAN plus bank identification (name, BIC, city) where available. Requires an API key; each request counts against the plan's monthly quota.
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- iban
properties:
iban:
type: string
description: IBAN to validate, with or without spaces
examples:
- DE89370400440532013000
responses:
'200':
description: Validation result
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationResult'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/RateLimited'
tags:
- Validate
/validate/bulk:
post:
operationId: validateIbansBulk
summary: Validate up to 100 IBANs
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- ibans
properties:
ibans:
type: array
items:
type: string
minItems: 1
maxItems: 100
description: Array of IBANs to validate
responses:
'200':
description: Array of validation results in the same order as the request
content:
application/json:
schema:
type: object
properties:
results:
type: array
items:
$ref: '#/components/schemas/ValidationResult'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'429':
$ref: '#/components/responses/RateLimited'
tags:
- Validate
components:
responses:
RateLimited:
description: Monthly quota of the key exceeded, or a call that costs more requests than remain (QUOTA_EXCEEDED, with Retry-After until the 1st of next month, UTC), or the hourly limit for /formats without a key (RATE_LIMIT_EXCEEDED)
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
Forbidden:
description: The key's plan does not include this endpoint (PLAN_REQUIRED)
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
BadRequest:
description: Malformed request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
Unauthorized:
description: Missing, invalid or inactive API key
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
schemas:
ValidationResult:
type: object
description: Result of validating one IBAN. When valid is false, only iban, formatted, country, country_name, error and error_code are present.
properties:
valid:
type: boolean
iban:
type: string
formatted:
type:
- string
- 'null'
description: IBAN grouped in blocks of four characters
check_digits:
type: string
bban:
type: string
country:
type:
- string
- 'null'
country_name:
type:
- string
- 'null'
bank_name:
type:
- string
- 'null'
bank_type:
type:
- string
- 'null'
bic:
type:
- string
- 'null'
bank_city:
type:
- string
- 'null'
bank_code:
type:
- string
- 'null'
branch_code:
type:
- string
- 'null'
account_number:
type:
- string
- 'null'
national_check_valid:
type:
- boolean
- 'null'
description: Informational domestic account-validity check beyond the IBAN MOD-97 (e.g. Germany's per-bank Prüfziffer, the UK sort-code + account modulus check, the French/Monégasque and Italian/San Marino RIB & CIN checks, Iberian and Nordic schemes, ISO 7064 MOD 97-10). true = matches, false = mismatch (possible typo), null = not applicable. Never affects 'valid'.
currency:
type:
- string
- 'null'
currency_name:
type:
- string
- 'null'
transfer_type:
type:
- string
- 'null'
sepa:
type:
- boolean
- 'null'
flag:
type:
- string
- 'null'
error:
type: string
error_code:
type: string
Error:
type: object
properties:
error:
type: string
error_code:
type: string
upgrade_url:
type: string
format: uri
description: 'Present on QUOTA_EXCEEDED, PLAN_REQUIRED and trial-limit errors: where to choose a larger plan.'
required_plan:
type: string
description: 'Present on PLAN_REQUIRED: the smallest plan that includes the endpoint.'
retry_after:
type: integer
description: 'Present on 429 responses: seconds until the limit resets.'
securitySchemes:
bearerAuth:
type: http
scheme: bearer
description: API key issued at https://ibanchecker.cash/api-docs; the free key covers 100 requests a month of single validation. Required for every endpoint except /formats. Bulk validation and BIC lookup need the Basic plan, extraction the Growth plan; a free key whose address has a verified ibanchecker.cash account can try them (up to 10 IBANs per bulk call, 5,000 characters per extraction). Bulk and extraction count one request per IBAN. /formats works without a key, up to 100 requests an hour per IP.
x-provenance:
method: harvested
publisher: IBAN Checker
source: https://ibanchecker.cash/openapi.json
note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
stamped by stamp-openapi-provenance.py (roadmap#793)