---
title: "Free IBAN format check (mod-97 + structure)"
method: GET
path: "/v1/iban/format"
tags: ["Free"]
---

# Free IBAN format check (mod-97 + structure)

`GET /v1/iban/format`

FREE pure-format IBAN check: ISO 13616 mod-97 checksum, country-specific length, and BBAN parsing. No payment, no API key, no quota (global rate limit only). Does NOT touch the BIC, SEPA, VoP, sanctions, or Swiss clearing databases — use POST /v1/iban/validate ($0.005) when you need the full enrichment. Ideal for pre-filtering malformed IBANs before paying for validation.

## Query parameters

- `iban` string, required

## Response `200`

Format check result. valid=true includes parsed components; valid=false includes error + error_detail. Both include an upgrade_to_full_validation hint.

- IBANFormatResult
  - `iban` string, required — The IBAN as provided (normalized)
  - `valid` boolean, required — mod-97 checksum + country structure result
  - `formatted` string — IBAN formatted in groups of 4 (only when valid)
  - `country` object — Only present when valid
    - `code` string
    - `name` string
  - `check_digits` string
  - `bban` object — Parsed BBAN components (only when valid and the country declares a structure)
    - `bank_code` string
    - `branch_code` string
    - `account_number` string
  - `error` 'invalid_format' | 'unsupported_country' | 'wrong_length' | 'checksum_failed' — Only when valid=false
  - `error_detail` string — Only when valid=false
  - `upgrade_to_full_validation` string, required — Pointer to POST /v1/iban/validate for BIC, SEPA, VoP, sanctions and Swiss clearing enrichment

## Other responses

- `400` — Missing ?iban= query parameter, or IBAN shorter than 15 / longer than 34 characters

---

[API](https://skmtc.dev/ibanforge/apis/ibanforge-api.md) · [All operations](https://skmtc.dev/ibanforge/apis/ibanforge-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/ibanforge/ibanforge-api/revisions/9499dba434ea/schema)
