Documentation de l'API

Générez et validez par HTTP des IBAN de test structurellement valides (ISO 13616, MOD-97). Toutes les réponses sont en JSON. Les IBAN générés sont des données de test : aucune banque ne les a émis.

URL de base

https://generaterandomiban.com/api/v1

Authentification

Tous les endpoints, sauf l'index du service, demandent une clé API. Envoyez-la dans l'en-tête X-API-Key (Authorization: Bearer fonctionne aussi). Gardez la clé sur votre serveur et ne l'intégrez jamais dans du code côté client.

curl -H "X-API-Key: YOUR_KEY" https://generaterandomiban.com/api/v1/countries

Les clés sont délivrées manuellement. Envoyez-nous un e-mail décrivant brièvement votre cas d'usage, et nous vous en enverrons une.

apis@generaterandomiban.com

Limites de débit

Les limites s'appliquent par clé : 60 requêtes par minute par défaut, ou la limite personnalisée définie pour votre clé. Au-delà, l'API répond avec le code HTTP 429 (Too Many Requests).

Endpoints

GET /api/v1 Public

Index du service, avec ses métadonnées et la liste des endpoints. Aucune clé API requise.

Exemple de requête
curl https://generaterandomiban.com/api/v1
Exemple de réponse
{
  "name": "Generate Random IBAN API",
  "version": "v1",
  "documentation": "https://generaterandomiban.com/fr/apis/docs",
  "authentication": { "type": "api_key", "header": "X-API-Key" }
}

GET /api/v1/countries

Tous les pays pris en charge, avec leur format IBAN.

Exemple de requête
curl -H "X-API-Key: YOUR_KEY" https://generaterandomiban.com/api/v1/countries
Exemple de réponse
{
  "count": 91,
  "countries": [
    {
      "code": "DE",
      "name": "Germany",
      "slug": "germany",
      "iban_length": 22,
      "bban_length": 18,
      "bban_format": "8n10n",
      "structure": "DEkk bbbb bbbb cccc cccc cc",
      "example": "DE89370400440532013000"
    }
  ]
}

GET /api/v1/countries/{code}

Le format IBAN d'un pays.

Paramètre Emplacement Description
code path Code pays ISO 3166-1 alpha-2, par exemple DE, FR ou IT.
Exemple de requête
curl -H "X-API-Key: YOUR_KEY" https://generaterandomiban.com/api/v1/countries/DE
Exemple de réponse
{
  "country": {
    "code": "DE",
    "name": "Germany",
    "iban_length": 22,
    "bban_format": "8n10n",
    "example": "DE89370400440532013000"
  }
}

GET /api/v1/generate/{country}

Génère un ou plusieurs IBAN aléatoires et valides pour un pays.

Les clés de contrôle nationales (clé RIB française, CIN italien, DC espagnol, etc.) sont calculées dans les deux modes. Aucune banque n'a émis les IBAN réalistes, mais l'un d'eux pourrait correspondre par hasard à un compte réel : ne les utilisez jamais pour un paiement.

Paramètre Emplacement Description
country path Code pays ISO 3166-1 alpha-2.
count query Nombre d'IBAN à renvoyer, de 1 à 100. Par défaut : 1.
realistic query Facultatif. 1 ou true pour des IBAN réalistes : chiffres uniquement et, quand il est disponible, le vrai code d'une grande banque, avec un numéro de compte aléatoire. 0 ou false pour des IBAN entièrement aléatoires, avec des lettres là où le format les autorise. Par défaut : 1.
Exemple de requête
curl -H "X-API-Key: YOUR_KEY" "https://generaterandomiban.com/api/v1/generate/DE?count=2"
Exemple de réponse
{
  "country": { "code": "DE", "name": "Germany", "iban_length": 22 },
  "count": 2,
  "realistic": true,
  "ibans": [
    {
      "iban": "DE89370400440532013000",
      "formatted": "DE89 3704 0044 0532 0130 00",
      "country": "DE",
      "check_digits": "89",
      "bban": "370400440532013000",
      "length": 22,
      "valid": true
    }
  ]
}

POST /api/v1/generate

Génère des IBAN avec les paramètres passés dans un corps JSON.

Paramètre Emplacement Description
country body Code pays ISO 3166-1 alpha-2. Obligatoire.
count body Nombre d'IBAN à renvoyer, de 1 à 100. Par défaut : 1.
realistic body Booléen facultatif, identique au paramètre d'URL realistic. Par défaut : true.
Exemple de requête
curl -X POST -H "X-API-Key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"country":"FR","count":3,"realistic":true}' https://generaterandomiban.com/api/v1/generate
Exemple de réponse
{
  "country": { "code": "FR", "name": "France", "iban_length": 27 },
  "count": 3,
  "realistic": true,
  "ibans": [ /* … */ ]
}

