Documentação da API de validação de IBAN

A API REST do IBAN-Test verifica a estrutura e os dígitos de controlo dos IBAN, devolve dados bancários e BIC disponíveis, valida BIC e contas bancárias alemãs e gera IBAN a partir de dados bancários. Autentique-se com o token API do painel de controlo e integre as respostas JSON em formulários, processos de pagamento e sistemas internos.

Experimentar a verificação de IBAN online · Utilizar o gerador de IBAN · Ligar o servidor MCP

Documentação interativa para programadores

A referência técnica completa, com parâmetros, esquemas de resposta e funções de teste, está disponível na documentação OpenAPI.

Abrir documentação OpenAPI

Autenticação

Utilize o token da secção API overview como token Bearer no cabeçalho HTTP:

Authorization: Bearer YOUR_API_TOKEN

Após iniciar sessão, encontra o token em API overview. Se ainda não tem conta, crie uma chave API.

URL de base

https://www.iban-test.eu/api

Endpoints

  • GET /v2/iban/validate?iban=... – validar um IBAN
  • GET /v2/iban/validate/{iban} – validar um IBAN indicado no caminho do URL
  • POST /v2/iban/validate – validar um IBAN enviado no corpo do pedido
  • GET /v2/bic/validate/{bic} – validar um BIC
  • GET /v2/bank-account/validate?bankcode=...&accountnumber=... – validar uma conta bancária alemã
  • GET /v2/iban/generate?countrycode=...&bankcode=...&accountnumber=... – gerar um IBAN

O que verifica a validação de IBAN

  • Código do país, sequência de caracteres e comprimento do IBAN definido para cada país
  • Dígitos de controlo do IBAN verificados pelo cálculo internacional MOD-97
  • Dados disponíveis nos diretórios bancários, como o nome do banco, a localidade e o BIC

Uma resposta válida confirma a coerência formal do IBAN. Não comprova que a conta existe, pertence a uma determinada pessoa, está ativa ou pode receber pagamentos.

Exemplos de pedidos

Validar um IBAN

curl -H "Authorization: Bearer YOUR_API_TOKEN" \
  "https://www.iban-test.eu/api/v2/iban/validate?iban=DE89%203704%200044%200532%200130%2000"

São permitidos espaços nos IBAN; estes são removidos automaticamente antes da validação.

Validar um BIC

curl -H "Authorization: Bearer YOUR_API_TOKEN" \
  "https://www.iban-test.eu/api/v2/bic/validate/COBADEFFXXX"

Validar uma conta bancária

curl -H "Authorization: Bearer YOUR_API_TOKEN" \
  "https://www.iban-test.eu/api/v2/bank-account/validate?bankcode=37040044&accountnumber=532013000"

Gerar um IBAN

curl -H "Authorization: Bearer YOUR_API_TOKEN" \
  "https://www.iban-test.eu/api/v2/iban/generate?countrycode=DE&bankcode=37040044&accountnumber=532013000"

Formato das respostas e tratamento de erros

Todos os endpoints devolvem JSON. Antes de aceitar ou guardar dados bancários, analise a resposta HTTP e os campos error, code, message e o campo opcional details.

{
  "error": false,
  "code": 2100,
  "message": "IBAN is valid",
  "details": {}
}

Consulte a referência OpenAPI para obter os parâmetros e esquemas de resposta atuais. Um IBAN com dígitos de controlo válidos não confirma a titularidade da conta.

Códigos de resultado e tratamento de erros

Verifique tanto o estado HTTP como a resposta JSON. Uma resposta HTTP 200 pode conter erros ou resultados de validação negativos. error: false por si só não confirma dados bancários válidos. Analise code; o texto traduzível de message serve apenas para apresentação.

Numa verificação individual, 2100 indica um IBAN válido; 2200, uma geração bem-sucedida, e 2500, um formato BIC válido. Na verificação de contas alemãs, 2300 apenas indica que a verificação foi efetuada: analise também bank.valid e konto.valid.

Código JSONSignificado e ação
3100IBAN inválido. Solicite dados corrigidos; não repita automaticamente com os mesmos dados.
3101Código bancário inválido. Verifique e corrija os dados bancários.
3102Número de conta inválido. Verifique e corrija os dados da conta.
3500Formato BIC inválido. Solicite um BIC corrigido.
4002Autenticação ausente ou inválida. Verifique o token Bearer e o cabeçalho Authorization.
4003Limite da API atingido. Suspenda as verificações até voltar a ter pedidos disponíveis; evite ciclos de repetição.
4004Utilizador ou acesso API desativado. Verifique o estado da conta ou contacte o suporte.
4100IBAN em falta. Envie o parâmetro iban.
4110BIC em falta. Envie um BIC.
4201 / 4210Código bancário em falta. Envie bankcode; a geração usa 4201 e a verificação de contas usa 4210.
4212 / 4213Código bancário demasiado longo (4212) ou curto (4213). Verifique o comprimento exigido para o país.
4220 / 4222 / 4223Número de conta em falta (4220), demasiado longo (4222) ou curto (4223). Corrija accountnumber.
4230 / 4231Código do país em falta (4230) ou inválido (4231). Verifique countrycode.
4233Não foi possível gerar o IBAN. Verifique a combinação de país, código bancário e número de conta.
5001Erro interno de processamento. Tente novamente mais tarde, com intervalos crescentes e um número limitado de tentativas; contacte o suporte se o erro persistir.

