Was du damit bauen kannst
Einen Code mit einer Anfrage erstellen
Sende das Ziel und deine eigene Referenz. Die Antwort enthält den Kurzlink, der in den Code gehört, und mit include=svg auch das fertige Bild.
curl -X POST "https://qrmaker.ai/api/v1/qrcodes?include=svg" \
-H "Authorization: Bearer $QR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"target_url": "https://shop.example.com/product/AB12CD",
"external_id": "AB12CD",
"name": "Product AB12CD",
"folder": "spring-campaign",
"style": { "dot_style": "fluid", "finder_shape": "smooth" }
}'
{
"success": true,
"data": {
"id": "hzu23X",
"external_id": "AB12CD",
"target_url": "https://shop.example.com/product/AB12CD",
"short_link": "https://qrmk.cc/hzu23X",
"status": "active",
"scan_count": 0,
"image_version": "a1b2c3d4e5f60718",
"svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 1000 1000\" …>"
}
}
Kodiere den short_link, niemals deine eigene URL: Erst er macht den Code änderbar und zählbar. Sendest du dieselbe external_id noch einmal, erhältst du denselben Code. Eine Wiederholung kann also kein Duplikat erzeugen.
Endpunkte
POST /v1/qrcodes- Einen Code erstellen (mit
?include=svgkommt das Bild gleich mit) POST /v1/qrcodes/batch- Bis zu 100 Codes in einer Anfrage erstellen
GET /v1/qrcodes- Codes auflisten, mit inkrementellem Abgleich über
updated_since PATCH /v1/qrcodes/{id}- Ziel, Name, Ordner, Status oder Stil ändern
GET /v1/qrcodes/{id}/svg- Der Code als SVG, mit ETag-Caching
GET /v1/qrcodes/{id}/analytics- Scans eines Codes in einem Zeitraum
GET /v1/analytics/summary- Viele Codes in einem Aufruf, gruppiert nach Code, Ordner oder Tag
GET /v1/scans- Neue Scan-Ereignisse seit dem zuletzt verarbeiteten
GET /v1/scans/export- Scan-Ereignisse als CSV-Datei
GET /v1/usage- Nutzung und Kontingent dieses Monats
Lauffähige Beispiele
Jede Datei ist ein vollständiges Programm. Token setzen und ausführen.
- Shell:
quickstart.sh— Code erstellen, SVG speichern, Ziel ändern, Scans auslesen - Node.js:
node-quickstart.mjs— derselbe Ablauf mit Wiederholungen und Konfliktbehandlung, ohne Pakete - Python:
python-bulk-from-csv.py— eine CSV mit Links in Codes umwandeln, 100 pro Anfrage, ein SVG pro Zeile - Google Sheets:
google-sheets.gs— Codes aus Tabellenzeilen erstellen und die Kurzlinks zurückschreiben - Interaktive API-Dokumentation
- OpenAPI-3-Spezifikation
- Postman-Collection
- Regeldatei für KI-Coding-Assistenten
Limits und Preis
- Tarif
- Business: 29 $ pro Monat oder 279 $ pro Jahr
- Kostenloser Test
- 14 Tage im Monatstarif für Neukunden. Eine Karte ist erforderlich.
- Monatskontingent
- 50.000 erfolgreiche Anfragen. Fehlgeschlagene zählen nicht.
- Ratenlimit
- 120 Anfragen pro Minute pro Konto
- Wo es läuft
- Server zu Server. Aufrufe aus dem Browser werden per CORS blockiert.
- Bildformat
- Nur SVG. Wandle es bei Bedarf in deinem eigenen System in PNG um.
Details, die dir später Ärger ersparen
- Wiederholungssicheres Erstellen. Eine
external_idist pro Konto eindeutig. Dieselbe ID mit demselben Ziel liefert den vorhandenen Code mit Status 200. - Ein POST verschiebt nie einen gedruckten Code. Dieselbe ID mit einem anderen Ziel liefert 409. Ein Ziel zu ändern ist immer ein ausdrückliches PATCH, das dieselben Sicherheitsprüfungen durchläuft wie die Website.
- Stabile Fehlercodes. Jeder Fehler hat einen maschinenlesbaren
code. Die englische Meldung ist für Menschen gedacht und kann sich ändern. - Bild nach Version cachen.
image_versionändert sich nur, wenn sich das Bild ändert, und ist zugleich das ETag des SVG-Endpunkts. Ein neues Ziel ändert sie nie. - Nur-Lese-Token. Gib Reporting-Systemen ein Token, das nur GET darf. Wird es bekannt, lässt sich damit nichts erstellen, ändern oder löschen.
Häufige Fragen
Gibt es ein kostenloses Kontingent für die API?
Nein. Die API gehört zum Business-Tarif. Neukunden können den Monatstarif 14 Tage kostenlos testen. Eine Karte ist erforderlich, und ohne Kündigung verlängert er sich für 29 $ pro Monat.
Bekomme ich PNG-Bilder?
Die API liefert SVG, das in jeder Größe scharf gedruckt wird und in einem img-Tag funktioniert. Brauchst du PNG, wandle das SVG in deinem eigenen System um. Die Integrationsanleitung zeigt das für Node, Python und den Browser.
Kann ich die API aus einer Webseite aufrufen?
Nein. Cross-Origin-Anfragen aus dem Browser werden blockiert, damit das Token auf deinem Server bleibt. Ruf die API aus deinem Backend auf und gib das Ergebnis an die Seite weiter.
Gibt es Webhooks?
Nein. Stattdessen liefert GET /v1/scans neue Scan-Ereignisse der Reihe nach. Frag alle 30 bis 60 Sekunden ab und speichere den zurückgegebenen Cursor. Leere Antworten zählen nicht zum Kontingent.
Was passiert mit meinen Codes, wenn ich kündige?
Sie leiten weiterhin weiter. Der API-Zugang endet mit dem Tarif, zusammen mit den anderen Business-Funktionen.