Praxisanleitung

Formspree-Fehler erklärt: „Form not found“, „Form should POST“ und mehr

Formspree antwortet auf denselben Fehler unterschiedlich, je nachdem, ob ein normales Formular oder fetch sendet. Alle Antworten, gegen die echten Endpunkte nachgestellt, und was sie bedeuten.

Die kurze Antwort. „Form not found“ heißt: Die ID hinter /f/ im action Ihres Formulars stimmt nicht, oder das Formular wurde gelöscht. Kopieren Sie den Endpunkt erneut aus dem Formspree-Dashboard. „Form should POST“ heißt: Dem Formular fehlt method="POST", der Browser hat die Adresse einfach aufgerufen. „Invalid Referer header“ und „This form isn't set up yet“ kommen vom alten Adressformat formspree.io/ihre@email.

Formgong

Formspree „Form not found“ und andere Fehler: Lösungen
Formspree-Fehler erklärt: „Form not found“, „Form should POST“ und mehr

Alle Antworten auf einen Blick

Nachgestellt am 09.10.2026 mit einer erfundenen Formular-ID. Sendet ein normales HTML-Formular, antwortet Formspree mit einer HTML-Seite. Schickt Ihr Code Accept: application/json, kommt JSON zurück. Derselbe Fehler hat also zwei Texte.

Formspree-Fehler
Was Sie sehenWie gesendet wurdeUrsache
{"error":"Form not found","errors":[{"code":"FORM_NOT_FOUND","message":"Form not found"}]} (404)fetch mit JSONFalsche oder gelöschte Formular-ID
Seite: „Form not found. Please check the form hashid“HTML-FormularFalsche oder gelöschte Formular-ID
Seite: „Form should POST. Make sure your form has the method="POST" attribute“Link, oder Formular ohne methodDer Browser hat GET gesendet
{"error":"Please submit POST request."} (405)fetch mit GETDer Browser hat GET gesendet
{"error":"Invalid \"Referer\" header"} (400)Alte Adresse formspree.io/you@example.comDie Anfrage kam ohne Seitenadresse
{"error":"This form isn't set up yet"} (404)Alte Adresse formspree.io/you@example.comZu dieser Adresse gibt es in Formspree kein Formular

„Form not found“: Die Formular-ID stimmt nicht

Jedes Formspree-Formular hat einen Endpunkt wie https://formspree.io/f/xxxxxxxx. „Form not found“ bedeutet, dass der Teil hinter /f/ zu keinem Formular in irgendeinem Konto passt. Die häufigsten Gründe:

  • ein Tippfehler, oder der Platzhalter YOUR_FORM_ID aus einem Tutorial oder von einem KI-Baukasten steht noch im Code;
  • das Formular wurde gelöscht oder in einem anderen Formspree-Konto angelegt;
  • eine Umgebungsvariable enthält die ID lokal, ist auf der Live-Seite aber leer, und die URL endet auf /f/undefined.

Kopieren Sie den Endpunkt noch einmal von der Seite des Formulars im Formspree-Dashboard und setzen Sie die ganze URL in das action des Formulars ein.

HTML
<form action="https://formspree.io/f/YOUR_FORM_ID" method="POST">
  <label>Email <input type="email" name="email" required></label>
  <label>Message <textarea name="message" required></textarea></label>
  <button type="submit">Send</button>
</form>

„Form should POST“: method="POST" ergänzen

Ein HTML-Formular ohne method sendet GET: Der Browser hängt die Felder an die URL und öffnet sie. Formspree nimmt nur POST an und zeigt deshalb „Form should POST“. Dieselbe Seite erscheint, wenn Sie den Endpunkt in einem Browser-Tab öffnen. Ergänzen Sie method="POST" im Formular. Mit fetch setzen Sie method: "POST", sonst kommt {"error":"Please submit POST request."} zurück.

„Invalid Referer header“ und „This form isn't set up yet“