Com HTTP 401, corrija a autenticação. Com HTTP 429, respeite Retry-After se estiver presente. Com HTTP 5xx ou falhas de rede, limite as tentativas e aumente progressivamente os intervalos. Uma página de erro HTML ou a ausência de resposta JSON não é um resultado de validação.

SEPA: débitos diretos, transferências e transferências imediatas

A validação do IBAN também devolve a participação do banco em quatro sistemas SEPA, verificada nos registos de participantes do EPC.

  • details.sepa.sddCore – Débito direto SEPA Core
  • details.sepa.sddB2b – Débito direto SEPA B2B
  • details.sepa.sct – Transferência SEPA (SCT)
  • details.sepa.sctInst – Transferência imediata SEPA (SCT Inst)

Os quatro sistemas são verificados de forma independente. confirmed indica uma correspondência inequívoca e atual no registo. unknown indica que não foi possível confirmar a participação; não significa que o banco não suporte o sistema.

Cada sistema devolve apenas status e reason. O estado SEPA não altera o resultado da validação do IBAN.

Exemplo: excerto de uma resposta de validação de IBAN

{
  "details": {
    "sepa": {
      "sddCore": {
        "status": "confirmed",
        "reason": "matched"
      },
      "sddB2b": {
        "status": "confirmed",
        "reason": "matched"
      },
      "sct": {
        "status": "confirmed",
        "reason": "matched"
      },
      "sctInst": {
        "status": "confirmed",
        "reason": "matched"
      }
    }
  }
}

Significado de reason

  • matched – Participação confirmada
  • no_data – Sem dados do registo
  • missing_bic – BIC indisponível
  • ambiguous_bank – Associação bancária ambígua
  • no_match – Nenhuma entrada correspondente
  • ambiguous_participant – Várias entradas correspondentes
  • not_current – Participação atualmente não efetiva
  • stale_data – Dados do registo desatualizados
  • lookup_error – Falha na consulta do registo

Disponível na validação de IBAN por REST e nas ferramentas MCP validate_iban e validate_iban_batch. A geração de IBAN inclui estes campos quando são devolvidos dados bancários. As verificações separadas de BIC e de código bancário/número de conta alemão não devolvem estes campos.

A verificação diz respeito à participação do banco. Não confirma a existência ou elegibilidade da conta, um mandato ou o sucesso de um pagamento. SCT Inst confirma a participação no sistema, não a disponibilidade em tempo real através de RT1/TIPS nem a execução imediata garantida para uma conta específica.

Fonte de dados: European Payments Council (EPC).

MCP para clientes de IA

Além da API REST, o IBAN-Test disponibiliza um servidor Model Context Protocol para validação de IBAN. O MCP disponibiliza as mesmas funções bancárias como ferramentas estruturadas para clientes e agentes de IA compatíveis.

Endpoint MCP

Ligue o seu cliente compatível com MCP a este endpoint e autentique-se com o token API.

https://www.iban-test.eu/mcp
Authorization: Bearer YOUR_API_TOKEN

Ferramentas MCP disponíveis

  • validate_iban – valida um IBAN
  • validate_iban_batch – valida vários IBAN; cada IBAN conta como um pedido API
  • generate_test_iban – gera um IBAN a partir do código do país, do código bancário e do número de conta
  • ibantest_bank_account_validate – valida um código bancário e um número de conta alemães
  • ibantest_bic_validate – valida um BIC e devolve os dados bancários disponíveis
  • get_usage_info – Mostra a utilização da API sem consumir um pedido de validação.

As chamadas às ferramentas funcionais MCP são contabilizadas no limite da API IBAN-Test, tal como os pedidos REST.

Validar uma exportação CSV

Se precisa de verificar uma lista de IBAN e guardar os resultados, consulte o guia de validação de CSV com Python. O exemplo preserva a ordem das linhas, evita pedidos repetidos para o mesmo IBAN e explica como lidar com quotas e erros.

Notas

  • A API REST e o MCP utilizam tokens Bearer.
  • A API anterior, baseada num código de autenticação, não é abrangida por esta documentação.
  • Os pedidos funcionais são contabilizados no limite de utilização atual da API.