Entwickler

Toolorah API

Führe unsere Tools über HTTPS aus: ein einheitlicher Endpunkt pro Tool, JSON als Ein- und Ausgabe. Verfügbar mit Pro (1.000 Aufrufe/Tag) und Elite (10.000 Aufrufe/Tag).

Schnellstart

Jedes Tool verwendet den unten angegebenen Endpunkt. Sende deinen API-Schlüssel als Bearer-Token und einen JSON-Body mit input und options. Hier ist derselbe Aufruf in drei Sprachen: POST /api/v1/<tool> { input, options }

curl -X POST https://toolorah.com/api/v1/base64 \
  -H "Authorization: Bearer nt_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{"input":"hello world","options":{"mode":"encode"}}'

Authentifizierung

Erstelle auf der Seite API-Schlüssel einen Schlüssel und sende ihn bei jeder Anfrage als Bearer-Token: API-Schlüssel abrufen

Authorization: Bearer nt_live_xxxxxxxxxxxxxxxx

Schlüssel besitzen die Berechtigungen des Tarifs, unter dem sie erstellt wurden. Behandle sie wie Passwörter: Bewahre sie serverseitig auf und widerrufe offengelegte Schlüssel auf der Schlüsselseite.

Anfragen und Antworten

Alle Endpunkte verwenden POST und akzeptieren einen JSON-Body mit zwei Feldern:

  • input — der zu verarbeitende Text (oder bei PDF-Tools eine Base64-Datei).
  • options — ein toolspezifisches Einstellungsobjekt. Optional; sinnvolle Standardwerte werden angewendet.

Ein erfolgreicher Aufruf gibt 200 mit dieser Struktur zurück:

{
  "tool": "base64",
  "result": "aGVsbG8gd29ybGQ=",
  "meta": { }
}

Fehler geben einen Nicht-2xx-Status mit einem einzelnen error-Feld zurück:

{ "error": "Invalid or revoked API key." }

Ratenlimits

  • Pro — 1.000 Aufrufe/Tag
  • Elite — 10.000 Aufrufe/Tag

Limits werden um 00:00 UTC zurückgesetzt. Jede Antwort enthält dein aktuelles Budget:

X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 942

Nach Überschreiten des Limits geben Aufrufe 429 mit einem Retry-After-Header zurück. Fehlerhafte Anfragen zählen nicht zum Kontingent.

Endpunkte

Text- und Hilfstools. Steuere das Verhalten über die aufgeführten options.

ToolEndpunktOptionen
base64 POST /api/v1/base64 { "mode": "encode" } mode: encode | decode
url-encoder POST /api/v1/url-encoder { "mode": "encode" } mode: encode | decode
json-formatter POST /api/v1/json-formatter { "mode": "format", "indent": 2 } mode: format | minify | validate
jwt-decoder POST /api/v1/jwt-decoder Dekodiert Header und Payload (ohne Signaturprüfung).
hash-generator POST /api/v1/hash-generator { "algo": "SHA-256" } algo: SHA-1 | SHA-256 | SHA-512
regex-tester POST /api/v1/regex-tester { "pattern": "\\d+", "flags": "g", "mode": "match" } mode: match | replace (+ replaceWith)
word-counter POST /api/v1/word-counter Gibt Wort-, Zeichen- und Satzzahlen zurück.
case-converter POST /api/v1/case-converter { "type": "title" } type: upper, lower, title, sentence, camel, pascal, snake, kebab, constant
text-cleaner POST /api/v1/text-cleaner { "trim": true, "collapseSpaces": true } Bereinigt Leerraum und Sonderzeichen.
remove-duplicate-lines POST /api/v1/remove-duplicate-lines { "caseSensitive": false } Entfernt doppelte Zeilen.
text-sorter POST /api/v1/text-sorter { "order": "asc", "numeric": false } Sortiert Zeilen.
text-reverser POST /api/v1/text-reverser { "mode": "characters" } mode: characters | words | lines
markdown-formatter POST /api/v1/markdown-formatter Konvertiert Markdown in HTML.
lorem-ipsum POST /api/v1/lorem-ipsum { "count": 3, "unit": "paragraphs" } unit: paragraphs | sentences | words (kein input nötig)
password-generator POST /api/v1/password-generator { "length": 16, "symbols": true } Kein input nötig.
random-number POST /api/v1/random-number { "min": 1, "max": 100, "count": 5 } Kein input nötig.
percentage-calculator POST /api/v1/percentage-calculator { "operation": "percentOf", "a": 20, "b": 150 } operation: percentOf | isWhatPercentOf | percentChange
uuid-generator POST /api/v1/uuid-generator { "count": 5, "upper": false, "noHyphens": false, "braces": false } Erzeugt v4-UUIDs (kein input nötig).
timestamp-converter POST /api/v1/timestamp-converter Akzeptiert einen Unix-Zeitstempel in Sekunden oder Millisekunden und gibt ISO-, UTC-, lokale und Epoch-Werte zurück.
css-minifier POST /api/v1/css-minifier Minifiziert CSS durch Entfernen von Kommentaren und Leerraum.
html-formatter POST /api/v1/html-formatter { "mode": "beautify", "indent": 2 } mode: beautify | minify (indent: number | "tab")
markdown-preview POST /api/v1/markdown-preview Konvertiert Markdown in HTML.

PDF-Endpunkte

PDF-Tools arbeiten mit Dateien. Anfragen enthalten Base64-Dateien im JSON und result enthält das Ausgabe-PDF als Base64. Die dekodierte Nutzlast sollte unter etwa 4 MB bleiben. WebP funktioniert nur im Browser; sende PNG oder JPG.

ToolEndpunktBody
pdf-merger POST /api/v1/pdf-merger { "files": ["<base64>", "<base64>", …] } 2–20 PDFs, in Array-Reihenfolge zusammengeführt.
pdf-splitter POST /api/v1/pdf-splitter { "file": "<base64>", "options": { "mode": "extract", "pages": "1-3, 5" } } mode: extract | remove. Seitenbereiche funktionieren wie im Web-Tool.
png-to-pdf POST /api/v1/png-to-pdf { "images": ["<base64>", …], "options": { "pageSize": "a4", "orientation": "auto", "margin": "small" } } 1–50 PNG/JPG-Bilder, eines pro Seite. pageSize: a4 | letter | fit; margin: none | small | large.
# Merge two PDFs (bash)
curl -X POST https://toolorah.com/api/v1/pdf-merger \
  -H "Authorization: Bearer nt_live_xxx" \
  -H "Content-Type: application/json" \
  -d "{\"files\":[\"$(base64 -w0 a.pdf)\",\"$(base64 -w0 b.pdf)\"]}" \
  | jq -r '.result' | base64 -d > merged.pdf

Fehler

  • 401 — fehlender oder ungültiger API-Schlüssel
  • 403 — dein Tarif enthält keinen API-Zugriff
  • 404 — unbekanntes Tool
  • 422 — ungültige Eingabe (zum Beispiel fehlerhaftes JSON oder Regex)
  • 429 — Tageslimit erreicht