REST-API
Kostenlose API zur Passwortgenerierung. Keine Anmeldung erforderlich. Rate limit: 60 req / min / IP
Endpunkt
Query-Parameter
| Parameter | Typ | Standard | Beschreibung |
|---|---|---|---|
| type | string | classic | Passworttyp: classic | passphrase | pattern | pin | pronounceable | token |
| preset | string | — | Benanntes Rezept für ein Framework-Secret, etwa laravel-app-key. Bestimmt das Ergebnis allein; alle anderen Parameter werden ignoriert. Vorlagen-Presets wie wordpress-salts liefern in password einen mehrzeiligen Block. |
| pattern | string | — | Strukturvorlage, erforderlich bei type=pattern. Max. 256 Zeichen, max. 4096 Zeichen Ausgabe. |
| length | integer | 16 | Zeichenlänge (1–512). Für classic, pin, pronounceable und token. |
| wordCount | integer | 4 | Wortanzahl (2–20). Für passphrase. |
| separator | string | - | Worttrenner. Für passphrase. |
| wordlist | string | en | Vollständige Diceware-Wortliste: de | en. Für passphrase. |
| includeUpper | boolean | true | Großbuchstaben (A–Z) einbeziehen. Nur classic. |
| includeLower | boolean | true | Kleinbuchstaben (a–z) einbeziehen. Nur classic. |
| includeDigits | boolean | true | Ziffern (0–9) einbeziehen. Nur classic. |
| includeSymbols | boolean | false | Sonderzeichen (!@#…) einbeziehen. Nur classic. |
| excludeAmbiguous | boolean | false | Mehrdeutige Zeichen (0, O, l, I, 1) ausschließen. Nur classic. |
| symbolSet | string | !@#… | Eigene Sonderzeichen (max. 50). Nur classic. |
| tokenFormat | string | base62 | Token-Format: base62 | base58 | hex | nanoid. Nur token. |
| minEntropy | number | 0 | Mindestentropie in Bit. Bei Unterschreitung: ENTROPY_TOO_LOW. |
Muster-Syntax
Ein Muster beschreibt die Struktur eines Werts. Jedes Zeichen, das weder Klasse noch Sonderzeichen ist, gilt als Literal; „\d" ergibt ein wörtliches „d".
| l u d s a | Klein-, Großbuchstaben, Ziffern, Sonderzeichen, alphanumerisch |
| h H | Hex klein / groß |
| c v | Konsonanten / Vokale |
| w | ein Wort aus der Diceware-Liste |
| [A-Z0-9] | expliziter Zeichenvorrat |
| {4} {8,12} | Wiederholung, fest oder gleichverteilter Bereich |
| ( ) ( )~ | Gruppe, optional gemischt |
Ein Bereich wie a-z ist nur innerhalb einer Klasse zulässig (Ziffern, a-z oder A-Z). Für einen wörtlichen Bindestrich „\-" schreiben.
Antwort
Alle Antworten sind application/json. Passwörter werden serverseitig weder gespeichert noch protokolliert.
{
"password": "aX3!mQ9kRv2nLp8w",
"entropy": 104.8,
"strength": "very-strong",
"charsetSize": 90,
"crackTime": "longer than the age of the universe"
}Beispiele
Klassisches Passwort (Standard)
Starkes klassisches Passwort
Passphrase (5 Wörter)
6-stellige PIN
API-Token (hex, 32 Zeichen)
Laravel APP_KEY per Preset
WordPress-Salts für die wp-config.php
Lizenzschlüssel per Muster
Nutzungsgrenze
Pro IP sind 60 Anfragen pro Minute erlaubt. Die folgenden Header werden bei jeder GET-Antwort mitgeliefert:
Bei überschrittener Grenze lautet die Antwort 429 RATE_LIMITED .
Stabile Fehlercodes
Fehler verwenden einen sprachneutralen JSON-Umschlag: { "error": { "code": "…" } }. Verlasse dich nicht auf Antworttexte.
INVALID_QUERYEin Query-Parameter ist ungültig oder außerhalb seines erlaubten Bereichs.INVALID_OPTIONSDie gewählten Optionen können kein Passwort erzeugen.ENTROPY_TOO_LOWDie angeforderte Mindestentropie kann nicht erreicht werden.INVALID_PATTERNDas Muster ist fehlerhaft, fehlt oder überschreitet eine Grenze.UNKNOWN_PRESETDas angeforderte Preset existiert nicht.RATE_LIMITEDDie Rate-Grenze pro IP wurde überschritten.METHOD_NOT_ALLOWEDUnterstützt werden nur GET und OPTIONS.INTERNAL_ERROREine erforderliche Serverressource ist nicht verfügbar.