DEV Community

Cover image for Plaid API nutzen: Entwickler-Anleitung 2026
Emre Demir
Emre Demir

Posted on • Originally published at apidog.com

Plaid API nutzen: Entwickler-Anleitung 2026

Fintech-Apps starten heute kaum noch von Grund auf. Sobald ein Nutzer ein Girokonto in Ihrer App verknüpft, arbeitet meist Plaid im Hintergrund und wandelt Bankanmeldungen in nutzbares JSON für Ihr Backend um. Die Plaid API ermöglicht Kontoverknüpfungen, Kontostandsabfragen, Transaktionshistorien und Identitätsprüfungen – genutzt von Apps wie Venmo, Robinhood oder Chime.

Teste Apidog noch heute

In diesem Leitfaden erhalten Sie als Entwickler einen schnellen, praxisorientierten Einstieg in die Plaid API: von der Schlüsselerstellung über den End-to-End Link-Token-Flow bis zur Fehlerbehandlung in Produktion. Außerdem erfahren Sie, wie Sie jede Stufe mit Apidog testen, um Payloads nicht mehr raten zu müssen. Für vollständige Details halten Sie die offizielle Plaid-Dokumentation griffbereit.

Open Banking ist ein umkämpfter Markt – Plaid ist nur eine Option. Falls Sie noch vergleichen, finden Sie einen Überblick über die besten Open Banking APIs bei uns. Dieser Beitrag konzentriert sich auf den praktischen Plaid-Einsatz.

TL;DR

  • Plaid verbindet Ihre App mit 12.000+ Banken in USA, Kanada und Europa.
  • Drei Umgebungen: Sandbox (Fake-Daten, kostenlos), Development (100 Live-Items gratis), Production (pay-per-use).
  • Der Verknüpfungs-Flow besteht aus vier Schritten: link_token serverseitig erstellen, Plaid Link im Client öffnen, public_token gegen access_token tauschen, dann Produkt-Endpoints nutzen.
  • Kernprodukte: Auth, Balance, Transactions, Identity, Investments, Liabilities, Income. Pro Item aktivieren.
  • Häufigste Produktionsfehler: ITEM_LOGIN_REQUIRED und INVALID_CREDENTIALS. Webhooks informieren bei Problemen.
  • Ratenlimits gelten pro Item und pro Client. Lesen Sie batched und reagieren Sie auf Webhooks statt Polling.

Was ist Plaid?

Plaid ist eine Infrastruktur-Schicht zwischen Ihrer App und der Bank des Nutzers. Gibt der Nutzer in Plaid Link seine Bankdaten ein, verbindet sich Plaid – je nach Bank per offizieller API oder Reverse Engineering – und liefert konsistentes JSON zurück, unabhängig von der Bank.

Sie speichern niemals Bankdaten. Plaid verwaltet die Verbindung als Item und gibt Ihnen ein access_token. Ein Item repräsentiert eine Bankverbindung und kann mehrere Konten (Giro, Spar, Kredit) enthalten.

Plaid deckt Konten, Karten, Kredite, Anlagen und Gehaltsdaten ab. Geldbewegungen wickeln Sie mit eigenen Zahlungsanbietern ab. Für ACH-Überweisungen kombinieren Sie Plaid Auth mit einem Zahlungsdienst – Details dazu finden Sie im Vergleich der besten ACH-Zahlungs-APIs.

Authentifizierung und Einrichtung

Schritt 1: Plaid Entwicklerkonto anlegen

Registrieren Sie sich auf plaid.com und bestätigen Sie Ihre E-Mail. Im Dashboard haben Sie Zugriff auf drei Umgebungen:

  • Sandbox: Fake-Institute, Fake-Nutzer, keine Kosten. Anmeldung mit user_good / pass_good.
  • Development: echte Banken, 100 Live-Items gratis.
  • Production: echte Banken, unbegrenzt, pay-per-use.

