Recettes — valider un IBAN dans votre stack
Commencez par créer une clé gratuite sans adresse e-mail. Elle donne normalement 25 requêtes par mois ; lisez monthly_limit dans la réponse. Réclamer cette même clé avec un code reçu à une adresse choisie la porte à 200 par mois. Conservez api_key dans votre gestionnaire de secrets : ne créez pas une nouvelle clé à chaque appel.
curl -X POST https://api.ibanforge.com/v1/keys/generateChaque recette transmet un IBAN à l’API pour contrôler son format et lire les informations bancaires disponibles. Une banque absente ou un verdict unknown ne valide pas le compte. Le contrôle ne prouve ni l’existence du compte ni son titulaire. Guide du premier appel.
Python
IBANFORGE_API_KEY = api_key conservée à l’étape précédente, dans une variable d’environnement côté serveur.
Avec le SDK officiel (pip install ibanforge) :
import os
from ibanforge import IBANforge
with IBANforge(api_key=os.environ["IBANFORGE_API_KEY"]) as client:
result = client.validate_iban("DE89370400440532013000")
print(result["valid"])
print(result.get("bank_code_check"))
print(result.get("bic"))Ou requests nature :
import requests
r = requests.post(
"https://api.ibanforge.com/v1/iban/validate",
json={"iban": "DE89370400440532013000"},
headers={"Authorization": "Bearer ifk_votre_cle"},
timeout=15,
)
data = r.json()
print(data["valid"], data["bank_code_check"]["status"]) # True verifiedNode.js / TypeScript
fetch natif, zéro dépendance :
const res = await fetch("https://api.ibanforge.com/v1/iban/validate", {
method: "POST",
headers: {
"Content-Type": "application/json",
Authorization: "Bearer ifk_votre_cle",
},
body: JSON.stringify({ iban: "DE89370400440532013000" }),
});
const data = await res.json();
console.log(data.valid, data.bic?.code, data.bank_code_check?.status);
// true COBADEFFXXX verifiedLe SDK officiel (npm install @ibanforge/sdk) enveloppe le même appel avec les types.
PHP
Rien au-delà de ce que PHP embarque :
<?php
$payload = json_encode(["iban" => "DE89370400440532013000"]);
$ctx = stream_context_create(["http" => [
"method" => "POST",
"header" => "Content-Type: application/json\r\nAuthorization: Bearer ifk_votre_cle",
"content" => $payload,
"timeout" => 15,
]]);
$data = json_decode(file_get_contents(
"https://api.ibanforge.com/v1/iban/validate", false, $ctx), true);
echo $data["valid"] ? "valide" : "invalide", " — ",
$data["bank_code_check"]["status"] ?? "n/a", PHP_EOL;
// valide — verifiedJava
Le SDK Java officiel (Java 17 ou plus, Jackson seul) reflète le client TypeScript méthode pour méthode. Il est sur Maven Central : dépendez de com.ibanforge:ibanforge-sdk:1.5.0.
IBANforge client = IBANforge.builder().apiKey(System.getenv("IBANFORGE_API_KEY")).build();
IBANValidationResult r = client.validateIban("DE89 3704 0044 0532 0130 00");
System.out.println(r.valid() + " " + r.bic().code() + " " + r.bankCodeCheck().status());Les erreurs sont typées sous IBANforgeException : PaymentRequiredException (402, le défi x402 dans accepts), RateLimitException, InvalidInputException, ApiException. client.formatIban(...) et les autres routes gratuites n'ont pas besoin de clé. README et tableau complet des méthodes.
C# / .NET
Le SDK .NET officiel (net8.0, aucune dépendance hors du framework) expose les mêmes méthodes en appels asynchrones. Installez IBANforge.Sdk 1.5.0 depuis NuGet :
dotnet add package IBANforge.Sdk --version 1.5.0using var client = new IBANforgeClient(new IBANforgeOptions { ApiKey = Environment.GetEnvironmentVariable("IBANFORGE_API_KEY") });
var r = await client.ValidateIbanAsync("DE89 3704 0044 0532 0130 00");
Console.WriteLine($"{r.Valid} {r.Bic?.Code} {r.BankCodeCheck?.Status}");Passez votre propre HttpClient (IHttpClientFactory) au constructeur si vous en avez un ; les exceptions reflètent la hiérarchie Java et TypeScript. README.
Google Sheets
Utilisez les fonctions officielles qui stockent la clé dans vos propriétés utilisateur et envoient les colonnes par lots, plutôt qu’une clé écrite dans une cellule.
- Téléchargez les trois fichiers Apps Script et décompressez le ZIP. Dans un classeur de test, ouvrez Extensions → Apps Script.
- Remplacez
Code.gs, ajoutez un fichier HTML nomméSidebar, puis copiezSidebar.html. Dans les paramètres du projet, affichezappsscript.jsonet remplacez son contenu par le manifeste fourni. Enregistrez. - Dans l’éditeur, exécutez
ibfShowSidebaret autorisez le script. Revenez au classeur ; enregistrez votre clé dans la barre latérale. Ne la collez pas dans les cellules. - Importez ces deux IBAN de test en colonne A avec Fichier → Importer. Ce sont un exemple public de documentation et sa variante à clé invalide, pas des comptes à payer. En B2, saisissez
=IBAN_CONTROLE(A2:A3)et laissez cinq colonnes libres. - Vérifiez les deux lignes :
TRUEpour le format du premier,FALSEpour le second. Lisez ensuite banque, BIC, verdict du code banque et SEPA. Les champs absents ne doivent pas être interprétés comme un accord de paiement.
Deux IBAN représentent deux unités de quota, pas un seul appel facturé. Le cache peut éviter une nouvelle requête pendant six heures, sans garantie de conservation. Installation manuelle ; ce téléchargement n’est pas une fiche Google Workspace Marketplace. Toutes les fonctions et les limites.
n8n
Premier essai sur n8n Cloud ou auto-hébergé
- Téléchargez le workflow JSON, puis utilisez Import from File dans le menu du workflow n8n. Il contient uniquement deux nœuds natifs : Manual Trigger et HTTP Request ; aucune extension ni clé n’est incluse.
- Ouvrez Contrôler l’exemple de documentation : POST vers
/v1/iban/validate, corps JSON avec l’exemple publicDE89370400440532013000. Exécutez manuellement une fois. - Vérifiez que la sortie contient
valid,bank_code_checket les sources disponibles. Le workflow ne lance aucun paiement ni action en aval. Un échec HTTP, un quota épuisé ou un délai dépassé arrête l’étape. - Pour conserver un quota sur votre propre clé, choisissez Generic Credential Type → Header Auth dans le nœud HTTP : nom
Authorization, valeurBearersuivie de votre clé. Gardez la clé dans les credentials, jamais dans le JSON exporté.
L’essai sans clé utilise le quota REST décrit dans le guide de démarrage, partagé par adresse réseau. Sur n8n Cloud, plusieurs utilisateurs peuvent partager une adresse ; si le quota est épuisé, configurez votre clé. Importer un workflow · Paramètres HTTP Request.
Extension communautaire pour n8n auto-hébergé
Le paquet publié n8n-nodes-ibanforge@0.1.1 propose la validation IBAN, la recherche BIC, le clearing suisse et les pré-contrôles de conformité au niveau bancaire. Cette recette concerne n8n auto-hébergé, avec un compte propriétaire ou administrateur. L'installation d'un paquet depuis npm n'est pas disponible sur n8n Cloud, qui exige une fiche vérifiée. Voir le guide d'installation n8n.
- Ouvrez Settings → Community nodes → Install et saisissez
n8n-nodes-ibanforge@0.1.1. - Obtenez une clé API gratuite (25 requêtes/mois sans e-mail, 200 après réclamation, sans carte). Dans un nouveau workflow, reliez Manual Trigger à IBANforge et collez la clé dans un identifiant IBANforge API.
- Choisissez Validate IBAN, saisissez l'exemple de documentation
DE89370400440532013000, puis exécutez l'étape. - Lisez le résultat JSON :
validdoit valoirtruepour cet exemple,bank_code_checkdécrit le résultat du registre etbicla banque lorsqu'elle peut être identifiée. Une opération terminée qui renvoie ces champs prouve le premier appel API ; le seul test de connexion au vert ne suffit pas.
Dans la version 0.1.1, le test de connexion appelle la route publique /v1/demo, qui ne vérifie pas la clé. Contrôlez le résultat réel de Validate IBAN avant d'utiliser le workflow. Ni un format valide ni une banque identifiée ne prouvent l'existence du compte ou son appartenance à un bénéficiaire nommé.
Pour une installation manuelle, exécutez les commandes suivantes avec l'utilisateur du service n8n, dans son conteneur le cas échéant, puis redémarrez n8n :
mkdir -p ~/.n8n/nodes
cd ~/.n8n/nodes
npm install n8n-nodes-ibanforge@0.1.1Le nœud traite chaque élément entrant séparément ; il n'a pas d'opération batch. Une liste de 100 éléments peut donc consommer 100 requêtes. Détails de l'installation manuelle.
Odoo
Le module Odoo public, version 18.0.1.0.0 (AGPL-3), remplit le BIC et le nom de la banque lorsque l'API peut les identifier. Il exige Odoo 18 avec prise en charge des modules Python personnalisés, sur votre propre serveur ou sur Odoo.sh. Odoo Online ne prend pas en charge ces modules. Cette installation utilise le dépôt source et ne dépend pas d'une fiche Odoo Apps.
Sur votre propre serveur Odoo, clonez le dépôt dans le répertoire de votre choix :
git clone --branch 18.0 --single-branch https://github.com/cammac-creator/ibanforge-odoo.git /path/to/ibanforge-odooAjoutez /path/to/ibanforge-odoo à la liste addons_path existante d'Odoo, en conservant les autres chemins. Le module se trouve dans son sous-répertoire : le manifeste doit être à /path/to/ibanforge-odoo/ibanforge_bank_autofill/manifest.py. Vous pouvez aussi copier uniquement ce répertoire ibanforge_bank_autofill dans un répertoire d'extensions déjà configuré. Vérifiez que la bibliothèque Python requests est disponible dans l'environnement Odoo. Sur Odoo.sh, ajoutez ce répertoire de module à votre projet selon la procédure des modules personnalisés.
- Redémarrez Odoo, activez le mode développeur et actualisez la liste des applications. Retirez le filtre Apps par défaut si nécessaire, puis installez IBANforge Bank Auto-fill (
ibanforge_bank_autofill). - Ouvrez Configuration → IBANforge, collez votre clé API et enregistrez les paramètres. Conservez l'adresse API par défaut. Sans clé, le module ne fait aucun appel réseau.
- Dans une base de test, créez un compte bancaire de partenaire avec
DE89370400440532013000. Laissez le champ banque vide, saisissez l'IBAN, puis quittez le champ. Contrôlez la banque et le BIC détectés ou la banque associée, enregistrez, puis rouvrez le compte pour vérifier que le lien vers la banque a été conservé.
Une API indisponible ou un BIC absent laisse le remplissage automatique inactif ; cela ne bloque pas l'enregistrement. Le module Odoo base_iban continue de valider le format de l'IBAN. À l'enregistrement, une banque déjà indiquée sur le compte est conservée. La saisie puis l'enregistrement d'un nouveau compte peuvent utiliser deux appels API : 200 requêtes mensuelles ne représentent donc pas 200 comptes saisis manuellement. L'IBAN est transmis à l'API configurée ; le résultat ne prouve pas la propriété du compte. Comportement et limites du module.
Agents IA (MCP)
MCP distant : ajoutez https://api.ibanforge.com/mcp dans un client compatible. Pour un processus local :
npx -y ibanforge-mcpOu le transport hébergé, sans installation : https://api.ibanforge.com/mcp — 10 appels d'outils gratuits par IP et par jour, sans aucune clé : le chemin le plus rapide pour qu'un assistant évalue la donnée avant tout engagement.
Ce que vous recevez
La réponse que les recettes affichent (réponse de production, abrégée) :
{
"valid": true,
"bic": { "code": "COBADEFFXXX", "bank_name": "Commerzbank", "city": "Köln" },
"bank_code_check": {
"value": "37040044",
"status": "verified",
"register": "Deutsche Bundesbank Bankleitzahlendatei",
"authoritative": true,
"as_of": "2026-08"
}
}authoritative: true signifie que le registre national lui-même a répondu. Les champs que la donnée ne soutient pas valent null, jamais devinés — la sémantique complète explique ce que verified promet et ne promet pas.
Voir aussi : Ce que « verified » veut dire · IBAN vers BIC · Générateur d'IBAN de test · Sources des données
Passez à votre cas concret
Choisissez une première étape pour votre logiciel ou votre fichier fournisseurs.
Intégrer les contrôles IBAN à votre logiciel
Essayez une validation, examinez la réponse, puis reliez votre application à l’API ou à une intégration existante.
Découvrir le parcours APIContrôler un fichier fournisseurs
Déposez un CSV ou un fichier Excel et consultez gratuitement l’aperçu des constats. Achetez le classeur annoté si vous avez besoin du rapport complet. Sans compte ni abonnement.
Découvrir l’audit de fichiersLes informations bancaires disponibles varient selon le pays et la source. Ces contrôles ne confirment pas le titulaire du compte et ne garantissent pas la réussite d’un paiement.