Toolorah
Entwickler

Toolorah API

API-Zugang ist für neue Abonnements derzeit nicht verfügbar.

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://www.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.

Batch-Anfragen

Verarbeite viele Eingaben in einer einzigen Anfrage, statt pro Element einen HTTP-Aufruf zu schleifen. Sende inputs als Array von Strings; options gilt für jedes Element. Verfügbar in Pro (25 Eingaben pro Anfrage) und Elite (250).

curl -X POST https://www.toolorah.com/api/v1/base64/batch   -H "Authorization: Bearer nt_live_..."   -H "Content-Type: application/json"   -d '{"inputs":["hello","world"],"options":{"mode":"encode"}}'
{
  "tool": "base64",
  "count": 2,
  "succeeded": 2,
  "failed": 0,
  "results": [
    { "index": 0, "result": "aGVsbG8=" },
    { "index": 1, "result": "d29ybGQ=" }
  ]
}

Jede Eingabe kostet einen Aufruf deines Tageskontingents — Batches sparen Roundtrips, kein Kontingent. Ein Batch, der dein Tageslimit überschreiten würde, wird komplett abgelehnt und nichts wird verarbeitet, du erhältst also nie ein halbfertiges Ergebnis.

Die Ergebnisse kommen in derselben Reihenfolge wie die Eingaben zurück, jeweils mit ihrem index. Eine fehlerhafte Eingabe verwirft die übrigen nicht: Für diesen Index wird ein error-Feld zurückgegeben, während alle anderen Ergebnisse gelingen. Prüfe succeeded und failed in der Antwort.

TarifEingaben pro Anfrage
Free—
Pro25
Elite250

Hilfs-Endpunkte

Zwei GET-Endpunkte, um herauszufinden, was du aufrufen kannst und wie viel Kontingent dir bleibt. Beide benötigen denselben Bearer-Schlüssel.

EndpunktBody
GET /api/v1/tools Listet jedes aufrufbare Tool mit Endpunkt, ob es Text oder eine Datei annimmt, und dem Batch-Limit deines Tarifs. Nutze das, statt eine Liste fest zu verdrahten, die veraltet, sobald wir Tools hinzufügen.
GET /api/v1/usage Gibt deinen Tarif, die heutige Nutzung und verbleibende Aufrufe, dein Batch-Limit und den Zeitpunkt des Kontingent-Resets zurück. Zählt NICHT gegen dein Kontingent, du kannst also gefahrlos abfragen.
{
  "plan": "pro",
  "daily": { "limit": 1000, "used": 42, "remaining": 958 },
  "batch": { "maxInputsPerRequest": 25 },
  "resetsAt": "2026-08-24T00:00:00.000Z"
}

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
bmi-calculator POST /api/v1/bmi-calculator { "weight": 70, "height": 175 }
emi-calculator POST /api/v1/emi-calculator { "principal": 300000, "rate": 6.5, "months": 360 }
sip-calculator POST /api/v1/sip-calculator { "amount": 10000, "rate": 12, "years": 10, "mode": "sip", "stepUp": 0 }
gst-calculator POST /api/v1/gst-calculator { "amount": 1000, "rate": 18, "mode": "add", "supply": "intra" }
income-tax-calculator POST /api/v1/income-tax-calculator { "income": 1500000, "regime": "new", "age": "below60", "deductions": 0 }
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://www.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