Warum ein n8n Rate Limit deinen Workflow stoppt
Der Workflow lief wochenlang sauber, dann bricht er mitten in einer langen Kontaktliste ab. Im Node steht zum Beispiel Fehler 429, Too Many Requests. Das ist ein n8n Rate Limit: Die API am anderen Ende hat genug von deinem Tempo und lehnt weitere Anfragen ab.
Laut RFC 6585 der IETF heißt 429, dass ein Client in einer bestimmten Zeit zu viele Anfragen geschickt hat. Dabei darf der Server im Header Retry-After mitteilen, wie lange du warten sollst. Laut RFC 9110 steht dort eine Zahl in Sekunden oder ein Datum.
Kurz erklärt
Rate Limit: Obergrenze, wie viele Anfragen eine API je Zeitfenster annimmt. Den Überschuss lehnt sie meist mit 429 ab. Throttling: Der Anbieter bremst oder puffert zu viele Anfragen, statt sie abzulehnen. Backoff: Du wartest nach einem Fehler, und zwar mit jedem Versuch länger.
Beides setzt der Anbieter durch, so erklärt es das n8n-Team in seinem Blog vom Oktober 2026. In deiner Hand liegen dagegen Tempo und Wartezeit. Der HTTP Request Node wertet Retry-After laut Doku nicht von selbst aus. Einen eingebauten Backoff hat n8n ebenfalls nicht.
Wir kennen das n8n Rate Limit aus unserer früheren Blog-Pipeline. Dort lieferte ein über OpenRouter angebundenes Sprachmodell immer wieder Fehler 429, selbst wenn die Läufe nacheinander starteten. Geholfen hat am Ende ein Wechsel des Modells, zusätzlich stand Retry On Fail am betroffenen Node.
Voraussetzungen: die Rate Limits deiner APIs kennen
Wer ein n8n Rate Limit vermeiden will, muss zuerst die Grenzen der eigenen APIs kennen. Schau deshalb in die Doku jeder API. Entscheidend sind dabei zwei Angaben: das Zeitfenster und die Bezugsgröße. Ein Limit kann außerdem je Sekunde, je zehn Sekunden oder je Minute gelten, und zwar je Nutzer, je App oder je Projekt.
Dienst
Limit
gilt je
Hinweis zur Wartezeit
Google Sheets API
60 Lese- und 60 Schreibanfragen pro Minute (300 je Projekt)
Nutzer und Projekt
empfiehlt Backoff bis 32 oder 64 s
HubSpot (private App)
100 Anfragen je 10 s (Free, Starter), 190 ab Professional
App
Restkontingent in X-HubSpot-RateLimit-Headern
Notion API
180 Anfragen pro Minute, 600 bei Business und Enterprise
Verbindung
Retry-After in Sekunden
Anthropic API
Anfragen und Tokens pro Minute, je nach Tier
Organisation
retry-after bei 429
OpenAI API
Anfragen und Tokens pro Minute und Tag, je nach Tier
Organisation und Projekt
Retry-After als Mindestwartezeit
Bei den KI-Anbietern ändern sich die Zahlen je Tier häufig, deshalb steht hier nur die Mechanik. Prüf außerdem diese Punkte, bevor du drosselst:
- Fehlerbild geklärt: Im Output-Panel des Nodes siehst du, ob wirklich 429 kommt oder ein anderer Fehler.
- Hinweis von n8n gelesen: Bei 429 ersetzt der HTTP Request Node die Fehlermeldung durch den Rat, die Batching-Einstellung unter Options zu nutzen.
- Version geprüft: Retry On Fail zusammen mit „Continue“ wirkt erst ab n8n 1.43.0 zuverlässig.
n8n Rate Limiting einrichten: Schritt für Schritt
Gegen ein n8n Rate Limit hilft eine feste Reihenfolge. Zuerst drosselst du, damit 429 gar nicht erst kommt. Danach fängst du kurze Aussetzer ab. Den Backoff brauchst du schließlich nur für hartnäckige Sperren.
Batching im HTTP Request Node einschalten
Öffne den HTTP Request Node, klick auf Add Option und wähle Batching. Unter Items per Batch legst du fest, wie viele Anfragen gemeinsam rausgehen, unter Batch Interval (ms) die Pause dazwischen. Ab Werk stehen dort allerdings 50 Items und 1000 Millisekunden. Das ist für jedes Limit aus der Tabelle zu schnell.
Batch-Größe aus dem Limit ausrechnen
Rechne immer mit Puffer. HubSpot erlaubt im Starter-Abo 100 Anfragen je zehn Sekunden. Mit 9 Items je Batch und 1000 Millisekunden Pause kommst du auf höchstens 90. Bei Notion reichen zum Beispiel 2 Items je Sekunde, also 120 von erlaubten 180 pro Minute.
Loop Over Items mit Wait für andere Nodes
Nodes wie Google Sheets haben keine Batching-Option. Setz deshalb Loop Over Items davor und einen Wait Node dahinter, dann verbindest du den Wait Node zurück zum Loop. Bei 60 Anfragen pro Minute passen Batch Size 1 und eine Wait Amount von 1,1 Sekunden. Das ergibt also rund 54 Anfragen pro Minute.
Retry On Fail für kurze Aussetzer setzen
Öffne beim API-Node die Settings und schalte Retry On Fail ein. Max. Tries erlaubt 2 bis 5 Versuche, den ersten eingerechnet, Wait Between Tries (ms) höchstens 5000. Mehr als 20 Sekunden Wartezeit kommen so nie zusammen. Außerdem bleibt die Pause bei jedem Versuch gleich lang.
Fehlerausgang statt Abbruch einrichten
Stell in den Settings bei On Error die Option Continue (using error output) ein. Dann bekommt der Node einen zweiten Ausgang für fehlgeschlagene Items, statt den ganzen Workflow zu stoppen. Dort hängst du anschließend den Backoff oder eine Benachrichtigung an.
Error Workflow als letztes Netz anlegen
Leg einen eigenen Workflow an, der mit dem Error Trigger beginnt und dich zum Beispiel per Mail warnt. Im überwachten Workflow wählst du ihn unter Options, Settings, Error workflow aus. Testen lässt er sich allerdings nur mit einer automatischen Ausführung, nicht per Klick im Editor.
Wie du den Alarm selbst baust, zeigt unser Beitrag über Benachrichtigungs-E-Mails in n8n-Workflows. Schick die Warnung nur einmal je Ausführung, nicht je Item.
Retry On Fail ist kein Backoff
Die Pause zwischen den Versuchen ist nämlich fest und endet bei 5000 Millisekunden. In unseren eigenen n8n-Exporten stehen an vielen Nodes dagegen 30.000 Millisekunden. Laut aktuellem Quellcode kappt n8n solche Werte stillschweigend auf 5000.
n8n Backoff selbst bauen: Wartezeit, die mitwächst
Trifft dein Workflow trotz Drossel auf ein n8n Rate Limit, das länger anhält, brauchst du einen echten Backoff. Dabei wartet jeder neue Versuch doppelt so lange wie der vorige. Google empfiehlt das für die Sheets API ausdrücklich, mit einem Zufallsanteil und einer Obergrenze von 32 oder 64 Sekunden. Dieser Jitter verhindert, dass viele gescheiterte Abläufe im selben Moment wieder anklopfen. Laut einer Simulation im Architektur-Blog von AWS schneidet Backoff ohne Jitter am schlechtesten ab.
Sub-Workflow mit vier Nodes aufbauen
Am saubersten baust du die Schleife in einen eigenen Sub-Workflow. Er beginnt mit dem Trigger When Executed by Another Workflow und enthält vier Nodes: HTTP Request, IF, Code und Wait. Im HTTP Request schaltest du unter Options, Response die Punkte Include Response Headers and Status und Never Error ein. So kommt eine 429 als normales Ergebnis mit statusCode und headers an, statt den Lauf abzubrechen.
Wartezeit im Code Node berechnen
Der IF Node prüft danach, ob statusCode gleich 429 oder mindestens 500 ist. Im Ja-Zweig rechnet daraufhin ein Code Node die Wartezeit aus:
// Versuch 0, 1, 2 … dieses Nodes
const versuch = $runIndex;
const maxVersuche = 5;
if (versuch >= maxVersuche) {
throw new Error('Rate Limit: nach ' + maxVersuche + ' Versuchen aufgegeben');
}
const antwort = $input.first().json;
// Retry-After in Sekunden hat Vorrang
const retryAfter = Number(antwort.headers?.['retry-after']);
// sonst 1, 2, 4, 8, 16 s plus Jitter
const basis = Math.min(2 ** versuch, 64);
const wartezeit = retryAfter > 0 ? retryAfter : basis + Math.random();
return [{ json: { ...antwort, versuch, wartezeit: Math.round(wartezeit * 100) / 100 } }];Danach folgt der Wait Node mit Resume After Time Interval, als Wait Amount der Ausdruck {{ $json.wartezeit }} und als Wait Unit Seconds. Vom Wait Node führt die Verbindung schließlich zurück zum HTTP Request. Die Reihe 1, 2, 4, 8, 16 Sekunden ergibt bei fünf Versuchen zusammen 31 Sekunden Wartezeit plus Jitter.
Wichtig dabei: Nach der ersten Runde enthält $json die Antwort der API, nicht mehr deine Daten. Greif im HTTP Request deshalb über den Trigger auf die Felder zu, etwa mit {{ $('When Executed by Another Workflow').first().json.email }}.
Sub-Workflow je Datensatz aufrufen
Im Haupt-Workflow rufst du den Sub-Workflow mit dem Node Execute Sub-workflow auf und stellst Mode auf Run once for each item. Jeder Datensatz bekommt so eine eigene Ausführung, deshalb zählt $runIndex für jeden wieder ab null, denn der Wert gibt laut n8n-Doku an, wie oft der aktuelle Node in der Ausführung schon lief.
Lange Pausen kosten kaum Speicher
Unter 65 Sekunden hält n8n eine wartende Ausführung im Speicher, darüber lagert es sie in die Datenbank aus. Behalte in der n8n Cloud trotzdem die maximale Laufzeit je Ausführung im Blick: laut Preisseite 5 Minuten im Starter- und 40 Minuten im Pro-Tarif.
Rate Limits in n8n über mehrere Workflows verteilen
Ein n8n Rate Limit gilt fast nie je Workflow, sondern je Projekt, App oder Organisation. Laufen zum Beispiel drei Workflows gegen dieselbe HubSpot-App, teilen sie sich die 100 Anfragen je zehn Sekunden. Jeder für sich ist sauber gedrosselt, zusammen reißen sie trotzdem das Limit.
Self-hosted begrenzt du deshalb die parallelen Ausführungen mit einer Umgebungsvariable. Ab Werk ist sie aus, und was über dem Wert liegt, wartet in einer Warteschlange. Sie gilt allerdings nur für Produktionsausführungen über Trigger und Webhooks, nicht für manuelle Läufe oder Sub-Workflows.
export N8N_CONCURRENCY_PRODUCTION_LIMIT=205
parallele Ausführungen im Cloud-Tarif Starter (n8n-Preisseite)
bis 50
parallele Ausführungen im Cloud-Tarif Pro (n8n-Preisseite)
10
Aufträge je Worker gleichzeitig im Queue Mode, ab Werk (n8n-Doku)
In der n8n Cloud legt dagegen der Tarif die Grenze fest. Mehr Durchsatz bringt self-hosted der Queue Mode mit Workern, Redis und PostgreSQL statt SQLite. Wie du so eine Installation absicherst, steht in unseren Backup-Strategien für n8n self-hosted.
Bei mehreren Workflows gegen dieselbe API hilft nur eine zentrale Stelle: ein einzelner Workflow, der alle Anfragen an diese API übernimmt und als einziger drosselt. Das ist ein Vorschlag aus der n8n-Community, keine offizielle Anleitung. In unserer früheren Blog-Pipeline lösten wir es schlichter: Testläufe nie in Serie, sondern mit mindestens 90 Sekunden Abstand.
429-Fehler in n8n: typische Fehler und Lösungen
Die meisten Probleme mit einem n8n Rate Limit entstehen nicht durch fehlende Technik, sondern durch gut gemeinte Wiederholungen. Diese Fehler tauchen immer wieder auf:
Fehler
Folge
Lösung
Retry On Fail als Backoff genutzt
höchstens 20 s Wartezeit, das Minutenfenster bleibt voll
drosseln und eigene Backoff-Schleife bauen
jeden Fehler wiederholt
400, 401 oder ein leeres Guthaben kommen fünfmal statt einmal
nur 429 und 5xx wiederholen
ohne Pause wiederholt
bei OpenAI zählen fehlgeschlagene Anfragen mit zum Limit
Wartezeit, die mit jedem Versuch wächst
Wait Between Tries auf 0
n8n macht intern 1000 ms daraus
kleinen Wert bewusst eintragen
Wiederholung legt doppelt an
zwei gleiche Kontakte oder Zeilen
vorher prüfen, ob der Datensatz existiert
Error Workflow nur manuell getestet
Error Trigger startet nicht
mit Stop and Error in einer automatischen Ausführung testen
Ein n8n Rate Limit testest du gefahrlos mit httpbin.org. Die Adresse https://httpbin.org/status/429 liefert immer 429, allerdings ohne Retry-After. Für den Header nimmst du stattdessen https://httpbin.org/response-headers?Retry-After=5, sie liefert den Header retry-after: 5.
Bei Fehlern ohne Bezug zu Limits hilft unser Beitrag zur Fehlersuche in n8n-Workflows mit KI weiter.
Fazit: n8n Rate Limit vorbeugen statt reparieren
Ein n8n Rate Limit ist kein Defekt, sondern eine klare Ansage der API. Plane deshalb zuerst das Tempo: Limits nachlesen, Batching oder Loop Over Items mit Wait setzen. Retry On Fail fängt danach kurze Aussetzer ab. Für alles Längere baust du einmal den Backoff-Sub-Workflow und nutzt ihn danach überall. Fang am besten mit dem Workflow an, der zuletzt mit 429 abgebrochen ist.
Häufige Fragen
Wie viele Wiederholungen erlaubt Retry On Fail in n8n?
Max. Tries lässt 2 bis 5 Versuche zu, ab Werk sind es 3, den ersten Versuch eingerechnet. Wait Between Tries reicht von 0 bis 5000 Millisekunden, Standard ist 1000. Die Pause bleibt bei jedem Versuch gleich lang.
Wertet n8n den Header Retry-After aus?
Nein. Laut n8n-Doku beachtet der HTTP Request Node den Header nicht automatisch, und Retry On Fail ignoriert ihn ebenfalls. Willst du ihn nutzen, schalt Include Response Headers and Status ein und lies den Wert in einem Code Node aus. Er steht dabei klein geschrieben unter headers, als Sekunden oder als Datum.
Hat n8n einen eingebauten exponentiellen Backoff?
Nein, auch nicht in n8n 3.1 vom November 2026. Die Release Notes nennen keine Änderung an Retry oder Backoff. Einen n8n Backoff baust du deshalb selbst, mit Code Node, Wait Node und Zähler.
Was ist der Unterschied zwischen Rate Limiting und Throttling?
Beim Rate Limiting lehnt die API Anfragen über der Grenze ab, meist mit Fehler 429. Beim Throttling nimmt sie sie an, bremst oder puffert sie aber. In beiden Fällen setzt der Anbieter die Grenze, so erklärt es das n8n-Team. Du steuerst in n8n nur dein Tempo und die Wartezeit nach einem Fehler.
Du willst das nicht allein umsetzen?
Ich helfe dir bei Auswahl, Einrichtung und den ersten Schritten – ohne Agentur-Overhead.
Quellen
Stand vom 9. November 2026 · Zahlen und Pläne können sich ändern – wir halten den Beitrag aktuell.