Accès développeurs · En service

API de conversion de relevés bancaires

Extrayez des données de transactions en JSON structuré depuis n’importe quel relevé bancaire PDF grâce à une API REST simple. Elle repose sur le même moteur d’analyse que PivotBank : plus de 1000 banques, prise en charge des documents de plusieurs pages, intégration sans configuration.

Intégration simple

Un seul endpoint. Du JSON structuré.

Envoyez un PDF en POST. Recevez des données de transactions propres et structurées. Chaque réponse contient le nom de la banque, la période du relevé et un tableau complet de transactions avec des champs normalisés de date, libellé, débit, crédit et solde.

  • ✓Des noms de champs identiques pour toutes les banques
  • ✓Valeurs null pour un débit ou un crédit absent (jamais ambigu)
  • ✓Dates au format ISO
  • ✓Nom de la banque et période détectés automatiquement
  • ✓Nombre de pages inclus pour le suivi de l’utilisation
POST /api/v1/convert
Authorization: Bearer {API_KEY}
Content-Type: multipart/form-data

# Response: 200 OK
{
  "bankName": "HSBC",
  "accountNumber": "1234 5678",
  "period": "Jan 2025, Mar 2025",
  "pageCount": 3,
  "transactionCount": 2,
  "reconciliation": {
    "verified": true,
    "status": "ok",
    "opening": 2384.21,
    "closing": 6841.22,
    "expectedClosing": 6841.22,
    "difference": 0,
    "totalIn": 4500.00,
    "totalOut": 42.99
  },
  "transactions": [
    {
      "date": "2025-01-03",
      "description": "AMAZON.CO.UK",
      "debit": 42.99,
      "credit": null,
      "balance": 2341.22
    },
    {
      "date": "2025-01-07",
      "description": "SALARY - ACME LTD",
      "debit": null,
      "credit": 4500.00,
      "balance": 6841.22
    }
  ]
}

Comment l’appeler

    01

    Abonnez-vous à Pro

    L’accès à l’API nécessite un abonnement Pro actif ; l’endpoint refuse les clés appartenant à tout autre compte.

    02

    Créez une clé API

    Générez une clé depuis la page de votre compte. Elle n’est affichée qu’une fois, et seule son empreinte (hash) est conservée.

    03

    Envoyez le PDF en POST

    Envoyez le PDF à /api/v1/convert avec un en-tête Authorization: Bearer, soit en multipart form-data dans un champ "file", soit en corps application/pdf brut, jusqu’à 15 MB.

    04

    Lisez le JSON

    Une réponse 200 renvoie bankName, accountNumber, period, pageCount, transactionCount, un objet reconciliation et un tableau transactions contenant date, description, debit, credit et balance.

Qui utilise l’API

Intégration à un logiciel comptable

Envoyez les PDF de vos clients vers votre propre système et recevez du JSON structuré, prêt à être passé directement dans les journaux Xero, QuickBooks ou Sage, sans ressaisie manuelle.

Fintech et crédit

Automatisez l’analyse de solvabilité des demandes de prêt. Analysez 3 à 12 mois de relevés d’un demandeur en quelques secondes et extrayez les revenus, les charges récurrentes et l’évolution du solde.

Automatisation en entreprise

Intégrez l’analyse de relevés bancaires à vos processus internes : contrôles de conformité, traitement des notes de frais, appui aux audits ou tableaux de bord financiers sur mesure.

Modèle tarifaire

Paiement par relevé

Accès

Inclus avec Pro

Banques prises en charge

Plus de 1000

The API is a Pro feature

Upgrade to Pro to create API keys and convert statements programmatically.

FAQ

Travailler avec l’API

Comment m’authentifier ?

Envoyez votre clé comme jeton bearer : Authorization: Bearer pvb_live_... Les clés se créent et se révoquent sur cette page, et l’endpoint exige un abonnement Pro actif : une clé valide sur un compte sans Pro est donc refusée avec un 403.

Comment envoyer le PDF ?

Soit en multipart/form-data avec le fichier dans un champ nommé "file", soit comme corps de requête brut avec Content-Type: application/pdf. Le même endpoint accepte les deux. La limite est de 15 MB, vérifiée à partir de la longueur déclarée avant la lecture du corps : un envoi trop volumineux est donc refusé avec un 413 au lieu d’être d’abord transféré.

Que renvoie l’API ?

Un objet JSON : bankName, accountNumber, period et pageCount détectés sur le relevé, transactionCount, un objet reconciliation et un tableau transactions. Chaque transaction comporte une date, un libellé et des champs debit, credit et balance, avec null plutôt que zéro quand une colonne est réellement absente. L’objet reconciliation contient un booléen verified, vrai uniquement quand le solde d’ouverture plus chaque ligne tombe exactement sur le solde de clôture, ainsi que les montants utilisés pour le calcul : une mauvaise lecture se détecte donc dans le code plutôt qu’en réunion de rapprochement un mois plus tard.

Lit-elle les relevés scannés ?

Non, et c’est le seul point où l’API fait moins que l’application web. L’application web lit un scan en envoyant chaque page sous forme d’image ; l’API n’analyse que la couche de texte, et un relevé sans texte exploitable renvoie un 422 qui demande un PDF numérique. Si vos fichiers comprennent des scans, convertissez-les dans l’application web ou contactez-nous.

Que signifient les codes d’erreur ?

401 pour une clé absente, invalide ou révoquée. 403 pour une clé valide sur un compte sans Pro. 400 pour un corps qui n’est pas un PDF lisible. 413 au-delà de 15 MB. 422 pour un PDF analysé mais sans texte exploitable, ce qui signifie en pratique un scan.

Comment l’utilisation est-elle comptée ?

Une conversion par appel réussi, enregistrée sur votre compte avec le nombre de pages, exactement comme une conversion dans le navigateur. Un appel qui échoue n’est pas compté.

Volume et entreprises

Vous convertissez en volume ?

L’API est en service et incluse avec un abonnement Pro. Créez une clé ci-dessus et commencez à envoyer des relevés ; il n’y a aucune file d’attente ici.

Contactez-nous si vous convertissez en volume, si vous avez besoin d’un tarif sur mesure ou si vous voulez parler d’une intégration avant de la développer.