Postkarten API: echte Karten aus deinem System

Du hast ein CRM voll mit Kunden, einen Shop voll mit Bestellungen oder einen Workflow, der heute schon E-Mails verschickt. Das nächste Stück Aufmerksamkeit liegt im Briefkasten – und dafür gibt es die EchtPost-API.

Account erstellen dauert eine Minute, den API-Key findest du direkt danach im Konto. Du löst aus, wir drucken, frankieren mit echter Briefmarke und geben die Karte zur Post. Den Briefkasten erreicht sie dann auf dem normalen Postweg.

Kostenlos starten – API-Key sofort im Konto

Auf einen Blick

Die EchtPost-API verschickt echte Postkarten aus CRM, Shop oder Workflow – per HTTP-Request, mit echter Briefmarke.

  • REST-API unter api.echtpost.de/v2
  • API-Key direkt im Konto
  • Eine Karte oder ein Mailing pro Request
  • Storno bis zum Druck, card.sent-Webhook nach Versand
  • Keine Mindestabnahme, kein Abo

Für Onboarding, Reaktivierung und Geburtstagsgrüße.

Postkarten sind nicht das Problem.
Die Logistik ist es.

Solange jemand morgens Adressen abtippt, Karten zur Post bringt und Briefmarken aufklebt, passiert genau das, was eh schon passiert: nichts. Die EchtPost-API nimmt dir diesen Teil ab – damit aus „Wir sollten mal“ ein „Ist raus“ wird.

Jan hat die Anbindung an unser CRM an einem Nachmittag erledigt. Eine halbe Stunde Doku lesen, ein erster API-Call mit der eigenen Adresse als Empfänger – zwei Tage später lag die Karte in seinem Briefkasten. Genauso soll das laufen, egal ob du selbst Code schreibst oder jemanden vorbeischickst, der das für dich tut.

Workflow-Illustration – aus deinem System per API zur Postkarte

Was du damit konkret machen kannst

Drei Beispiele, die wir in der Wildnis gesehen haben:

  • Onboarding bei einem SaaS-Anbieter: Neuer Trial-Account → drei Tage später eine handschriftlich wirkende Willkommens-Postkarte. Ausgelöst von einem Webhook aus dem Auth-System.
  • Reaktivierung im Online-Shop: Kunde hat sechs Monate nichts gekauft → automatisch eine Karte mit personalisiertem Rabatt-Code. Ausgelöst von einem Workflow, der täglich die Bestellhistorie scannt.
  • Geburtstage aus dem CRM: Stammkunde wird X Jahre alt → automatische Geburtstagskarte mit Foto und Unterschrift des Account Managers.

Du brauchst dafür keinen Druckerei-Vertrag, keine Vorratshaltung und kein Auge auf Briefmarken. Nur einen Auslöser in deinem System – den Rest übernehmen wir. Mehr dazu, wie das im Kundenbindungs-Mix aussieht, haben wir an anderer Stelle aufgeschrieben.

So funktioniert's – in drei Schritten

Kein Sales-Termin vorab, kein Freischaltungs-Ticket, kein Schluck Wasser zwischen Klick und Karte:

  1. Account anlegen, API-Key kopieren. Du registrierst dich kostenlos. Im Konto findest du sofort deinen API-Key – kein Freischaltungs-Ticket, kein Sales-Anruf vorab.
  2. Anbinden, wie es zu dir passt. Direkt per REST-Call gegen api.echtpost.de/v2, oder aus einem Workflow-Tool deiner Wahl. Du schickst uns Empfänger, Motiv und Text – mehr brauchen wir nicht.
  3. Wir drucken, frankieren und geben zur Post. Werktäglich produzieren wir die Karten und übergeben sie am Folgetag an die Deutsche Post. Echte Karten, echte Briefmarke. Den Rest macht die Post – innerhalb Deutschlands rechnest du danach mit den üblichen 1–3 Werktagen. Sobald die Karte raus ist, schicken wir dir ein card.sent-Event per Webhook – mehr Status-Geräusch brauchst du in der Regel nicht.

API-Key sofort verfügbar

Sobald dein Account angelegt ist, liegt der API-Key im Konto. Kein Anruf, kein Wartezimmer.

Bis zum Druck stornierbar

Solange eine Karte noch nicht im Druck ist, kannst du sie per API wieder zurückziehen. Falsche Adresse, falscher Tag – kein Problem.

Eine Karte oder hundert

