Endpoint
GET https://qr4free.de/api/qr?type=TYP¶meter=wert
Das Ergebnis ist direkt ein PNG-Bild — nutzbar im <img src="...">-Tag oder per Download.
Mit ?format=json gibt die API stattdessen JSON zurück.
⚠️ Rate Limiting: max. 10 Anfragen pro Minute und 20 Anfragen pro Stunde pro IP-Adresse.
Bei Überschreitung: HTTP 429 mit JSON-Fehlermeldung und
Retry-After-Header.
URL-Builder
Typ:
link — URL| Parameter | Pflicht | Beschreibung |
|---|---|---|
url | Pflicht | Domain/Pfad ohne https:// — wird automatisch ergänzt |
Typ:
email — E-Mail-Adresse| Parameter | Pflicht | Beschreibung |
|---|---|---|
email | Pflicht | E-Mail-Adresse |
Typ:
text — Freitext| Parameter | Pflicht | Beschreibung |
|---|---|---|
data | Pflicht | Beliebiger Text |
Typ:
wifi — WLAN-Netzwerk| Parameter | Pflicht | Beschreibung |
|---|---|---|
ssid | Pflicht | Name des WLAN-Netzwerks |
password | Optional | WLAN-Passwort |
encryption | Optional | WPA (Standard), WEP oder nopass |
hidden | Optional | false (Standard) oder true für versteckte Netzwerke |
Typ:
vcard — Kontakt| Parameter | Pflicht | Beschreibung |
|---|---|---|
firstname | Optional* | Vorname |
lastname | Optional* | Nachname |
org | Optional | Organisation / Firma |
tel_cell | Optional | Mobilnummer |
tel_work | Optional | Arbeitsnummer |
email | Optional | E-Mail-Adresse |
street | Optional | Straße und Hausnummer |
zip | Optional | Postleitzahl |
city | Optional | Stadt |
url | Optional | Webseite |
note | Optional | Notiz |
* Mindestens ein Feld muss ausgefüllt sein.
Typ:
payment — Zahlung (GiroCode / EPC)/api/qr?type=payment&payee=Max+Mustermann&iban=DE89370400440532013000&amount=12.50&purpose=Rechnung+42
| Parameter | Pflicht | Beschreibung |
|---|---|---|
payee | Pflicht | Empfängername (max. 70 Zeichen) |
iban | Pflicht | IBAN (Leerzeichen werden entfernt) |
bic | Optional | BIC / SWIFT-Code |
amount | Optional | Betrag in EUR (z. B. 12.50) |
purpose | Optional | Verwendungszweck (max. 140 Zeichen) |
Typ:
event — Termin (iCal)/api/qr?type=event&summary=Treffen&date_start=2025-06-15&time_start=14:00&location=Berlin
| Parameter | Pflicht | Beschreibung |
|---|---|---|
summary | Pflicht | Titel des Termins (max. 70 Zeichen) |
date_start | Pflicht | Startdatum im Format YYYY-MM-DD |
time_start | Optional | Startzeit im Format HH:MM |
date_end | Optional | Enddatum im Format YYYY-MM-DD |
time_end | Optional | Endzeit im Format HH:MM |
location | Optional | Ort (max. 70 Zeichen) |
description | Optional | Beschreibung (max. 200 Zeichen) |
JSON-Antwort
Mit &format=json gibt die API JSON statt PNG zurück:
{
"success": true,
"type": "link",
"data": "https://example.com",
"url": "/temp/qr4freeABC123.png"
}
Fehlermeldungen werden immer als JSON zurückgegeben (auch im PNG-Modus):
{
"success": false,
"error": "Die URL darf nicht leer sein.",
"code": 400
}
Hinweise
- Generierte QR-Codes werden 3 Tage gespeichert, danach automatisch gelöscht.
- Gleiche Parameter liefern immer dasselbe Bild (Cache-basiert).
- CORS ist aktiviert — die API ist direkt aus dem Browser nutzbar.
- Kein API-Key, kein Konto, kein Tracking.
- Bitte nicht für automatisierte Massenoperationen nutzen — das Rate Limit greift.