GET /api/v1/validate/{iban}

Valide un IBAN passé dans l'URL, sans espaces.

Paramètre Emplacement Description
iban path L'IBAN à valider, uniquement des lettres et des chiffres.
Exemple de requête
curl -H "X-API-Key: YOUR_KEY" https://generaterandomiban.com/api/v1/validate/DE89370400440532013000
Exemple de réponse
{
  "iban": "DE89370400440532013000",
  "valid": true,
  "country_code": "DE",
  "country_supported": true,
  "check_digits": "89",
  "bban": "370400440532013000",
  "length": 22,
  "expected_length": 22,
  "checks": { "mod97": true, "length": true, "format": true, "country_supported": true }
}

POST /api/v1/validate

Valide un IBAN envoyé dans un corps JSON. Les espaces sont acceptés.

Paramètre Emplacement Description
iban body L'IBAN à valider. Obligatoire.
Exemple de requête
curl -X POST -H "X-API-Key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"iban":"DE89 3704 0044 0532 0130 00"}' https://generaterandomiban.com/api/v1/validate
Exemple de réponse
{
  "iban": "DE89370400440532013000",
  "valid": true,
  "country_code": "DE",
  "checks": { "mod97": true, "length": true, "format": true, "country_supported": true }
}

Erreurs et codes de statut

Les erreurs utilisent les codes de statut HTTP standard et un corps JSON contenant un objet error, avec un code et un message. Les plus courants sont 401 (clé absente ou invalide), 404 (pays ou endpoint inconnu), 422 (paramètres invalides) et 429 (limite de débit dépassée).

{
  "error": {
    "code": "invalid_request",
    "message": "The \"count\" parameter must be an integer between 1 and 100."
  }
}

Télécharger une liste (sans clé)

Le générateur fournit aussi un fichier : jusqu'à 100 IBAN d'un pays en CSV, JSON, SQL (instructions INSERT) ou texte brut, avec une colonne par segment du BBAN. Aucune clé d'API n'est nécessaire, dans la limite de 30 téléchargements par minute.

Paramètre Emplacement Description
countrypathCode pays ISO 3166-1 alpha-2.
formatquerycsv, json, sql ou txt. Par défaut : csv.
countqueryNombre d'IBAN, de 1 à 100. Par défaut : 10.
realisticquery1 pour des IBAN réalistes, 0 pour des IBAN entièrement aléatoires. Par défaut : 1.
Exemple de requête
curl -OJ "https://generaterandomiban.com/export/de?format=csv&count=50"
Exemple de réponse
iban,iban_print,country,check_digits,bank,account
DE89370400440532013000,DE89 3704 0044 0532 0130 00,DE,89,37040044,0532013000

Serveur MCP

Les agents IA peuvent utiliser les mêmes fonctions via un serveur Model Context Protocol, à l'adresse /mcp (Streamable HTTP, JSON-RPC 2.0). Il est public, ne demande pas de clé API et accepte jusqu'à 120 requêtes par minute.

Outil Description
list_countriesListe les pays pris en charge avec la longueur de leur IBAN.
generate_ibanGénère de 1 à 100 IBAN de test pour un pays.
validate_ibanVérifie un IBAN : MOD-97, longueur attendue et prise en charge du pays.
Exemple de requête
curl -X POST https://generaterandomiban.com/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
       "params":{"name":"generate_iban","arguments":{"country":"IT","count":2}}}'

generate_iban accepte aussi "realistic", qui vaut true par défaut. Passez "realistic": false pour des IBAN entièrement aléatoires.

Carte du serveur, pour la découverte automatique : /.well-known/mcp/server-card.json

Spécification OpenAPI

Une description OpenAPI 3.1 de l'API REST, lisible par une machine, pour les générateurs de clients et les outils d'API : /api/v1/openapi.json

Bibliothèque JavaScript

Pour valider des IBAN dans le navigateur ou hors ligne, sans appeler l'API, utilisez notre paquet open source iban-check pour JavaScript et TypeScript (sans dépendances, licence MIT) : GitHub · npm

Terminal
npm install iban-check

Obtenir une clé API

Les clés sont délivrées manuellement. Envoyez-nous un e-mail décrivant brièvement votre cas d'usage, et nous vous en enverrons une.

Demander une clé API