Du übergibst Empfänger einzeln, als Liste oder als Gruppen-ID – ein API-Call, beliebig viele Karten. Adressen können bei uns gespeichert oder ad-hoc mitgeschickt werden.

Versand-Webhook

Sobald wir die Karte an die Post übergeben haben, schicken wir dir ein card.sent-Event mit Signatur. Kein Polling, kein Erraten, ob's raus ist.

Echte Briefmarke

Jede Karte bekommt eine echte Briefmarke – sie wird als persönliche Post wahrgenommen, nicht als Werbung.

Versand auf Termin

Pro Karte gibst du an, wann wir sie in Druck geben sollen. Praktisch für Geburtstags-Workflows: API-Call jetzt, Druck ein paar Tage vor dem Termin – Postlaufzeit eingerechnet.

Zwei Wege, eine Karte zu schicken

Wir haben uns für zwei klare API-Pfade entschieden, statt fünf halbgare anzubieten. Welcher zu dir passt, hängt davon ab, wer im Team Layout und Text pflegt.

Variante A: Template + Trigger

Du legst Motiv, Layout und Wunschtext einmalig als Template im EchtPost-Account an. Marketing pflegt das Template; aus dem Code feuerst du nur noch die template_id plus die Empfänger.

Wir nennen das den „Marketing-Mode“: Wer Text oder Bild ändern will, klickt sich das im Account zusammen – kein Deploy, kein Ticket an die IT.

bash
curl -X POST https://api.echtpost.de/v2/cards/from_template \
  -H "Authorization: Bearer $ECHTPOST_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "template_id": 12345,
    "recipients": [
      {
        "firstname": "Anna",
        "lastname": "Müller",
        "street": "Hauptstraße 1",
        "zipcode": "10115",
        "city": "Berlin",
        "country": "DE"
      }
    ],
    "deliver_at": "2026-06-21"
  }'

Variante B: Komplett aus dem Code

Du übergibst alles in einem Request: Motiv, Text und Empfänger. Maximale Flexibilität, ein Call pro Karte – ideal, wenn der Text ohnehin dynamisch aus deinem System kommt (Bestellnummer, Vorname, Lieblingsprodukt).

Optional schickst du den Text vorher gegen cards/preview_fit – dann weißt du, ob er auf die Karte passt, bevor du den Request zur Erstellung der Karte abschickst.

bash
curl -X POST https://api.echtpost.de/v2/cards \
  -H "Authorization: Bearer $ECHTPOST_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "motive_id": 789,
    "content": "Hallo Anna,\n\nschön, dass du dabei bist!\nViele Grüße aus Köln,\nMoritz",
    "recipients": [
      {
        "firstname": "Anna",
        "lastname": "Müller",
        "street": "Hauptstraße 1",
        "zipcode": "10115",
        "city": "Berlin",
        "country": "DE"
      }
    ]
  }'

Lieber per Workflow-Tool als im eigenen Repo?

Funktioniert genauso. Unsere REST-API ist eine ganz normale HTTPS-Schnittstelle – n8n, Zapier oder Make rufen sie über deren generische HTTP-Schritte auf. Ein Make-Szenario, das täglich Bestellungen ausliest und pro Treffer einen Request gegen api.echtpost.de/v2/cards/from_template schickt, ist in einer halben Stunde gebaut. Code im klassischen Sinn schreibst du dafür keinen, ein bisschen JSON und ein paar Variablen aber schon.

Du arbeitest mit Claude, Cursor oder ChatGPT? Dann kannst du unseren MCP-Server einbinden und Postkarten direkt aus dem Chat verschicken. Mehr dazu auf Postkarten MCP – die Seite kommt mit eigenem Brief, hier nehmen wir's nur als Teaser.

Bereit, Postkarten an dein System zu hängen?

Account anlegen dauert eine Minute, der API-Key liegt direkt im Konto. Wenn dir die Doku unterwegs Englisch wird – willkommen im Club, Marken-Englisch ist nun mal Standard – melde dich, dann gehen wir das gemeinsam durch.

API-Key holen

Häufige Fragen

Wie schnell komme ich an einen API-Key?

Sofort. Account anlegen dauert eine Minute, der Key liegt direkt im Konto-Bereich. Kein Freischaltungs-Termin, kein Sales-Anruf vorab. Wer MCP nutzen will, kann den Server an derselben Stelle aktivieren.

Wie viele Zeichen passen auf eine Postkarte?

