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 Extract 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: Extract
paths:
/extract:
post:
operationId: extractIbans
summary: Extract and validate IBANs from free text
description: Scans up to 50,000 characters of text (emails, invoices, documents) for IBAN-shaped strings and validates each candidate.
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- text
properties:
text:
type: string
maxLength: 50000
description: Free text to scan for IBANs
responses:
'200':
description: IBANs found in the text with validation results
content:
application/json:
schema:
type: object
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'429':
$ref: '#/components/responses/RateLimited'
tags:
- Extract
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:
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)