Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API 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.
openapi: 3.2.0
info:
title: ibanchecker.cash Formats 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: Formats
paths:
/formats/{country}:
get:
operationId: getIbanFormat
summary: Get the IBAN format specification for a country
security:
- {}
parameters:
- name: country
in: path
required: true
schema:
type: string
minLength: 2
maxLength: 2
description: ISO 3166-1 alpha-2 country code, e.g. DE
example: de
responses:
'200':
description: Format specification
content:
application/json:
schema:
type: object
properties:
country_code:
type: string
country_name:
type: string
length:
type: integer
currency:
type: string
currency_name:
type: string
sepa:
type: boolean
swift:
type: boolean
format_string:
type: string
example:
type: string
bban_fields:
type: array
items:
type: object
properties:
label:
type: string
length:
type: integer
'404':
$ref: '#/components/responses/NotFound'
'429':
$ref: '#/components/responses/RateLimited'
tags:
- Formats
components:
responses:
NotFound:
description: Resource not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
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'
schemas:
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)