IBANforge

API Keys

IBANforge offers a free tier via API keys — 200 requests/month across all endpoints. No credit card, no crypto wallet required. For higher volumes, you can use x402 micropayments.

Generate a free API key

Send a POST request to /v1/keys/generate with your email address:

curl -X POST https://api.ibanforge.com/v1/keys/generate \
  -H "Content-Type: application/json" \
  -d '{"email": "you@example.com"}'

Response

{
  "key": "ifk_live_xxxxxxxxxxxxxxxxxxxx",
  "email": "you@example.com",
  "tier": "free",
  "quota": {
    "requests_per_month": 200,
    "used": 0,
    "resets_at": "2026-05-01T00:00:00.000Z"
  }
}

Your key starts with ifk_ (IBANforge Key). Store it securely — it will not be shown again.

Using your API key

Pass the key in the Authorization header as a Bearer token:

curl -X POST https://api.ibanforge.com/v1/iban/validate \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer ifk_live_xxxxxxxxxxxxxxxxxxxx" \
  -d '{"iban": "CH93 0076 2011 6238 5295 7"}'

The key works on all paid endpoints:

  • POST /v1/iban/validate
  • POST /v1/iban/batch
  • GET /v1/bic/:code
  • POST /v1/iban/compliance
  • GET /v1/ch/clearing/:iid

Plans at a glance

PlanVolumeCost
Free (API key)200 requests/month$0
Prepaid credit packs — card or USDC1k / 5k / 25k calls$5 / $20 / $80 — never expire
x402 pay-per-callUnlimited$0.002–$0.02/call

The 200 free requests are shared across all endpoints and reset on the 1st of each month.

Check your usage

curl https://api.ibanforge.com/v1/keys/usage \
  -H "Authorization: Bearer ifk_live_xxxxxxxxxxxxxxxxxxxx"

Response

{
  "tier": "free",
  "quota": {
    "requests_per_month": 200,
    "used": 47,
    "remaining": 153,
    "resets_at": "2026-05-01T00:00:00.000Z"
  }
}

When you exceed the quota

Your integration does not hit a hard dead-end. Once the 200 monthly requests are used up, the API answers 402 Payment Required (x402) instead of a blunt 429, with hint headers telling you exactly what happened:

X-Quota-Exhausted: true
X-Quota-Used: 200
X-Quota-Limit: 200
X-Quota-Month: 2026-07

The 402 body lists your three options in machine-readable form:

  1. Buy a prepaid credit pack — by card on the pricing page, or in USDC via POST /v1/credits/buy/1k|5k|25k. Credits never expire and attach to your existing key.
  2. Pay per call via x402 — an x402-compatible client pays automatically in USDC, no key change needed. See x402 Payments.
  3. Wait for the monthly reset — the quota resets on the 1st of each month.

TypeScript example

const API_KEY = process.env.IBANFORGE_API_KEY;
 
const response = await fetch("https://api.ibanforge.com/v1/iban/validate", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "Authorization": `Bearer ${API_KEY}`,
  },
  body: JSON.stringify({ iban: "CH93 0076 2011 6238 5295 7" }),
});
 
const data = await response.json();
console.log(data);

Python example

import os
import requests
 
API_KEY = os.environ["IBANFORGE_API_KEY"]
 
response = requests.post(
    "https://api.ibanforge.com/v1/iban/validate",
    headers={
        "Content-Type": "application/json",
        "Authorization": f"Bearer {API_KEY}",
    },
    json={"iban": "CH93 0076 2011 6238 5295 7"},
)
 
data = response.json()
print(data)

Next steps