Schritt 2: API-Schlüssel generieren

Gehen Sie im Dashboard zu Team Settings > Keys. Sie benötigen:

  • client_id: identisch in allen Umgebungen
  • secret: je Umgebung unterschiedlich

Speichern Sie Schlüssel in Umgebungsvariablen – niemals im Git-Repo!

Schritt 3: Node.js SDK installieren

npm install plaid

Schritt 4: SDK-Client initialisieren

import { Configuration, PlaidApi, PlaidEnvironments } from 'plaid';

const config = new Configuration({
  basePath: PlaidEnvironments.sandbox,
  baseOptions: {
    headers: {
      'PLAID-CLIENT-ID': process.env.PLAID_CLIENT_ID,
      'PLAID-SECRET': process.env.PLAID_SECRET,
    },
  },
});

const client = new PlaidApi(config);

Passen Sie PlaidEnvironments.sandbox entsprechend Ihrer Umgebung an (.development oder .production).

Kern-Endpoints

Jede Plaid-Integration durchläuft diesen Prozess. Schritte 1 und 3 sind serverseitig, Schritt 2 läuft im Client.

Schritt 1: link_token serverseitig erstellen

const response = await client.linkTokenCreate({
  user: { client_user_id: 'user_123' },
  client_name: 'Your App',
  products: ['auth', 'transactions'],
  country_codes: ['US'],
  language: 'en',
});

const linkToken = response.data.link_token;

Alternativ per cURL:

curl -X POST https://sandbox.plaid.com/link/token/create \
  -H 'Content-Type: application/json' \
  -d '{
    "client_id": "YOUR_CLIENT_ID",
    "secret": "YOUR_SANDBOX_SECRET",
    "user": { "client_user_id": "user_123" },
    "client_name": "Your App",
    "products": ["auth", "transactions"],
    "country_codes": ["US"],
    "language": "en"
  }'

Schritt 2: Plaid Link im Frontend öffnen

Übergeben Sie link_token ans Frontend und initialisieren Sie Plaid Link. Nach erfolgreichem Login gibt der onSuccess-Callback einen public_token zurück.

Schritt 3: public_token gegen access_token tauschen

const exchange = await client.itemPublicTokenExchange({
  public_token: publicToken,
});

const accessToken = exchange.data.access_token;
const itemId = exchange.data.item_id;

Speichern Sie accessToken sicher auf dem Server – er bleibt dauerhaft gültig.

Schritt 4: Produkt-Endpoints aufrufen

const accounts = await client.accountsGet({ access_token: accessToken });
const balance = await client.accountsBalanceGet({ access_token: accessToken });

Wichtige Produkt-Endpoints

  • Auth: Kontoinformationen/Bankleitzahlen für ACH (/auth/get).
  • Balance: Echtzeit-Kontostände (/accounts/balance/get).
  • Transactions: Transaktionsverlauf bis zu 24 Monate (/transactions/sync).
  • Identity: Kontoinhaber, E-Mail, Adresse (/identity/get). Für reines KYC siehe KYC-API-Vergleich.
  • Investments: Depotbestände und Transaktionen (/investments/holdings/get).
  • Liabilities: Kredit-/Hypotheken-/Leihdetails (/liabilities/get).
  • Income: Gehaltsdaten (/credit/payroll_income/get).

Plaid API testen mit Apidog

End-to-End-Tests sind mit Plaid kompliziert, da der Link-Prozess im Browser stattfindet. Apidog bietet eine effiziente Lösung für serverseitiges Testen und das Teilen von Requests im Team. Importieren Sie die OpenAPI-Spezifikation von Plaid in Apidog, um direkt alle Endpoints mit Beispielen, Typen und Auth zu nutzen.

Richten Sie Umgebungsvariablen für client_id, secret und access_token ein und wechseln Sie mit einem Klick zwischen Sandbox und Produktion. Verkettete Requests ermöglichen Ihnen, den gesamten Flow von linkTokenCreate bis accountsGet ohne Browser zu automatisieren.