Eine feste Zahl gibt es nicht – wir zählen keine Zeichen, wir messen Zeilen. Für den Text ist auf der Rückseite ein Feld von 72 × 91 mm reserviert. Was da reinpasst, hängt an drei Dingen: Schriftart, Schriftgröße und deiner Formatierung. Vor allem an den Absätzen: Eine Leerzeile kostet zwei Zeilen, und jeder Absatz endet mit einer angebrochenen. Derselbe Text mit vier Absätzen braucht deutlich mehr Platz als am Stück – und ohne Absätze willst du keine Postkarte verschicken, das liest niemand gern.

Zur Orientierung, gemessen mit deutschem Fließtext:

Schriftart Größe Zeilen Text am Stück Karte mit Anrede und zwei Absätzen
Architects Daughter 12 19 ca. 450 Zeichen ca. 290 Zeichen
Architects Daughter (Standard) 13 18 ca. 400 Zeichen ca. 240 Zeichen
Architects Daughter 14 17 ca. 320 Zeichen ca. 190 Zeichen
Reenie Beanie 15 11 ca. 390 Zeichen ca. 200 Zeichen
Reenie Beanie 16 11 ca. 340 Zeichen ca. 180 Zeichen
Reenie Beanie 17 10 ca. 280 Zeichen ca. 110 Zeichen
Special Elite 11 15 ca. 480 Zeichen ca. 310 Zeichen
Special Elite 12 14 ca. 400 Zeichen ca. 260 Zeichen
Special Elite 13 13 ca. 350 Zeichen ca. 230 Zeichen

„Am Stück“ ist ein Block ohne eigene Absätze, nur mit automatischem Umbruch. Die letzte Spalte ist die realistische: Anrede, Leerzeile, zwei Absätze, Leerzeile, Grußformel. Wenn du einem LLM ein Zeichen-Budget vorgeben willst, nimm diese Spalte – bei den Standardeinstellungen also rund 240 Zeichen.

Ein Detail, das leicht untergeht: {anrede} wird erst beim Druck durch die echte Anrede des Empfängers ersetzt. „Hallo Max“ sind neun Zeichen, „Sehr geehrte Frau Müller-Lüdenscheidt“ 37. Bei einem Mailing an viele Empfänger entscheidet die längste Anrede im Request darüber, ob der Text passt.

Wie prüfe ich vorab, ob mein Text passt?

Mit POST /v2/cards/preview_fit. Du schickst Text und Schrifteinstellungen hin und bekommst zurück, ob es passt (fits), wie viele Zeilen belegt sind (lines_used von max_lines) und, falls nicht, ab welcher Zeile es überläuft plus eine suggested_font_size, mit der es passen würde. Beginnt dein Text mit {anrede}, gib zusätzlich ein sample_greeting mit – sonst rechnen wir mit einer langen Beispielanrede.

Kommt der Text aus einem LLM, ist das der Weg: generieren, gegen preview_fit halten, bei fits: false einmal kürzen lassen. Das Modell braucht dafür kein Zeichen-Gefühl, es braucht nur die Antwort des Endpunkts.

Falls du die Prüfung überspringst, prüft POST /v2/cards selbst: Wir messen den Text gegen jeden Empfänger im Request – mit dessen echter Anrede – und antworten mit 422 und dem Slug text-does-not-fit, wenn er bei einem davon nicht passt. Dazu die betroffene contact_id und dieselbe suggested_font_size. Eine abgeschnittene Karte kann dir auf diesem Weg also nicht passieren.

Bei cards/from_template messen wir nicht nach: Dort hast du Motiv, Text und Umbrüche im Editor schon gesehen. Genau deshalb ist die Vorlage der ruhigere Weg, wenn der Text gleich bleibt und nur die Anrede wechselt. Wenn du darin {anrede} nutzt, lass im Editor Platz für eine lange Anrede.

Gibt es Limits für die anderen Textfelder?

Zwei feste. Das content_ps – das P.S. – wird als einzelne Fußzeile gedruckt und ist deshalb auf 40 Zeichen begrenzt; darüber kommt ein 422. Legst du einen QR-Code auf die Karte, hat der Begleittext (qr_code_message) maximal 70 Zeichen. Emojis nehmen wir in keinem Textfeld an – die Kartenschriften enthalten sie nicht, im Druck bliebe eine Lücke.

Brauche ich Programmierkenntnisse, um EchtPost zu nutzen?

Nicht zwingend. Über generische Workflow-Tools wie n8n, Zapier oder Make kannst du unsere API in ein paar Klicks anbinden. Wer mit Claude oder ChatGPT arbeitet, hängt unseren MCP-Server dran. Wer es lieber selbst baut, findet eine vollständige REST-API.