Ältere Anleitungen schicken das Formular an https://formspree.io/you@example.com. Unter dieser Adresse antwortete Formspree mit Invalid "Referer" header, wenn die Anfrage keine Seitenadresse mitbrachte, und mit This form isn't set up yet, wenn sie eine hatte. In beiden Fällen wird nichts zugestellt. Legen Sie in Formspree ein Formular an und verwenden Sie dessen /f/-Endpunkt statt einer E-Mail-Adresse.

Mit fetch erst die Antwort lesen, dann Erfolg melden

Von KI gebaute Formulare senden oft per fetch und zeigen „Danke!“, egal was zurückkommt. Bei einer falschen ID antwortet Formspree mit 404, und der Besucher sieht trotzdem die Dankesmeldung. In unserem Test von 105 KI-gebauten Websites meldeten 27 Formulare Erfolg und sendeten nichts (die Studie). Schicken Sie Accept: application/json mit, prüfen Sie response.ok und zeigen Sie sonst den error-Text von Formspree an.

JavaScript
const response = await fetch("https://formspree.io/f/YOUR_FORM_ID", {
  method: "POST",
  headers: { Accept: "application/json" },
  body: new FormData(form),
});
const data = await response.json();
if (!response.ok) throw new Error(data.error); // e.g. "Form not found"
showSuccess();

Wenn Sie ohnehin wechseln

Formgong funktioniert nach demselben Prinzip: Das Formular sendet an eine URL mit einem Schlüssel, und die Antwort lautet "success": true oder sagt, was nicht stimmt. Unterschiede gibt es dort, wo es für kleine Websites zählt: Telegram-Benachrichtigungen schon im kostenlosen Tarif, 1.000 Einsendungen pro Monat, Datenspeicherung in der EU und Seiten in 12 Sprachen. Siehe Formgong vs. Formspree und die HTML-Anleitung. Für den Wechsel ändern Sie das action und ergänzen <input type="hidden" name="access_key">. Unser Endpunkt ist https://formgong.com/submit.

Alles in einem Konto. Feedback erwünscht

Mit einem Formgong-Konto bekommen Sie neben dem Kontaktformular, das an E-Mail und Telegram sendet, auch kostenlose Website-Vorlagen (auf Englisch), in denen das Formular schon angeschlossen ist, einen KI-Hilfe-Chat, der Fragen Ihrer Besucher aus Ihren eigenen Seiten beantwortet, und Kundenbewertungen zum Sammeln und Anzeigen. Anfragen landen in einem Posteingang. Jedes dieser Produkte hat einen kostenlosen Tarif.

Fehlt Ihnen auf dieser Seite etwas, oder ist etwas unklar? Schreiben Sie uns an support@formgong.com. Wir lesen jede Nachricht und verbessern die Seite danach.

Häufig gestellte Fragen

Was bedeutet „Form not found“ bei Formspree?

Die ID hinter /f/ im action Ihres Formulars passt zu keinem Formular. Kopieren Sie den Endpunkt erneut aus dem Formspree-Dashboard und prüfen Sie, dass die URL auf der Live-Seite nicht auf /f/undefined endet.

Warum sagt Formspree „Form should POST“?

Dem Formular fehlt method="POST", oder Sie haben den Endpunkt als Link geöffnet. Ergänzen Sie method="POST" im form-Tag.

Funktioniert formspree.io/meine@email.de noch?

In unserem Test lieferte dieses Adressformat „Invalid Referer header“ oder „This form isn't set up yet“. Legen Sie ein Formular an und verwenden Sie seinen /f/-Endpunkt.

Woran erkenne ich, dass ein Formspree-Formular wirklich gesendet hat?

Senden Sie mit fetch den Header Accept: application/json und zeigen Sie Erfolg nur, wenn response.ok true ist. Schicken Sie danach eine Testnachricht und suchen Sie sie im Formspree-Dashboard.

Quellen und Dokumentation

Offizielle Quellen zu dieser Anleitung: Formspree: Help Center, MDN: das method-Attribut von form, MDN: Fetch API verwenden. HTML-Kontaktformular, wo die Daten gespeichert werden.

Bewerten Sie diesen Leitfaden

Ihre Bewertung

Wir lesen jede Bewertung. Ein Kommentar erscheint hier erst nach unserer Freigabe.

← Zurück zum Blog