Mit Apidogs Mock-Server können Frontend-Teams /accounts/get-Antworten simulieren, bevor das Backend steht. Für Migrationen finden Sie einen Leitfaden im Beitrag API-Testing ohne Postman. Download Apidog und verbinden Sie direkt die Plaid-Spezifikation.

Fehlerbehandlung und Ratenlimits

Plaid-Fehler liefern error_type, error_code und error_message. Die wichtigsten Fehler im produktiven Betrieb:

  • INVALID_CREDENTIALS: Falsches Bankpasswort. Nutzer zur erneuten Anmeldung im Link-Update-Modus auffordern.
  • ITEM_LOGIN_REQUIRED: Bank hat Sitzung ungültig gemacht (z.B. Passwort geändert). Über Webhook erkennen und Link im Update-Modus öffnen.
  • RATE_LIMIT_EXCEEDED: Limits pro Item/Endpoint überschritten. Backoff und Retry mit Jitter implementieren.
  • PRODUCT_NOT_READY: Daten werden noch geladen. Nach INITIAL_UPDATE-Webhook erneut abrufen.

Webhooks

Geben Sie beim link_token-Erstellen eine webhook-URL an. Plaid sendet POST-Updates, u.a.:

  • SYNC_UPDATES_AVAILABLE: Neue Transaktionen abrufbar
  • ITEM: LOGIN_REQUIRED: Re-Authentifizierung nötig
  • ITEM: ERROR: Dauerhafter Fehler

Prüfen Sie stets die JWT-Signatur der Webhooks vor Verarbeitung.

Ratenbegrenzungen

Plaid limitiert Anfragen pro Item und Endpoint (z.B. /accounts/balance/get ca. 5/min/Item in Produktion). Aggregierte Limits gelten für stark genutzte Endpoints. Best Practices:

  • Webhooks nutzen statt Polling
  • Kontostände cachen (einige Minuten)
  • Niemals Endpunkte direkt aus Nutzeraktionen triggern

Plaid Preise

In Produktion gelten gestaffelte Preise pro API-Call. Richtwerte:

  • Sandbox: gratis, unbegrenzt
  • Development: gratis bis 100 Items
  • Production:
    • Auth: ca. $1.50 pro Konto (einmalig)
    • Balance: pro Request
    • Transactions: ca. $0.30/Item/Monat
    • Identity: pro Request
    • Investments, Liabilities, Income: eigene Gebühren pro Item

Plaid bietet individuelle Preise ab bestimmten Volumina. Aktuelle Preise auf der Produktseite von Plaid.

FAQ

Wie lange ist ein access_token gültig? Solange, bis der Nutzer widerruft oder die Bank das Item sperrt. Verschlüsselt speichern und nicht künstlich ablaufen lassen.

Kann ich Plaid für Identitätsprüfung allein nutzen? Möglich, aber für reines KYC sind spezialisierte Anbieter oft besser. Mehr dazu im Leitfaden Stripe Identity API nutzen.

Unterstützt Plaid Länder außerhalb der USA? Ja, inkl. Kanada, UK, EU. Prüfen Sie den Ländercode-Parameter bei /link/token/create je Produkt.

Was passiert bei Passwortänderung? Das Item wechselt in ITEM_LOGIN_REQUIRED. Sie erhalten einen Webhook, starten Link im Update-Modus, Nutzer authentifiziert sich erneut, access_token bleibt erhalten.

Kann ich den Link-Flow ohne echten Browser testen? Ja, /sandbox/public_token/create erzeugt einen public_token für automatisierte Tests.

Wie arbeite ich lokal mit Plaid? Sandbox-secret in .env speichern, PlaidEnvironments.sandbox verwenden. Für Webhooks Tunnel-Lösungen wie ngrok oder Cloudflare Tunnel nutzen.

Top comments (0)