IBANforge

IBANforge API

Download Postman Collection

IBANforge is a fast, reliable API for IBAN validation and BIC/SWIFT lookup. It covers 89 countries with real-time checksum verification, BBAN structure parsing, enriched institution data from GLEIF, SEPA compliance info, issuer classification (bank vs. EMI/neobank), sanctions & compliance screening with a 0–100 risk score, and exclusive Swiss clearing (BC-Nummer) data from SIX BankMaster.

Base URL

https://api.ibanforge.com

All endpoints are served over HTTPS. HTTP requests are redirected automatically.

Authentication

Three ways in — pick what fits, your app or agent never hits a dead-end:

  1. Free API key — 200 requests/month, no credit card. Generate one with a single POST, then send Authorization: Bearer ifk_... with each request.
  2. Prepaid credit packs — 1k = $5, 5k = $20, 25k = $80. They never expire, purchasable by card or in USDC (POST /v1/credits/buy/1k|5k|25k). See pricing.
  3. x402 micropayments — fully autonomous pay-per-call in USDC for agents, no account at all. See the x402 guide.

A request without a valid key or payment gets a 402 response with machine-readable instructions for all three paths — autonomous agents can self-onboard.

Endpoints at a glance

EndpointMethodCostDescription
/v1/iban/validatePOST$0.005Validate a single IBAN
/v1/iban/batchPOST$0.002/IBANValidate up to 100 IBANs
/v1/bic/:codeGET$0.003Look up a BIC/SWIFT code
/v1/iban/compliancePOST$0.02Sanctions, FATF, SEPA/VoP reachability + 0–100 risk score
/v1/ch/clearing/:iidGET$0.003Swiss BC-Nummer / IID lookup (SIX BankMaster)
/v1/demoGETFreeExample validations (no payment needed)
/healthGETFreeService health check

Quick example

curl -X POST https://api.ibanforge.com/v1/iban/validate \
  -H "Content-Type: application/json" \
  -d '{"iban": "CH10 0023 0000 0000 1234 5"}'

Response:

{
  "iban": "CH1000230000000012345",
  "valid": true,
  "country": {
    "code": "CH",
    "name": "Switzerland"
  },
  "check_digits": "10",
  "bban": {
    "bank_code": "00230",
    "account_number": "000000012345"
  },
  "bic": {
    "code": "UBSWCHZH",
    "bank_name": "UBS Switzerland AG",
    "city": "Zürich"
  },
  "sepa": {
    "member": true,
    "schemes": ["SCT", "SDD"],
    "vop_required": false
  },
  "issuer": {
    "type": "bank",
    "name": "UBS Switzerland AG"
  },
  "risk_indicators": {
    "issuer_type": "bank",
    "country_risk": "standard",
    "test_bic": false,
    "sepa_reachable": true,
    "vop_coverage": false
  },
  "clearing": {
    "iid": "00230",
    "name": "UBS Switzerland AG",
    "type": "bank",
    "town": "Zürich",
    "sic": true,
    "instant_payments_chf": true,
    "eurosic": true,
    "qr_iid": null
  },
  "formatted": "CH10 0023 0000 0000 1234 5",
  "cost_usdc": 0.005
}

Free testing

Use the /v1/demo endpoint to test the API without any payment setup:

curl https://api.ibanforge.com/v1/demo

This returns pre-validated example IBANs from multiple countries so you can explore the response format.

Next steps