Sirenic Iban API

The Iban API from Sirenic — 1 operation(s) for iban.

Operations 1

GET /v1/iban/verifier/{iban} IBAN form check (structure + key) and bank identification from official… #

Documentation

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/sirenic-eu:sirenic-eu-iban-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

sirenic-eu-iban-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Sirenic Iban API
  version: 1.0.0
  description: 'French & European company data, pay-per-call in USDC or EURC — EURC at numeric parity: the same figure as the USDC price, not FX-converted (at the ECB rate of 4 Sept 2026, about 16 % more in dollar terms) via the x402 protocol — or with an API key and prepaid credits (1 credit = 1 EUR, same per-call prices, no wallet).'
  contact:
    email: contact@sirenic.eu
  license:
    name: 'Data: Licence Ouverte / Open License Etalab 2.0'
    url: https://www.etalab.gouv.fr/licence-ouverte-open-licence/
servers:
- url: https://api.sirenic.eu
security:
- {}
- ApiKeyAuth: []
- BearerAuth: []
tags:
- name: Iban
paths:
  /v1/iban/verifier/{iban}:
    get:
      summary: IBAN form check (structure + key) and bank identification from official…
      description: 'IBAN verification and bank validation for SEPA payments: a FORM check to verify a supplier before payment — ISO 13616 structure + mod-97 key, plus bank identification from FREE official sources (FR via ACPR/REGAFI incl. LEI and SIREN; BE NBB; AT OeNB incl. LEI; NL BIC list; DE Bundesbank file). French BICs via GLEIF/SWIFT BIC-to-LEI. NOT a payee verification for instant payments: neither the holder name nor the account''s existence is checked (verification_titulaire: non_disponible).'
      x-price: $0.005
      x-payment:
        protocol: x402
        network: eip155:8453
      parameters:
      - name: iban
        in: path
        required: true
        schema:
          type: string
          minLength: 15
          maxLength: 42
        example: FR1420041010050500013M02606
        description: IBAN (spaces and dashes tolerated)
      responses:
        '200':
          description: 'Structure/length/mod-97 checks, identified bank when a free official register covers the country (FR: name+LEI+SIREN via ACPR/REGAFI; BE, AT, NL: name+BIC; DE when the Bundesbank file is loaded; FR banks get a BIC via the GLEIF/SWIFT LEI mapping) and ALWAYS verification_titulaire: non_disponible — an invalid IBAN is a meaningful (still 200) answer. Next to `valide`: nature_du_controle (forme | forme_et_registres — did a bank register actually answer?), non_verifie [account existence, holder name] and exemple_de_documentation, true for IBANs on a published list of known samples (well-formed; account existence untested) — false proves nothing.'
          content:
            application/json:
              example:
                iban_normalise: FR1420041010050500013M02606
                valide: true
                controles:
                  pays_connu: ok
                  longueur: ok
                  mod97: ok
                code_banque: '20041'
                nature_du_controle: forme_et_registres
                non_verifie:
                - existence_du_compte
                - nom_du_titulaire
                exemple_de_documentation: true
                banque:
                  identifiee: true
                  nom: La Banque Postale
                  bic: PSSTFRPPXXX
                  lei: 96950066U5XAAIRCPA78
                  siren: '421100645'
                verification_titulaire: non_disponible
                disclaimer: 'Contrôle de FORME (structure ISO 13616 + clé mod 97-10) et registres publics uniquement — ceci n''est PAS une Verification of Payee au sens du règlement (UE) 2024/886 (le schéma VoP est réservé aux prestataires de services de paiement) : le nom du TITULAIRE du compte n''est jamais vérifié. L''existence du compte n''est pas contrôlée. / Format check (ISO 13616 structure + mod 97-10 check digits) and public registers only — NOT a Verification of Payee: the account holder''s name is never checked and the account''s existence is not tested.'
        '400':
          description: Malformed IBAN parameter. Never charged. / Jamais facturé.
        '402':
          $ref: '#/components/responses/Reponse402PaymentRequired'
      tags:
      - Iban
      operationId: getV1IbanVerifierByIban
      x-operation-id-source: derived
components:
  responses:
    Reponse402PaymentRequired:
      description: Payment required — x402 payment requirements in body (JSON) and headers.
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-Api-Key
      description: 'Sirenic API key (srn_live_…) paying with prepaid credits (1 credit = 1 EUR, same prices as x402). Credits expire 12 months after purchase; calls are charged first to the credits closest to expiry. Optional: without it, the same routes answer 402 with a signable x402 quote. Insufficient balance → 402 {error: credits_insuffisants} WITHOUT a PAYMENT-REQUIRED header. Get a key at /compte.'
    BearerAuth:
      type: http
      scheme: bearer
      description: 'The same srn_live_… API key sent as Authorization: Bearer. A bearer value that is not an srn_ key is ignored (x402 flow unchanged).'