Funktioniert das mit meinem CRM (HubSpot, Salesforce, Pipedrive …)?

Ja – entweder über die genannten Workflow-Tools, die alle gängigen CRMs anbinden, oder direkt über die API. Falls ein Datenfeld bei dir anders heißt als bei uns: melde dich, wir gehen das Feld-Mapping gemeinsam durch.

Was ist MCP – und brauche ich das?

MCP (Model Context Protocol) ist ein offener Standard, mit dem AI-Tools wie Claude oder ChatGPT auf externe Systeme zugreifen. Unser MCP-Server macht die EchtPost-API direkt im Chat nutzbar: „Schick Anna eine Geburtstagskarte“ – und es passiert. Wer keine KI-Agenten einsetzt, braucht MCP nicht.

Auf welcher Sprache ist die Doku?

Die API-Doku ist Englisch. Dieses Marketing, der Support und der Vertrag sind Deutsch. Wenn dir das Englisch im Weg steht, melde dich – wir helfen weiter.

Was kostet eine Karte?

Stückpreis je nach Volumen und Format, ab kleinen einstelligen Euro-Beträgen. Keine Setup-Gebühr, keine Mindestabnahme. Die genaue Staffel findest du auf der Preisseite.

Wie schnell ist eine Karte beim Empfänger?

Werktäglich produzieren wir die Karten, am Folgetag übergeben wir sie an die Post. Innerhalb Deutschlands rechnest du danach mit den üblichen 1–3 Werktagen – mehr versprechen können wir nicht, weil ab Versand die Post übernimmt.

Gibt es einen Sandbox-Modus zum Testen?

Ja. Beim Anlegen eines API-Schlüssels wählst du zwischen Live und Sandbox; der Sandbox-Schlüssel trägt das Präfix ep_test_. Alles, was du damit erzeugst – Karten, Kontakte, Gruppen – liegt getrennt von deinen Live-Daten: nichts wird abgerechnet, nichts geht in den Druck. Ein Live-Schlüssel sieht die Testdaten nicht und umgekehrt. Wenn du fertig bist, löschst du die Sandbox-Daten des Kontos mit einem Klick in den Einstellungen.

Der Modus steckt fest im Präfix und lässt sich später nicht umstellen – für den Produktivbetrieb legst du also einen zweiten, echten Schlüssel an. Wenn du zusätzlich das Verhalten bei leerem Guthaben testen willst, kannst du es in der Sandbox gezielt auslösen; wie das geht, steht in der API-Doku.

Preise: Was kostet der Versand?

Einzelne Postkarte

Innerhalb Deutschlands:
2,90 Euro 3,45 Euro inkl. MwSt.
Rest der Welt:
3,20 Euro 3,81 Euro inkl. MwSt.

Monatliche Rückvergütung für Geschäftskunden: ab 10 Karten 0,50 Euro pro Karte, ab 50 Karten 0,65 Euro pro Karte. So funktioniert die Rückvergütung

Postkarten-Mailing

ab 100 Postkarten:
2,41 Euro / Stück 2,87 Euro / Stück inkl. MwSt.
ab 500 Postkarten:
1,80 Euro / Stück 2,14 Euro / Stück inkl. MwSt.

Eine Postkarte an viele Empfänger gleichzeitig. Je mehr Karten, desto günstiger der Stückpreis. Alle Mailing-Rabatte einsehen

Alle Preise sind inklusive einer echten, aufgeklebten Briefmarke.

Postkarten-Use-Case – SaaS Customer Lifecycle

Postkarten as a Service

Mehr SaaS-Use-Cases mit Postkarten – von Onboarding bis Reaktivierung – findest du auf unserer Customer-Lifecycle-Seite.

Marketing Automation mit Postkarten

Marketing Automation

Wie sich Postkarten in deine bestehende Automation-Strecke einfügen – ohne dass dein Stack umgebaut werden muss.

Geburtstagsgrüße automatisch versenden

Geburtstagsgrüße

Den Klassiker – Geburtstagspost per CRM-Trigger – kann die API genauso oder du nutzt unsere fertige Geburtstags-Funktion.

Das sagen unsere Kunden über EchtPost

Einfach anrufen

Phone Icon

Du erreichst uns
in unserem Kölner Büro
unter 0221 - 177 383 93.

Schreib uns

Mail Icon

Nutz unser Kontaktformular
um uns eine Nachricht zu hinterlassen.

Rückruf vereinbaren

Comments Icon

Wähl einen dir
passenden Termin und wir
melden uns telefonisch.