Offene QR-API
Erzeuge QR-Codes programmatisch — ohne API-Key, ohne Anmeldung, ohne Tracking. CORS ist offen, du kannst sie also direkt aus dem Browser nutzen.
Endpoint
GET https://qr.leaster.it/api/qr POST https://qr.leaster.it/api/qr (JSON-Body)
Parameter
| Name | Default | Beschreibung |
|---|---|---|
data | — | Pflicht. Zu codierender Inhalt (URL, Text, vCard …). |
format | png | png oder svg. |
fg | 000000 | Vordergrundfarbe als Hex (mit/ohne #). |
bg | FFFFFF | Hintergrundfarbe als Hex, oder transparent. |
ecc | M | Fehlerkorrektur: L, M, Q, H. |
scale | 20 | Pixel pro Modul (1–50). Nur für PNG relevant. |
Beispiele
# PNG, direkt im Browser/als <img src>
https://qr.leaster.it/api/qr?data=https://leaster.it
# Teal-SVG mit transparentem Hintergrund
https://qr.leaster.it/api/qr?data=Hallo&format=svg&fg=34C1C1&bg=transparent
# curl -> Datei
curl "https://qr.leaster.it/api/qr?data=mailto:hi@leaster.it&ecc=Q" -o qr.png
# POST mit JSON
curl -X POST https://qr.leaster.it/api/qr \
-H "Content-Type: application/json" \
-d '{"data":"https://leaster.it","format":"svg","fg":"0F1820"}'
Antwort
Erfolg: die rohen Bildbytes mit Content-Type: image/png bzw.
image/svg+xml. Fehler: 400 mit JSON { "error": "…" }.
Es werden keinerlei Anfragen oder Inhalte protokolliert.
Fair Use / Rate Limit
Zum Schutz vor Bots und Missbrauch ist die API auf 60 Anfragen
pro Minute und IP begrenzt. Bei Überschreitung kommt 429 Too Many
Requests mit einem Retry-After-Header — einfach kurz warten.
Für höhere Kontingente meld dich einfach.